基于单片机PM2.5空气质量温湿度检测仪设计

功能
1.产品包括室外机、室内机;

2.室外机接一个温度传感器NTC 10K3435,湿度传感器HR202和PM2.5传感器,用于采集温湿度和PM2.5,外接一个太阳能板用于提供电源,外接一个RF433发送模块用于传输数据;

3.室内机同样接一个温度传感器NTC 10K3435,湿度传感器HR202和PM2.5传感器,用于采集温湿度和PM2.5,外接一个RF433接收模块用于接收数据;

4.室外机每隔一段时间自动唤醒采集温湿度和PM2.5,并发送到室内机;

5.室内机接收到数据后显示在LCD屏上,并做相应报警;

6.室内机可显示时间,可调节时间

硬件实现
1.数据通信采用RF433发送接收模块,功耗小,价格低,单片机自己解码,无需解码芯片(可用网上2块多的模块代替);

左为发送模块,右为接收模块

可用改型号代替,无需买解码芯片

2.自定义传输协议,帧头+数据(温湿度+PM2.5),当室外机检测到有帧头时,开始接收并处理数据。

3.采用廉价的温湿度传感器,通过算法计算温度和湿度(温度传感器NTC 10K3435,湿度传感器HR202)

4.采用云彤科技的激光PM2.5传感器(波特率为9600),比一般的红外的较为准确。

软件功能(一个项目学会多个技能,一通百通)
1.室外机STM8L052自动唤醒,自动休眠,待机功耗极低;

2.STM8L052搭配RF433发送模块,当做发射机,可传输80-150米;

3.stm8s105自动解码RF433模块,节省空间和降低成本;

4.串口接收PM2.5数据,可通过按键更改时间

5.便宜好用的温湿度算法

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

#define Open_time  20 //开机时间

unsigned char send_group[RF_SEND_LENGTH] = {0xff,0x32,0x30,0x00,0x00};
//unsigned char send_group[RF_SEND_LENGTH] = {0x00};//测试数据
unsigned int ADCdata=0;
u16 charge_AD=540;
extern u16 Pm25;//PM25的实际值
bool RTC_Flag=FALSE;
bool Charge=FALSE;//充电标志位
unsigned int dust_value,t=0,h=0,RH_tem=0,RH_tem2=0;
extern  unsigned char uart_rxbuf[32];
extern  unsigned char j25,flag25,RH_flag,Time_1s,Time_1min_FLAG;
u16  HR_Volt,NTC_Volt,Low_AD;
u8 open_once=0;//开机一次,每次一分钟
extern unsigned int const NTCTAB[];
extern unsigned int const RHTAB[];
extern unsigned  char const  RHTAB_B[];
extern u16 Time_1min;
u8 AD_flag;
u16 PM25_average[11]={0};//求平均值
u8 PM25_cnt=0;
u16 Pm_avarage=0;//每十个数的平均值
extern u8 Auto_ShutDown;//自动关机计时
bool Powerflag=FALSE;//电源按下标志
u8 shut_down_flag=0;

bool DC_Power=FALSE;//

 

 
posted @ 2021-01-15 14:14  roadroad  阅读(308)  评论(0编辑  收藏  举报
电设屋
上千套电子毕设课设方案