日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于stm32的智能婴儿床(毕业设计)

發布時間:2024/1/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于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); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級 LED_Init(); //delay_ms(8000);uart_init(9600);//串口初始化 波特率為9600 OLED_Init(); //初始化OLED OLED_Clear(); //清屏KEY_Init(); //按鍵初始化TIM3_PWM_Init(899,0);//定時器3PWM初始化LED_Init();//io口初始化usmart_dev.init(SystemCoreClock/1000000); //初始化USMARTRTC_Init();//時鐘初始化 ADC_Configuration1();//adc配置TIM_SetCompare2(TIM3,500);//占空比設置OLED_ShowCHinese(0,0,1);//oled顯示文字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(32,6,22);//OLED_ShowCHinese(60,6,23);OLED_ShowCHinese(108,4,26);while(DS18B20_Init())//等待ds18b20初始化完成{delay_ms(200);delay_ms(200);delay_ms(200);}// while(DHT11_Init()) // {// delay_ms(200); // delay_ms(200); // }while(1){ if(t%10==0) //每100ms讀取一次{ temperature=DS18B20_Get_Temp(); OLED_ShowNum(70,0,temperature/10,2,16); //顯示溫度//USART_SendData(USART1,ccc);printf("%d",temperature);//把溫度通過串口發出if(temperature/10<23)//溫度低于23攝氏度 打開加熱器GPIO_ResetBits(GPIOB,GPIO_Pin_7);if(temperature/10>=30)//溫度高于等于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)//RTC實時時間顯示{a=calendar.sec; // LCD_ShowNum(60,130,calendar.w_year,4,16);OLED_ShowNum(0,6,calendar.w_year,4,16);OLED_ShowString(30,6,".",16); OLED_ShowString(30,6,".",16); // LCD_ShowNum(100,130,calendar.w_month,2,16);OLED_ShowNum(33,6,calendar.w_month,1,16);OLED_ShowString(50,6,".",16); // LCD_ShowNum(123,130,calendar.w_date,2,16); // OLED_ShowString(72,6,".",16); OLED_ShowNum(53,6,calendar.w_date,2,16); // LCD_ShowNum(60,162,calendar.hour,2,16);OLED_ShowString(70,6,".",16); OLED_ShowNum(73,6,calendar.hour,2,16);// LCD_ShowNum(84,162,calendar.min,2,16);OLED_ShowNum(93,6,calendar.min,2,16);OLED_ShowString(88,6,".",16); // LCD_ShowNum(108,162,calendar.sec,2,16);OLED_ShowString(108,6,".",16); OLED_ShowNum(113,6,calendar.sec,2,16); // LED0=!LED0;} delay_ms(10); AD_value = ADC_ConvertedValue;AD_value = (AD_value/4096)*3.3;//算法得到電壓值 // printf("The current Sound AD value = %4.2fV \r\n", AD_value);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的智能婴儿床(毕业设计)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。