項(xiàng)目成品圖片:
01
—
項(xiàng)目簡(jiǎn)介
1.功能詳解
基于STM32的智能家居(機(jī)智云)系統(tǒng)。
功能如下:
采集溫濕度:系統(tǒng)通過(guò)DHT11模塊采集溫濕度
煙霧監(jiān)測(cè):通過(guò)MQ-2模塊采集環(huán)境中煙霧濃度
煤氣監(jiān)測(cè):通過(guò)MQ-7一氧化碳模塊采集環(huán)境中一氧化碳濃度
空氣質(zhì)量監(jiān)測(cè):通過(guò)MQ-7空氣質(zhì)量傳感器采集環(huán)境空氣質(zhì)量情況
大氣壓強(qiáng)采集:通過(guò)BMP280采集環(huán)境氣壓大小
窗簾控制:通過(guò)步進(jìn)電機(jī)模擬窗簾開(kāi)關(guān)
LED燈控制:控制LED燈
OLED顯示:顯示溫濕度、煙霧濃度、一氧化碳濃度、空氣質(zhì)量、大氣壓強(qiáng)等信息
蜂鳴器報(bào)警:危險(xiǎn)情況下本地蜂鳴器觸發(fā)報(bào)警
自動(dòng)模式:設(shè)置自動(dòng)模式,系統(tǒng)根據(jù)光強(qiáng)大小控制窗簾和LED燈的開(kāi)閉
手動(dòng)模式:設(shè)置手動(dòng)模式,APP手動(dòng)控制窗簾和LED燈的開(kāi)關(guān)
WIFI通信:使用ESP8266等進(jìn)行WiFi遠(yuǎn)程通信
APP功能:使用機(jī)智云APP,包括功能有控制并顯示LED燈和窗簾的狀態(tài)、顯示當(dāng)前溫濕度、煙霧濃度、一氧化碳濃度和空氣質(zhì)量等信息。
2.主要器件
STM32F103C8T6最小系統(tǒng)板
DHT11溫濕度傳感器
OLED顯示屏(7針SPI協(xié)議)
WiFi模塊(ESP8266-01s)
MQ-2煙霧傳感器
MQ-7一氧化碳傳感器
MQ-135空氣質(zhì)量傳感器
MQ-135空氣質(zhì)量傳感器
BMP280氣壓傳感器
28BYJ51步進(jìn)電機(jī)
蜂鳴器
LED燈
02
—
原理圖設(shè)計(jì)
03
—
1.PCB圖
2.PCB板焊接實(shí)物圖
04
—
程序設(shè)計(jì)
int main(void){ u8 t=0; int key_value; //按鍵值 uart_init(115200); //串口初始化為115200 delay_init(); //延時(shí)函數(shù)初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí) Adc1_Channe_Init(); //ADC通道初始化 KEY_Init(); //按鍵引腳初始化 bmp280Init(); //while(DHT11_Init()); LED_Init(); //初始化與LED連接的硬件接口 MOTOR_Init(); OLED_Init(); //OLED初始化 OLED_Clear(); //OLED清屏 Gizwits_Init(); gizwitsSetMode(WIFI_AIRLINK_MODE);//Air-link模式接入 delay_ms(500);while(1) { Get_Data(0); if(gz_value<=A_gz_value&&mode==0) { LED0=0; curtain_flag=0; }else if(gz_value>A_gz_value&&mode==0){ LED0=1; curtain_flag=1; } if(last_curtain_flag!=curtain_flag&&mode==0) { BUJING_Cotrol(curtain_flag,3,270); last_curtain_flag = curtain_flag; } if(last_curtain_flag!=currentDataPoint.valueCurtain&&mode==1) { BUJING_Cotrol(currentDataPoint.valueCurtain,3,270); curtain_flag = currentDataPoint.valueCurtain; last_curtain_flag = currentDataPoint.valueCurtain; } if(mode==1) { LED0=!currentDataPoint.valueLED; }if(DHT11_Temp>=A_DHT11_Temp||DHT11_Hum<=A_DHT11_Hum||Pre>=A_pre||m135_value<=A_m135_value||m2_value>=A_m2_value||m7_value>=A_m7_value) { BEEP=!BEEP; }else BEEP = 0; key_value = KEY_Scan(0); if(key_value==2) { display_contrl++; } if(display_contrl%2==0&&t>=10) { OLED_ShowCHinese(0,0,0); OLED_ShowCHinese(16,0,2); sprintf((char*)buff,":%2dC",DHT11_Temp); OLED_ShowString(32,0,buff,16); //顯示溫度 OLED_ShowCHinese(64,0,1); OLED_ShowCHinese(82,0,2); sprintf((char*)buff,":%2d%%",DHT11_Hum); OLED_ShowString(96,0,buff,16);//顯示濕度 OLED_ShowCHinese(0,2,3); OLED_ShowCHinese(16,2,4); sprintf((char*)buff,":%2dhpa ",Pre); OLED_ShowString(32,2,buff,16);//顯示氣壓 OLED_ShowCHinese(0,4,5); OLED_ShowCHinese(16,4,6); OLED_ShowCHinese(32,4,7); OLED_ShowCHinese(48,4,8); sprintf((char*)buff,":%4dppm",gz_value); OLED_ShowString(64,4,buff,16);//顯示光照強(qiáng)度 OLED_ShowCHinese(0,6,9); OLED_ShowCHinese(16,6,10); OLED_ShowCHinese(32,6,11); OLED_ShowCHinese(48,6,12); sprintf((char*)buff,":%4dppm",m135_value); OLED_ShowString(64,6,buff,16);//顯示空氣質(zhì)量 }else if(display_contrl%2==1&&t>=10) { OLED_ShowCHinese(0,0,13); OLED_ShowCHinese(16,0,14); OLED_ShowCHinese(32,0,15); OLED_ShowCHinese(48,0,16); sprintf((char*)buff,":%4dppm",m2_value); OLED_ShowString(64,0,buff,16);//顯示M2數(shù)據(jù) OLED_ShowCHinese(0,2,17); OLED_ShowCHinese(16,2,18); OLED_ShowCHinese(32,2,19); OLED_ShowCHinese(48,2,20); sprintf((char*)buff,":%4dppm",m7_value); OLED_ShowString(64,2,buff,16);//顯示M7數(shù)據(jù) OLED_ShowCHinese(0,4,5); OLED_ShowCHinese(16,4,6); OLED_ShowCHinese(32,4,7); OLED_ShowCHinese(48,4,8); sprintf((char*)buff,":%4dppm",gz_value); OLED_ShowString(64,4,buff,16);//顯示光照強(qiáng)度 OLED_ShowCHinese(0,6,9); OLED_ShowCHinese(16,6,10); OLED_ShowCHinese(32,6,11); OLED_ShowCHinese(48,6,12); sprintf((char*)buff,":%4dppm",m135_value); OLED_ShowString(64,6,buff,16);//顯示M135數(shù)據(jù) } userHandle(); //用戶數(shù)據(jù)采集 WIFI_Contection(key_value);//WiFi連接控制 gizwitsHandle((dataPoint_t *)¤tDataPoint);//機(jī)智云協(xié)議處理 Canshu_Change(key_value); t++; delay_ms(100); }}
05
—
實(shí)驗(yàn)效果
-
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354288 -
智能家居
+關(guān)注
關(guān)注
1926文章
9471瀏覽量
183864 -
機(jī)智云
+關(guān)注
關(guān)注
2文章
573瀏覽量
26361
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論