目錄
一、項目成品展示
二、功能介紹
三、硬件組成
四、PCB展示
五、程序設計
六、資料分享
資料獲取?查看主頁介紹:兆龍電子單片機設計
一、項目成品展示
項目成品圖片展示:
嗶哩嗶哩視頻鏈接:
STM32單片機智能農業大棚控制系統-插件款
二、功能介紹
三、硬件組成
四、PCB展示
五、程序設計
int main(void)
{ delay_init(); //延時函數初始化 NVIC_Configuration();delay_ms(500); //上電瞬間加入一定延時在初始化DS18B20_GPIO_Init();Adc_Init(); //ADC初始化KEY_GPIO_Init(); //按鍵初始化LCD_Init(); //屏幕初始化DS18B20_Init();LCD_Write_String(0,0," loading... ");LCD_Write_String(0,0,"Moisture:00% ZD ");//顯示字符串LCD_Write_String(0,1,"Gx:00% Temp:00 C");LCD_Write_Char(14,1,0xdf);TIM3_Init(99,719); //定時器初始化,定時1ms//Tout = ((arr+1)*(psc+1))/Tclk ; //Tclk:定時器輸入頻率(單位MHZ)//Tout:定時器溢出時間(單位us)while(1){ keyscan();if(setn == 0){if(shuaxin == 1){shuaxin = 0;displayLight(); //顯示光照displaySoilMoisture(); //顯示土壤濕度displayTemperature(); //顯示溫度if(mode==0) {if(light<=setLightValue)RELAY1=1;else RELAY1=0; //光線暗開燈if(soilMoisture<=setSoilMoisture)RELAY2=1;else RELAY2=0; //濕度低開水泵if(temperature>=setTempValue)RELAY3=1;else RELAY3=0; //溫度高開風扇if(light<=setLightValue||temperature>=setTempValue||soilMoisture<=setSoilMoisture)BEEP=1;else BEEP=0; //蜂鳴器提醒}else{BEEP=0;}}}delay_ms(20);}
}void TIM3_IRQHandler(void) //TIM3中斷,50毫秒一次中斷
{static u16 timeCount1 = 0;if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //檢查指定的TIM中斷發生與否:TIM 中斷源 {TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除TIMx的中斷待處理位:TIM 中斷源 timeCount1++;if(timeCount1 >= 300) //300ms{timeCount1 = 0;shanshuo = !shanshuo;shuaxin = 1;}}
}