當溫度大于28°時,電機風扇以80%的占空比工作且進行高溫預警蜂鳴器以0.5s為周期鳴叫,紅色led以0.3s為周期交替閃爍,溫度小于25°時風扇停轉,綠色led常亮。其他溫度以風扇以占空比50%工作,指示燈全滅。
單片機源程序如下:
- /************************************************************************************
- // 功能描述 : DHT11模塊測試程序
- // 測試條件 : STM32F103C8T6 晶振8M 系統時鐘72M
- 接線
- DHT11 ---------------------------------STM32F103C8T6
- VCC------------------------------------5V
- GND------------------------------------GND
- OUT------------------------------------PA0
- LED
- LED1------------------------------------PA0
- LED2------------------------------------PA0
- 蜂鳴器
- *************************************************************************************/
- #include "stm32f10x.h" // Device header
- #include "OLED.h"
- #include "Delay.h"
- #include "Motor.h"
- #include "Key.h"
- #include "DHT11.h"
- #include "LED.h"
- uint8_t Speed;
- uint8_t KeyNum;
- char R_DatBuf[6]={0};
- char T_DatBuf[6]={0};
- unsigned int th;
- unsigned int rh;
- void dat_dis()//溫濕度數據處理轉為字符串
- {
- R_DatBuf[0]='R';
- R_DatBuf[1]=':';
- R_DatBuf[2]=RH/10+0x30;
- R_DatBuf[3]=RH%10+0x30;
- R_DatBuf[4]='%';
- R_DatBuf[5]='\0';
- T_DatBuf[0]='T';
- T_DatBuf[1]=':';
- T_DatBuf[2]=TH/10+0x30;
- T_DatBuf[3]=TH%10+0x30;
- T_DatBuf[4]='C';
- T_DatBuf[5]='\0';
-
- }
- int main(void)
- {
- OLED_Init();
- Motor_Init();
- Key_Init();
- LED_Init();
- Buzzer_Init();
- OLED_ShowChinese(1,1,4);
- OLED_ShowChinese(1,2,5);
- OLED_ShowChinese(1,3,6);
- OLED_ShowString(1, 7, ":");
- OLED_ShowChinese(3,1,0);
- OLED_ShowChinese(3,2,1);
- OLED_ShowChinese(4,1,3);
- OLED_ShowChinese(4,2,1);
-
- while (1)
- {
- receive();//接收數據
- dat_dis();
- OLED_ShowString(3,5,T_DatBuf);
- OLED_ShowString(4,5,R_DatBuf);
- Delay_ms(10);
- if(TH>28)
- {
- Speed = 80;
- LED1_Turn();
- jiao();
- LED2_OFF();
- }
- if(TH<25)
- {
- Speed = 0;
- LED1_OFF();
- LED2_ON();
- }
- if(TH>=25&TH<=28)
- {
- Speed = 50;
- LED1_OFF();
- LED2_OFF();
- }
-
- KeyNum = Key_GetNum();
- if (KeyNum == 1)
- {
- Speed += 20;
- if (Speed > 100)
- {
- Speed = 0;
- }
- }
- Motor_SetSpeed(Speed);
- OLED_ShowSignedNum(1, 8, Speed, 3);
- }
- }
復制代碼
原理圖:無
仿真:無
Keil代碼:
程序.7z
(188.39 KB, 下載次數: 34)
2023-7-29 17:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|