在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32項目分享:智能臺燈系統

機智云 ? 2024-11-29 01:02 ? 次閱讀

項目成品圖片:

7edd1428-adaa-11ef-8084-92fbcf53809c.jpg

01

項目簡介

1.功能詳解


基于STM32智能臺燈系統。

功能如下:


亮度控制:按鍵控制照明燈的亮度(5擋亮度)

計時功能:按鍵啟動計時,累計臺燈運行時間(作息時間)

OLED顯示:顯示當前模式、環境光強、超聲波距離

控制模式:通過按鍵控制照明燈為自動模式/手動模式

藍牙APP控制:通過藍牙APP控制照明燈模式選取、亮度調節、計時功能

智能調光:自動模式下根據外界光線變化,LED照明燈自動調節亮度

人體姿態提醒:超聲波距離近于5cm觸發蜂鳴器報警,提醒糾正人體姿態

2.材料清單

STM32F103C8T6最小系統板

OLED顯示屏(4針I2C協議)

光敏傳感器

大功率LED照明燈模塊

HC-SR04超聲波傳感器

HC-SR501人體紅外傳感器

藍牙模塊(BT04-A)

蜂鳴器

02


原理圖設計

7eff81ca-adaa-11ef-8084-92fbcf53809c.png

03


PCB硬件設計


1.PCB圖

7f1def3e-adaa-11ef-8084-92fbcf53809c.jpg

7f41e97a-adaa-11ef-8084-92fbcf53809c.jpg

2.PCB板及元器件7f5e0024-adaa-11ef-8084-92fbcf53809c.jpg

04


程序設計

int main(void){ unsigned char p[16]=" "; u8 datatemp[SIZE]; unsigned int STEP=0; //步數臨時替換值 _Bool Heart_OK = 0; //讀取到正確心率標志位 unsigned char Heart = 0; //心率值 short temperature = 0;

//溫度值 STEPS_DIS = 1; delay_init(); //延時函數初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);

//設置中斷優先級分組為組3:2位搶占優先級,2位響應優先級 LED_Init(); //初始化與控制設備連接的硬件接口 OLED_Init(); //OLED初始化 delay_ms(50); OLED_CLS();

//清屏 OLED_ShowCN(32,2,0); //萬事可期(歡迎使用) OLED_ShowCN(32+16,2,1); OLED_ShowCN(32+32,2,2); OLED_ShowCN(32+32+16,2,3); ADXL345_Init(); while(ADXL345_Init()) //3D加速度傳感器初始化

{ OLED_ShowStr(0,0,"ADXL345 Error",2); delay_ms(200); OLED_ShowStr(0,0," ",2);

delay_ms(200); } while(DS18B20_Init()) //DS18B20初始化 { OLED_ShowStr(0,0,"DS18B20 Error",2);

delay_ms(200); OLED_ShowStr(0,0," ",2); delay_ms(200); } delay_ms(100); while(DS18B20_Get_Temp()==850); //DS18B20剛上電時候 讀取的值是850 這里等待 直到不是850才開始下一步 delay_ms(5000); OLED_CLS(); //清屏 Adc_Init(); TIM3_Int_Init(1999,71);

//定時2ms中斷 uart_init(9600); //串口一初始化為9600 TIM2_Int_Init(199,7199); //10Khz的計數頻率,計數到500為20ms KEY_Init();

//IO初始化 EXTIX_Init(); //外部中斷初始化 OLED_CLS(); //清屏 Dis_Init(); STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,SIZE); //flash中讀出步數 STEPS = (datatemp[0]-0x30)*10000+(datatemp[1]-0x30)*1000+(datatemp[2]-0x30)*100+(datatemp[3]-0x30)*10+(datatemp[4]-0x30);

//讀到值轉換為步數 RTC_Init(); // RTC_Set(2019,8,5,20,43,55);

//設置時間 while(1) { if(Timer_Flag==1)

//500ms到 讀取數據 { Timer_Flag = 0; //清除標志 TIM_ITConfig(TIM2,TIM_IT_Update,DISABLE ); //使能指定的TIM3中斷,允許更新中斷 TIM_ITConfig(TIM3,TIM_IT_Update,DISABLE );

//使能指定的TIM3中斷,允許更新中斷 temperature=DS18B20_Get_Temp(); //讀取溫度 TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); //使能指定的TIM3中斷,允許更新中斷 TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE );

//使能指定的TIM3中斷,允許更新中斷 TIM_Cmd(TIM2, ENABLE); //使能TIMx if (QS == true) //讀取到了心率信號 { QS = false; //清除標志 等待下一次讀取 if(BPM>HEART_MIN_ERROR&&BPM

//讀取到的值再正常心率區間 40-160內 { Heart_OK = 1; //標志位置一 Heart = BPM; //心率傳遞給Heart } else { Heart_OK = 0; //標志位清零 Heart = 0; //設置為0 } } }

if(ADXL345_FLAG==1) //20ms到? { ADXL345_FLAG = 0; //清除標志位 step_counter(); }// printf("三軸加速器: %d \r\n",ADXL345_FLAG);

//串口發送出去 delay_ms(20); if(STEP!=STEPS) //步數發生改變 存儲一次 { STEP = STEPS; TEXT_Buffer[0]=(u16)STEPS/10000+0x30; TEXT_Buffer[1]=(u16)STEPS%10000/1000+0x30; TEXT_Buffer[2]=(u16)STEPS%10000%1000/100+0x30; TEXT_Buffer[3]=(u16)STEPS%10000%1000%100/10+0x30; TEXT_Buffer[4]=(u16)STEPS%10000%1000%100%10+0x30;

STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE); } if(calendar.hour==0&&calendar.min==0&&(calendar.sec==0||calendar.sec==1||calendar.sec==2)) //凌晨0000 清除步數 { STEPS = 0; TEXT_Buffer[0]=(u16)STEPS/10000+0x30; TEXT_Buffer[1]=(u16)STEPS%10000/1000+0x30; TEXT_Buffer[2]=(u16)STEPS%10000%1000/100+0x30; TEXT_Buffer[3]=(u16)STEPS%10000%1000%100/10+0x30; TEXT_Buffer[4]=(u16)STEPS%10000%1000%100%10+0x30; STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE); delay_ms(500); } Key_set();

//時間設置 if(KEY0==0) //KEY0切換顯示按鍵 { while(KEY0==0); //等待松開 OLED_CLS();

//清屏 if(Dis_mode==0) //如果上一次是顯示心率、步數、體溫 的 則顯示時間 Dis_mode = 1; else //如果上一次不是顯示心率、步數、體溫 的 則心率、步數、體溫 { Dis_mode = 0; Dis_Init(); //顯示漢字信息 } } if(KEY2==0) //清除步數 { while(KEY2==0); STEPS = 0; TEXT_Buffer[0]=(u16)'0';

TEXT_Buffer[1]=(u16)'0'; TEXT_Buffer[2]=(u16)'0'; TEXT_Buffer[3]=(u16)'0'; TEXT_Buffer[4]=(u16)'0'; STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE); //清除后存儲一次數據 } if(update_flag==1) //2S標志到 發送一次數據到手機APP { update_flag = 0; printf("Step:%5d H:%3d T:%4.1f \r\n",STEPS,Heart,(float)temperature/10); //串口發送出去 } switch(Dis_mode) { case 0: //顯示傳感器數據 if(STEPS_DIS==1) //刷新計步 { sprintf((char*)p,":%-5d ",STEPS); //顯示步數 OLED_ShowStr(32,2,p,2);

} sprintf((char*)p,":%4.1f ",(float)temperature/10); OLED_ShowStr(32,4,p,2); //顯示溫度 if(Heart_OK==1) //讀取到正確心率 { sprintf((char*)p,":%3dr/min",Heart);

//顯示心率 OLED_ShowStr(32,0,p,2); } else { sprintf((char*)p,":---r/min"); OLED_ShowStr(32,0,p,2); } break; case 1: //顯示時間 日期等信息 RTC_Display(); //顯示時鐘 break; } } }

05


實驗效果


7f8b07f4-adaa-11ef-8084-92fbcf53809c.jpg

7fb06dfa-adaa-11ef-8084-92fbcf53809c.jpg

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    356005
  • 智能臺燈
    +關注

    關注

    9

    文章

    83

    瀏覽量

    21034
  • 系統
    +關注

    關注

    1

    文章

    1017

    瀏覽量

    21344
收藏 人收藏

    評論

    相關推薦

    誠接stm32項目

    誠接stm32項目價格私聊
    發表于 05-17 10:20

    stm32項目搭建基礎

    初學者吧stm32項目搭建基礎好吧進入主題,我們現在要搭建一個stm32項目我還是把問題寫在最開始把1. 注冊keil你的keil需要注冊當你編寫了幾行類似于helloworld的小
    發表于 08-23 08:47

    如何在IAR for ARM中創建STM32項目

    如何在IAR for ARM中創建STM32項目
    發表于 11-30 07:16

    STM32項目開發中超級實用技巧分享

    STM32項目開發中超級實用技巧一. 利用軟啟動打補丁二. 優化等級盡量選擇不優化三. 合理利用開關總中斷所有的熱愛都要不遺余力,真正喜歡它便給它更高的優先級,和更多的時間吧!關于STM32其它
    發表于 01-21 06:22

    CubeMX如何創建stm32項目

    CubeMX如何創建stm32項目
    發表于 02-14 06:24

    基于HAL庫的STM32項目問題描述

    問題描述最近在做的一個基于HAL庫的STM32項目需要從多個SPI總線設備讀取數據并通過DMA從串口發送,程序如下:(RxData為從SPI總線讀取到的數據)sprintf(tempt, "
    發表于 02-28 11:25

    STM32項目設計:基于STM32F4的mp3、wav音樂播放器 (UCOSIII操作系統、GUI控件)

    STM32項目設計:基于STM32F4的mp3、wav音樂播放器 (UCOSIII操作系統、GUI控件)
    發表于 11-15 15:21 ?50次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>設計:基于<b class='flag-5'>STM32</b>F4的mp3、wav音樂播放器 (UCOSIII操作<b class='flag-5'>系統</b>、GUI控件)

    ADF2022項目開源

    電子發燒友網站提供《ADF2022項目開源.zip》資料免費下載
    發表于 07-05 09:42 ?2次下載
    ADF2022<b class='flag-5'>項目</b>開源

    STM32項目分享:智能家居(機智云)系統

    STM32項目分享:智能家居(機智云)系統
    的頭像 發表于 07-28 08:10 ?1931次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>分享:<b class='flag-5'>智能</b>家居(機智云)<b class='flag-5'>系統</b>

    STM32項目分享:智能大棚/智慧農業系統

    01—項目簡介1.功能詳解基于STM32的智慧農業系統。功能如下:溫濕度采集:使用DHT11溫濕度傳感器采集環境溫濕度土壤濕度采集:
    的頭像 發表于 08-30 12:15 ?1056次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>分享:<b class='flag-5'>智能</b>大棚/智慧農業<b class='flag-5'>系統</b>

    STM32項目分享:智能門禁鎖系統

    01—項目簡介1.功能詳解基于STM32智能門禁鎖系統。功能如下:按鍵解鎖:系統通過4×4矩陣鍵盤模塊輸入密碼進入主菜單門禁刷卡:通
    的頭像 發表于 09-12 08:04 ?1717次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>分享:<b class='flag-5'>智能</b>門禁鎖<b class='flag-5'>系統</b>

    STM32項目實戰:基于STM32F4的智能燈光控制系統(LVGL),附項目教程/源碼

    智能燈光控制系統_STM32F4》項目完整文檔、項目源碼,私信小雯老師免費領取。STM32
    的頭像 發表于 10-17 16:16 ?796次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>實戰:基于<b class='flag-5'>STM32</b>F4的<b class='flag-5'>智能</b>燈光控制<b class='flag-5'>系統</b>(LVGL),附<b class='flag-5'>項目</b>教程/源碼

    STM32項目實戰:基于STM32U5的智能燈光控制系統(LVGL),附項目教程/源碼

    智能燈光控制系統_STM32U5》項目完整文檔、項目源碼,點擊免費領取。項目資料領取:http
    的頭像 發表于 11-07 18:50 ?846次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>實戰:基于<b class='flag-5'>STM32</b>U5的<b class='flag-5'>智能</b>燈光控制<b class='flag-5'>系統</b>(LVGL),附<b class='flag-5'>項目</b>教程/源碼

    STM32項目實戰:基于STM32U5的火災報警系統(LVGL),附項目教程/源碼

    《火災報警系統_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領取。項目資料領取https://s.c1ns.cn/F5XyU
    的頭像 發表于 11-13 14:18 ?596次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>實戰:基于<b class='flag-5'>STM32</b>U5的火災報警<b class='flag-5'>系統</b>(LVGL),附<b class='flag-5'>項目</b>教程/源碼

    STM32項目實戰:基于STM32U5的智能大棚溫控系統(LVGL),附項目教程/源碼

    智能大棚溫控系統_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領取。項目資料領取h
    的頭像 發表于 11-13 17:08 ?593次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>實戰:基于<b class='flag-5'>STM32</b>U5的<b class='flag-5'>智能</b>大棚溫控<b class='flag-5'>系統</b>(LVGL),附<b class='flag-5'>項目</b>教程/源碼
    主站蜘蛛池模板: 三级在线国产| 九九99视频在线观看视频观看| 精品综合久久88色鬼首页| 午夜免费剧场| 黄色永久网站| 四虎影视免费观看| 成年大片免费视频播放手机不卡 | 性夜影院爽黄a爽免费视频| 特级黄色淫片| bt天堂在线最新版www| 日本人xxxxxxxxxⅹ69| 天堂视频免费| 伊人网视频| 亚洲欧洲一二三区| 欧美成人一区二区三区在线电影| 停停五月天| 久久精品国产99久久72| 老逼影院| 福利视频免费观看| 四虎影院新网址| 午夜影吧| lsj老司机精品视频在线观看| 黄色性生活毛片| aa视频在线| 日韩欧美中文在线| 天堂8资源8在线| 在线视频你懂得| xvsr-365波多野结衣| 4480yy私人午夜a级国产| 欧美视频色| 国产精品视频久久久久| 四虎永久在线精品影院| 午夜免费视频福利集合100| 青青热久免费精品视频在线观看 | jizz 大全欧美| 人与禽交免费网站视频| 免费观看黄a一级视频| 亚洲电影av| 天天骑夜夜操| 亚洲国产色图| 天天在线干|