<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 多功能智能時(shí)鐘的設計

多功能智能時(shí)鐘的設計

作者:謝志平 時(shí)間:2020-01-20 來(lái)源:電子產(chǎn)品世界 收藏

  謝志平(廣東省技師學(xué)院,廣東 惠州 516100)
  摘? 要:充分利用32位單片機內部強大資源,開(kāi)發(fā)了一種將電子時(shí)鐘、倒計時(shí)器、簡(jiǎn)易心率、天氣預報、體溫檢測裝置與藍牙音響系統結合的電子設備。采用了高精度時(shí)鐘芯片DS3231,能做到時(shí)間精準;采用了ESP8266Wi-Fi模塊進(jìn)行授時(shí)和天氣預報功能;采用了專(zhuān)用血氧傳感器芯片MAX30102,體積小,功耗低,能方便檢測血氧與心率;利用無(wú)線(xiàn)串口HC-12模塊實(shí)現了遠距離無(wú)線(xiàn)遙控功能。經(jīng)實(shí)際測試,達到了預期的各項功能。
  關(guān)鍵詞:?jiǎn)纹瑱C;高精度;Wi-Fi模塊;無(wú)線(xiàn)遙控

本文引用地址:http://dyxdggzs.com/article/202001/409438.htm

  1 關(guān)鍵核心技術(shù)

  1.1 單片機部分

  單片機為STM32主流型號,是一種高性能、低成本、低功耗的嵌入式單片機。整個(gè)系統分為主機和遙控器:主機采用LED全彩屏顯示,遙控器采用OLED顯示屏[2]。LED顯示屏可以采用市場(chǎng)上主流的P3、P2.5小間距高清LED顯示屏,利用STM32單片機CPU速度優(yōu)勢,采用動(dòng)態(tài)掃描技術(shù),既節約電能,又能達到高清顯示的目的。 整個(gè)系統結構如圖1所示。

1581328940459635.jpg

  1.2 時(shí)鐘芯片

  時(shí)鐘芯片采用了DS3231,該芯片是低成本、高精度I2C實(shí)時(shí)時(shí)鐘(RTC),具有集成的溫補晶振(TCXO)和晶體,在沒(méi)有Wi-Fi授時(shí)時(shí),正常溫度工作范圍內精度為±2×10-6,走時(shí)非常精準,優(yōu)于普通鐘表,農歷的算法和星期算法100年內零誤差。
  1.3 Wi-Fi授時(shí)與天氣數據采集

  Wi-Fi模塊采用ESP8266。接收天氣時(shí)間用arduino程序編寫(xiě),arduino程序的示例做得好,容易快速上手,通 過(guò)ESP8266讀天氣及時(shí)間程序就是用arduino程序里的示例修改的。在其基礎上增加字符串處理,把收到的網(wǎng)站數據重新整理成比較簡(jiǎn)單的字符串。由于是個(gè)人應用,所以參數需根據實(shí)際情況進(jìn)行修改。如:在ESP8266例程里相應的位置將實(shí)際使用的Wi-Fi名改為test ,密碼為123456789。模塊就能自動(dòng)連接到這個(gè)test了。
  WiFi.mode(WIFI_STA);

  WiFiMulti.addAP(“test”, “123456789”);

  如果要查詢(xún)指定地區的天氣,利用免費開(kāi)放的天氣查詢(xún)網(wǎng)站,在例程里相應的位置直接修改當地的地址。如要查詢(xún)惠州地區的天氣,則:http.begin(“http://www.webxml.com.cn/WebServices/WeatherWS.asmx/getWeather?theUserID=&theCityCode=惠州”)。
  1.4 血氧飽和度與心率采集

  身體細胞需要氧氣來(lái)進(jìn)行有氧呼吸。呼吸是細胞獲得有用能量的關(guān)鍵方法之一。血氧飽和度是血液中被氧結合的氧合血紅蛋白(HbO2)的容量占全部可結合的血紅蛋白(Hb)容量的百分比,即血液中血氧的濃度,它是呼吸循環(huán)的重要生理參數。
  血氧傳感器采用Maxim公司的MAX30102[4],是一種專(zhuān)為可穿戴設備設計開(kāi)發(fā)的血氧飽和度和心率監測傳感器,它是集光源、接收和濾波及數字化為一體。芯片功耗極低,采用了1.8 V內核供電,采用I2C標準通信,可用軟件關(guān)斷芯片,待機電流低至0.7 μA。芯片內集成的光源為660 nm的紅光和880 nm的紅外光,接收端為高靈敏度的光敏三極管,接收到的信號進(jìn)行放大后可進(jìn)行模擬濾波和數字濾波,然后將測得的數據存放到內部存儲器中,供外部控制器讀取。電路見(jiàn)圖2。

1581328971811841.jpg

  內部LED通信是通過(guò)一個(gè)標準的I2C兼容接口,該模塊可以通過(guò)軟件在零待機電流的情況下關(guān)閉,使電源導軌始終處于通電狀態(tài)。
  脈沖血氧儀需要兩種不同的波長(cháng)來(lái)執行測量。MAX30102集成了紅色和紅外 LED 驅動(dòng)器,可調制血氧飽和度(SPO2)和心率(HR)測量的 LED 脈沖。LED 電流可在適當的電源電壓下從0~50 mA進(jìn)行編程。LED 脈沖寬度可編程為69~411 μs,使算法能夠根據使用情況優(yōu)化血氧飽和度(SPO2)和心率(HR)的精度和功耗。圖3為實(shí)物圖。

微信截圖_20200210180111.jpg

  數據的讀取方法:設置一個(gè)串行通信_周期任務(wù)函數,當 USB 緩沖區中存在數據時(shí),此函數會(huì )分析數據,并在是有效的命令時(shí)執行。
  串行通信_周期任務(wù)函數不斷檢查g_recv_size 標志。當此標志的值不是0時(shí),這意味著(zhù)在USB 緩沖區上從單片機接收了一些數據。此信息將復制到主應用程序 InBuffer,并且接收的數據數量將復制到 InSize。之后, g_recv_size 設置為 0,指示數據已讀取。當 InSize 的值不是 0 時(shí),數據已收到,并且檢查它是否與通信協(xié)議數據兼容。數據讀取流程圖如圖4。

微信截圖_20200210180115.jpg

  1.5 無(wú)線(xiàn)遙控

  為能手動(dòng)遠程控制,考慮距離和抗干擾能力,遙控器采用了HC-12無(wú)線(xiàn)串口通信模塊,該模塊工作在433.4~473 MHz,可以設置多個(gè)頻道,步進(jìn)為400 kHz。模塊最大發(fā)射功率為100 MW,5 kbit/s,空中波特率下接收靈敏度為-116 dBm,開(kāi)闊地1 000 m的通信距離。模塊與單片機的連接見(jiàn)圖5。

1581329019792094.jpg

  HC-12 模塊共有四種工作模式,考慮實(shí)際使用時(shí),遙控器數據量小,正常使用時(shí)距離也比較近,故采用FU2 模式。此模式為省電模式,此時(shí)模塊的空閑工作電流為 80 μA 左右。只適用傳輸少量數據(每個(gè)數據包在 20 個(gè)字節以?xún)龋?,數據包發(fā)送時(shí)間間隔不能太短(最好在 2 s以上),否則會(huì )造成數據丟失。AT 指令用來(lái)設置模塊的參數和切換模塊的功能,設置后需退出設置狀態(tài)才生效。方法為:正常使用(已經(jīng)上電)中,把 第 5 引腳“SET”置低電平,利用串口調試助手,發(fā)送AT+FU2回車(chē)。串口調試助手返回OK+FU2。此模式下不能設置成其它串口波特率。FU2 模式下,參數和功能的修改,掉電不會(huì )丟失。指令格式見(jiàn)表1。

1581329041949388.jpg

  由于 HC-12 模塊的無(wú)線(xiàn)接收靈敏度比較高,當串口波特率大于 9.6 kbit/s 時(shí),必須要錯開(kāi) 5 個(gè)相鄰頻道來(lái)使用。當串口波特率不大于 9.6 kbit/s 時(shí),如果短距離(10 m以?xún)龋┩ㄐ?,也需要錯開(kāi) 5 個(gè)相鄰頻道使用。
  設置好串口相關(guān)工作模式后,程序配置好初始化(波特率和串口控制字等)。然后只要將發(fā)送的數據送入發(fā)送函數即可。例如:發(fā)送0x99。即:UART_Send_Byte(0x99);發(fā)送函數為:

  void UART_Send_Byte(unsigned char mydata)

   

  ES=0;//關(guān)串口中斷 

  TI=0;//串口中斷標志置0 

  SBUF=mydata;//將發(fā)送的數據送入SBUF 

  while(!TI);//等待發(fā)送完成 

  TI=0;//清發(fā)送中斷標志 

  ES=1;//打開(kāi)中斷 

  }

  2 系統測試

  系統顯示采用了LED屏幕。LED屏采用了局部刷新算法,響應速度快,程序功能優(yōu)化,效率較高。并且視覺(jué)效果很好,支持運行動(dòng)畫(huà)效果、顯示圖片等。操作按鍵算法采用非延遲消抖,提高了單片機工作效率,使用STM32F0單片機HAL庫[5]里的SysTick時(shí)鐘檢查時(shí)長(cháng)實(shí)現消抖,定時(shí)器高速采樣,響應快,對程序運行速度影響小,支持多種按鍵事件的響應,實(shí)現了數據操作、界面設置等諸多人性化功能。程序里設置為每天連接一次Wi-Fi信號,對時(shí)鐘芯片進(jìn)行授時(shí)。經(jīng)過(guò)半年的運行,完全能與北京時(shí)間完全一致。藍牙模塊采用集成的模塊,接通電源后就可以與手機藍牙進(jìn)行配對,成功后就可以獲取手機內的音樂(lè )信息,使智能時(shí)鐘有了相應的娛樂(lè )功能,使智能時(shí)鐘的應用更加廣泛。遙控器的操作在正常工作和生活環(huán)境里均能可靠地對主機進(jìn)行設置,使用效果良好。
  3 結語(yǔ)

  普通的電子時(shí)鐘功能單一,走時(shí)不夠精準,利用32位單片機豐富的硬件與軟件資源,將普通的電子鐘功能進(jìn)行擴展,實(shí)現了諸多人性化的功能,方便了人們的生活,在性?xún)r(jià)比方面具有較大的優(yōu)優(yōu)勢,具有一定的市場(chǎng)。
  參考文獻

  [1] 屈微, 王志良. STM32單片機應用基礎與項目實(shí)踐-微課版[M].北京:清華大學(xué)出版社,2019:100-201.
  [2] 劉正翔.基于STM32的OLED顯示屏接口設計[J].電子技術(shù)與軟件工程, 2017(19):65.
  [3] 白鵬飛.基于MAX30102的穿戴式血氧飽和度檢測系統[J].激光與紅外, 2017(10):1277-1279

  [4] 高顯生.STM32F0實(shí)戰:基于HAL庫開(kāi)發(fā)[M]. 北 京: 機械工業(yè)出版社,2018:98-104.
  [5] 李立春,劉卓.基于A(yíng)RM Cortex-M3的SysTick解 析[J].吉林化工學(xué)院學(xué)報, 2015,32(1):37-38.

  本文來(lái)源于科技期刊《電子產(chǎn)品世界》2020年第02期第81頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>