一.系统概述
本次设计的系统是以 STM32 单片机作为核心控制器,可以控制温度传感器、烟雾传感器、可燃气体传感器完成对相关数据的采集,可以 对烟雾、天然气的阈值进行设定,当监测到烟雾、可燃气体浓度超过阈值后控制蜂呜器报警,灯亮。
二.仿真概述
系统内通过DS18B20进行温度检测,使用ADC将检测到烟雾和燃气模拟信号进行转换,OLED显示屏显示检测到的温度、烟雾浓度、燃气浓度数据。
2. 调节烟雾模拟输入量的滑动变阻器,当检测到烟雾浓度数据大于阈值就会控制蜂鸣器报警。
3. 调节燃气模拟输入量的滑动变阻器,当检测到燃气浓度数据大于阈值就会控制蜂鸣器报警。
4. 调节DS18B20的红色按钮可以调节温度值,并且在OLED上的数据也会实时改变。
三.程序设计
/* >ZW * >2023.12.7 * */ #include#include #include #include #include #include #include #include "PCF8591.h" #include "OLED.h" int main(void) { u8 t,s,g,Tmax = 50,Smax=50,Gmax=50; OLED_Init(); Beep_Init();//PA13 Ds18b20_Init();//PA12 PCF8591_Init(); OLED_ShowString(1,1,"temp:"); OLED_ShowString(2,1,"Smo :"); OLED_ShowString(3,1,"gas :"); while(1) { t =Ds18b20_Temp() ; s =PCF8591_ADC_Input(0x90,2); g =PCF8591_ADC_Input(0x90,4); OLED_ShowNum(1,6,t,2); OLED_ShowNum(2,6,s,2); OLED_ShowNum(3,6,g,2); OLED_ShowNum(2,9,Smax,2); OLED_ShowNum(3,9,Gmax,2); if(g>Gmax||s>Smax) { Beep_1; } else if(t
全部0条评论
快来发表一下你的评论吧 !