近日學習STM32串口通信,手上又有現成的PM2.5傳感器和藍牙HC-06模塊,于是做了一個小型的空氣檢測并通過藍牙實時往手機發送的小系統,并且通過L298N電機驅動可以控制一個電機進行空氣清新,因為電機還沒到,而且空氣凈化的過濾器也沒有,所以我這個暫時只是一個簡單的實現空氣凈化的模擬機,具體的空氣過濾環節還請讀者自行設計。
這是我這次使用的傳感器圖片,在某寶上可以買到,100大洋左右
IMG_20191130_195057.jpg (4.64 MB, 下載次數: 54)
下載附件
2019-11-30 19:52 上傳
,
這是程序運行的結果,天津這兩天空氣質量太差了,學校寢室室內濃度都100+
1575114848236.jpg (5.81 MB, 下載次數: 53)
下載附件
2019-11-30 19:57 上傳
Screenshot_2019-11-30-18-07-11-498_com.shenyaocn..png (301.92 KB, 下載次數: 63)
下載附件
2019-11-30 19:57 上傳
程序的話,我在這兒就不粘出來了,下載了那個包都能看見,接線也在包里,四個按鍵的作用都有說明,我在這兒就不一一解釋了,那個傳感器可以測PM2.5和PM10,一秒發送十個字節,其中四個字節是有效的數據,如果購買傳感器的話,都會有的,具體實現的功能很簡單,就控制電機轉的三個擋位,還有一個實時發送數據并自動控制電機的擋位,如果想要PM10數據的讀者可自行設計一下。
剛入門單片機沒多久,大神勿噴。
接線
電機PWM輸出→PF9
PM2.5傳感器TX→PA10
藍牙HC06RX→PA9
探索者四個按鍵功能
up→根據PM2.5數據自動控制電機并實時上傳數據到藍牙串口
2→電機全速運行
1→電機中速運行
0→電機慢速運行
單片機源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "beep.h"
- #include "key.h"
- #include "lcd.h"
- #include "pwm.h"
- #include "exti.h"
- u8 MOTOR;
- int main(void)
- { u8 key; //保存鍵值
- u8 x=0;
- u8 t;
- u8 T1;
- u8 T2;
- float temp;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
- delay_init(168); //延時初始化
- uart_init(9600); //串口初始化波特率為115200
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //初始化與按鍵連接的硬件接口
- LCD_Init(); //初始化LCD FSMC接口
- EXTIX_Init(); //初始化外部中斷輸入
- TIM14_PWM_Init(2000-1,840-1);
- POINT_COLOR=RED; //畫筆顏色:紅色
- while(1)
- {
- POINT_COLOR=RED;
- LCD_ShowString(30,40,210,24,24,"The Air Purifier");
- LCD_ShowString(30,70,200,16,16,"PRPOTOTYPE TEST");
- LCD_ShowString(30,90,200,16,16,"TJUT");
- LCD_ShowString(30,180,200,16,16,"DATA:");
- LCD_ShowString(78,210,200,16,16,"PM2.5:000.0 ug/m^3"); //先在固定位置顯示小數點
- T1=USART_RX_BUF[1];
- T2=USART_RX_BUF[2];
- temp=(float)(T1+(T2*256))/10;
- if(MOTOR)
- {
- printf("\r\nPM2.5:");
- printf("%5.1f\r\n",temp);
- if (temp>200)
- TIM_SetCompare1(TIM14,1999);
- else
- TIM_SetCompare1 (TIM14,temp*10);
- }
- T2=temp;
- LCD_ShowxNum(126,210,T2,3,16,0);
- temp-=T2;
- temp*=10;
- LCD_ShowxNum(158,210,temp,1,16,0);
- LED0=!LED0;
- delay_ms(1000);
-
- }
- }
復制代碼
所有資料51hei提供下載:
空氣凈化器(程序).7z
(336.7 KB, 下載次數: 66)
2019-12-1 03:09 上傳
點擊文件名下載附件
主程序和功能介紹 下載積分: 黑幣 -5
|