欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

STM32項目分享:智能臺燈系統(tǒng)

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

項目成品圖片:

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

01

項目簡介

1.功能詳解


基于STM32智能臺燈系統(tǒng)。

功能如下:


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

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

OLED顯示:顯示當(dāng)前模式、環(huán)境光強、超聲波距離

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

藍牙APP控制:通過藍牙APP控制照明燈模式選取、亮度調(diào)節(jié)、計時功能

智能調(diào)光:自動模式下根據(jù)外界光線變化,LED照明燈自動調(diào)節(jié)亮度

人體姿態(tài)提醒:超聲波距離近于5cm觸發(fā)蜂鳴器報警,提醒糾正人體姿態(tài)

2.材料清單

STM32F103C8T6最小系統(tǒng)板

OLED顯示屏(4針I2C協(xié)議)

光敏傳感器

大功率LED照明燈模塊

HC-SR04超聲波傳感器

HC-SR501人體紅外傳感器

藍牙模塊(BT04-A)

蜂鳴器

02


原理圖設(shè)計

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

03


PCB硬件設(shè)計


1.PCB圖

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

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

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

04


程序設(shè)計

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

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

//設(shè)置中斷優(yōu)先級分組為組3:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級 LED_Init(); //初始化與控制設(shè)備連接的硬件接口 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的計數(shù)頻率,計數(shù)到500為20ms KEY_Init();

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

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

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

//500ms到 讀取數(shù)據(jù) { 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

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

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

//串口發(fā)送出去 delay_ms(20); if(STEP!=STEPS) //步數(shù)發(fā)生改變 存儲一次 { 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 清除步數(shù) { 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();

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

//清屏 if(Dis_mode==0) //如果上一次是顯示心率、步數(shù)、體溫 的 則顯示時間 Dis_mode = 1; else //如果上一次不是顯示心率、步數(shù)、體溫 的 則心率、步數(shù)、體溫 { Dis_mode = 0; Dis_Init(); //顯示漢字信息 } } if(KEY2==0) //清除步數(shù) { 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); //清除后存儲一次數(shù)據(jù) } if(update_flag==1) //2S標志到 發(fā)送一次數(shù)據(jù)到手機APP { update_flag = 0; printf("Step:%5d H:%3d T:%4.1f \r\n",STEPS,Heart,(float)temperature/10); //串口發(fā)送出去 } switch(Dis_mode) { case 0: //顯示傳感器數(shù)據(jù) if(STEPS_DIS==1) //刷新計步 { sprintf((char*)p,":%-5d ",STEPS); //顯示步數(shù) 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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2273

    文章

    10927

    瀏覽量

    357844
  • 智能臺燈
    +關(guān)注

    關(guān)注

    9

    文章

    83

    瀏覽量

    21170
  • 系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    1020

    瀏覽量

    21442
收藏 人收藏

    評論

    相關(guān)推薦

    誠接stm32項目

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

    stm32項目搭建基礎(chǔ)

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

    如何在IAR for ARM中創(chuàng)建STM32項目?

    如何在IAR for ARM中創(chuàng)建STM32項目?
    發(fā)表于 11-30 07:16

    STM32項目開發(fā)中超級實用技巧分享

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

    CubeMX如何創(chuàng)建stm32項目

    CubeMX如何創(chuàng)建stm32項目?
    發(fā)表于 02-14 06:24

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

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

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

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

    ADF2022項目開源

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

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

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

    STM32項目分享:智能大棚/智慧農(nóng)業(yè)系統(tǒng)

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

    STM32項目分享:智能門禁鎖系統(tǒng)

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

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

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

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

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

    STM32項目實戰(zhàn):基于STM32U5的火災(zāi)報警系統(tǒng)(LVGL),附項目教程/源碼

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

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

    智能大棚溫控系統(tǒng)_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領(lǐng)取。項目資料領(lǐng)取h
    的頭像 發(fā)表于 11-13 17:08 ?831次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項目</b>實戰(zhàn):基于<b class='flag-5'>STM32</b>U5的<b class='flag-5'>智能</b>大棚溫控<b class='flag-5'>系統(tǒng)</b>(LVGL),附<b class='flag-5'>項目</b>教程/源碼