項目成品圖片:
01
—
項目簡介
1.功能詳解
基于STM32的智慧農業系統。
功能如下:
溫濕度采集:使用DHT11溫濕度傳感器采集環境溫濕度
土壤濕度采集:通過土壤濕度模塊采集土壤濕度
光照強度采集:通過BH1750模塊采集環境光照強度
二氧化碳濃度采集:通過CCS811模塊采集環境二氧化碳濃度
風扇控制:可自動模式下根據環境溫度觸發或手動模式下按鍵開閉
水泵控制:可自動模式下根據土壤濕度觸發或手動模式下按鍵開閉
LED照明燈控制:自動模式下根據環境光強觸發或手動模式下按鍵開閉
蜂鳴器報警:二氧化碳濃度超標時蜂鳴器報警
TFT顯示屏顯示:顯示環境溫濕度、土壤濕度、光照強度、二氧化碳濃度和工作模式等信息。
工作模式選擇:按鍵選擇工作模式為自動、手動或者云端
OneNET云端:通過舊版OneNET網頁平臺查看設備上報的實時數據。
2.材料清單
STM32F103C8T6最小系統板
1.8寸TFT顯示屏
DHT11溫濕度傳感器
BH1750光照傳感器
土壤濕度傳感器
CCS811二氧化碳傳感器
WiFi模塊(ESP8266-01s)
大功率LED照明燈模塊
5V風扇模塊
5V水泵模塊
繼電器
蜂鳴器
02
—
原理圖設計
03
—
PCB硬件設計
1.PCB圖
2.PCB板及元器件圖
04
—
程序設計
int main(void){ unsigned char *dataPtr = 0; delay_init(); //延時函數初始化 SWITCH_Init(); //初始化與LED連接的硬件接口 水泵 風扇 Usart2_Init(115200); //wifi模塊串口 uart_init(115200); //串口1 I2C_GPIO_Config(); //iic初始化 ccs811,模塊初始化 檢測CO2 CS_EN(); //對ccs811 配置 delay_ms(100); ON_CS(); delay_ms(100); Single_ReadI2C(CCS811_Add,0x20,Information,1); //Read CCS's information ,ID,0x81 Single_ReadI2C(CCS811_Add,0x23,&Information[1],2); //FW_Boot_Version Single_ReadI2C(CCS811_Add,0x24,&Information[3],2); //FW_App_Version Single_ReadI2C(CCS811_Add,0x00,&Status,1); if(Status&0x10) Single_MWriteI2C_byte(CCS811_Add,0xF4,&temp,0); //Used to transition the CCS811 state from boot to application mode, a write with no data is required. Single_ReadI2C(CCS811_Add,0x00,&Status,1); Single_ReadI2C(CCS811_Add,0x01,&MeasureMode,1); Single_WriteI2C_byte(CCS811_Add,0x01,0x10); //Write Measure Mode Register,sensor measurement every second,no interrupt OFF_CS(); //二氧化碳模塊初始化 KEY_Init();//按鍵初始化 Lcd_Init();//st7735 LCD屏幕初始化 LCD_LED_SET;//通過IO控制背光亮 Lcd_Clear(WHITE); //清屏 Adc_Init(); //ADc初始化,采集土壤濕度模塊的模擬量 init_data(); //初始閾值參數設置 while(DHT11_Init()) //DHT11初始化 溫濕度 { delay_ms(200); } //TIM4_Int_Init(999,7199); bh1750_iic_init();///光照模塊初始化 Gui_DrawFont_GBK16(10,60,BLACK,WHITE,"正在連接ONENET"); ESP8266_Init(); //初始化ESP8266 wifi while(OneNet_DevLink()) //接入OneNET delay_ms(500); Onenet_succes=1; ///表示接入成功 Lcd_Clear(WHITE);//清屏 Shuju();//獲取環境數據 Gui_DrawFont_GBK16(10,144,BLACK,WHITE,"WIFI:"); if(Onenet_succes) Gui_DrawFont_GBK16(60,144,BLACK,WHITE,"已連接:"); else Gui_DrawFont_GBK16(60,144,BLACK,WHITE,"未連接:"); while(1) { key=KEY_Scan(0);//檢測按鍵 threshold_value(); //界面和按鍵處理 counts++;//累加,用于onenet數據上傳計時 control_set();//控制處理 if(counts>20) //counts>90 向云平臺發送數據 { OneNet_SendData(); //發送數據 ESP8266_Clear(); //清理esp8266 wifi模塊數據緩存 counts=0; Shuju(); //數據采集 } dataPtr = ESP8266_GetIPD(0);//檢測onenet是否下發數據 if(dataPtr != NULL) OneNet_RevPro(dataPtr);//處理下發數據 delay_ms(2);//延遲 } }
05
—
實驗效果
-
STM32
+關注
關注
2289文章
11011瀏覽量
362341 -
智能大棚
+關注
關注
0文章
14瀏覽量
7756 -
智慧農業
+關注
關注
4文章
811瀏覽量
20310
發布評論請先 登錄
【OK210申請】基于Mesh無線網絡的智慧農業大棚系統
【STM32F103試用申請】基于嵌入式系統的現代農業蔬菜大棚監測系統
智慧農業是否會成為未來的主流方式
STM32項目實戰:基于STM32F4的智能大棚溫控系統(LVGL),附項目教程/源碼

評論