生活随笔
收集整理的這篇文章主要介紹了
基于stm32的智能婴儿床(毕业设计)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
整體圖(最后有視頻演示)
設備功能說明
檢測床內溫度,檢測嬰兒狀態,配置RTC實時時間,電機PWM按鍵三檔調速,自動開關加熱器,發送溫度到手機終端,把所有要呈現的狀態通過OLED屏幕顯示
元件清單
主控 stm32f103c8t6
導線 若干根
OLED顯示屏 一個
VCC-3.3/5V GND-GND SCL-單片機SCL腳 SDA-單片機SDA腳
輕觸按鍵 三個
對腳連接 一腳接GND 一腳接VCC
一路5v繼電器模塊 一個
上面口VCC-5V GND-GND PIN-單片機信號腳
下面口選擇常開/常閉連接負載
L298N電機驅動板模塊 一個
接法如下 由于不用配置正反轉可以四個口隨便接 只是用來驅動電機的作用(需要與單片機共地)
MAX聲音傳感模塊 一個
VCC接5VGND-GND OUT接信號腳
Jdy-311藍牙模塊
接法 VCC GND接5V的源 TXD接單片機RXD RXD接單片機TXD
DS18b20傳感器 一個
從左到右 GND OUT VCC 連接單片機
4.7K貼片電阻 一個
四針排組兩個
三針排組一個
四針彎形彎型排組一個(小器件不配圖)
程序部分 (附帶注釋)
main.c函數
int main(void){ u8 ccc
=99;u8 a
;u8 key
=0;u16 led0pwmval
=0;u8 dir
=1; u8 t
=0; short temperature
; u8 humidity
;delay_init(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2
); uart_init(9600);OLED_Init(); OLED_Clear(); KEY_Init(); TIM3_PWM_Init(899,0);LED_Init();usmart_dev
.init(SystemCoreClock
/1000000); RTC_Init();ADC_Configuration1();TIM_SetCompare2(TIM3
,500);OLED_ShowCHinese(0,0,1);OLED_ShowCHinese(18,0,15);OLED_ShowCHinese(36,0,16);OLED_ShowCHinese(54,0,17);OLED_ShowCHinese(110,0,6);OLED_ShowCHinese(0,2,11);OLED_ShowCHinese(18,2,12);OLED_ShowCHinese(36,2,13);OLED_ShowCHinese(54,2,14);OLED_ShowCHinese(0,4,18);OLED_ShowCHinese(18,4,19);OLED_ShowCHinese(36,4,20);OLED_ShowCHinese(54,4,21);OLED_ShowCHinese(108,4,26);while(DS18B20_Init()){delay_ms(200);delay_ms(200);delay_ms(200);}
while(1){ if(t
%10==0) { temperature
=DS18B20_Get_Temp(); OLED_ShowNum(70,0,temperature
/10,2,16); printf("%d",temperature
);if(temperature
/10<23)GPIO_ResetBits(GPIOB
,GPIO_Pin_7
);if(temperature
/10>=30)GPIO_SetBits(GPIOB
,GPIO_Pin_7
); OLED_ShowString(85,0,".",16); OLED_ShowNum(90,0,temperature
%10,2,16);} delay_ms(10);t
++;if(t
==20){t
=0;}if(a
!=calendar
.sec
){a
=calendar
.sec
;
OLED_ShowNum(0,6,calendar
.w_year
,4,16);OLED_ShowString(30,6,".",16); OLED_ShowString(30,6,".",16);
OLED_ShowNum(33,6,calendar
.w_month
,1,16);OLED_ShowString(50,6,".",16);
OLED_ShowNum(53,6,calendar
.w_date
,2,16);
OLED_ShowString(70,6,".",16); OLED_ShowNum(73,6,calendar
.hour
,2,16);OLED_ShowNum(93,6,calendar
.min
,2,16);OLED_ShowString(88,6,".",16);
OLED_ShowString(108,6,".",16); OLED_ShowNum(113,6,calendar
.sec
,2,16);
} delay_ms(10); AD_value
= ADC_ConvertedValue
;AD_value
= (AD_value
/4096)*3.3;
if(AD_value
>=2){OLED_ShowCHinese(90,2,31);OLED_ShowCHinese(108,2,32);delay_ms(200);}if(AD_value
<2){OLED_ShowCHinese(90,2,29); OLED_ShowCHinese(108,2,30);}
所有代碼微信公眾號免費分享
下面進行視頻展示
基于stm32f103的智能嬰兒車設備
總結
以上是生活随笔為你收集整理的基于stm32的智能婴儿床(毕业设计)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。