<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è) > 嵌入式系統 > 設計應用 > 圖形化展示modbus溫濕度傳感器數據并通過(guò)滑條控制LED亮度

圖形化展示modbus溫濕度傳感器數據并通過(guò)滑條控制LED亮度

—— STM32F469I-DISCO試用
作者:rasngsun 時(shí)間:2025-05-21 來(lái)源:EEPW 收藏


本文引用地址:http://dyxdggzs.com/article/202505/470709.htm

1   項目介紹

本項目基于469I-DISCO開(kāi)發(fā)板,實(shí)現了一個(gè)完整的溫濕度監測與控制系統。系統通過(guò)溫度傳感器采集環(huán)境數據,使用開(kāi)發(fā)板的高性能LCD顯示屏圖形化展示實(shí)時(shí)數據,同時(shí)通過(guò)PWM 信號控制,提供直觀(guān)的環(huán)境監測和燈光控制功能。

2   系統框圖

1747822618824781.png

3   運行流程圖

image.png

4   實(shí)現細節硬件配置

主控板:469I-DISCO

傳感器:溫度傳感器

顯示:開(kāi)發(fā)板自帶480×800分辨率LCD觸摸屏

LED控制:使用板載LED或外接LED通過(guò)PWM控制

5   軟件功能

5.1 溫濕度數據采集

通過(guò)串口讀取modbus 傳感器數據

定時(shí)采集環(huán)境溫濕度數據

數據校驗與錯誤處理

5.2 圖形化顯示

實(shí)時(shí)數據顯示

5.3 控制

觸摸屏滑動(dòng)條控制PWM占空比

6   具體步驟

使用touchGFX軟件創(chuàng )建工程

1747822714152468.png

添加背景窗口

1747822753548432.png

添加靜態(tài)顯示文本

1747822781657897.png

溫濕度數據顯示控件添加

1747822828783235.png

LED相關(guān)控件添加

1747822865618957.png

至此圖形界面基礎部分已經(jīng)完成,燒錄程序

1747822900732757.png

觀(guān)察初步效果

1747822950335640.png

滑塊聯(lián)動(dòng)邏輯添加

image.png

接下來(lái)進(jìn)行相關(guān)代碼編輯工作,點(diǎn)擊生成代碼,并打開(kāi)代碼所在文件夾

1747823008429664.png

使用cubemx ide軟件打開(kāi)工程文件

1747823042976674.png

添加顯示數據更新相關(guān)函數

1747823068256750.png

實(shí)現函數slider_light_change功能

1747823107974199.png

階段性成果展示

image.png

image.png

接下來(lái)配置Arduino擴展板D12引腳為PWM輸出模式

1747823242203506.png

在代碼中開(kāi)啟PWM輸出

1747823272321664.png

更新model類(lèi)

1747823308765104.png

更新ModelListener類(lèi),添加接口函數

1747823346469582.png

更新MainScreenPresenter類(lèi)

1747823402166463.png

view類(lèi)更新

1747823432996149.png

至此即可通過(guò)手指觸摸改變滑條位置并同步控制LED亮度,如下圖所示

低亮度

1747823490939666.png

高亮度

接下來(lái)設置溫度傳感器相關(guān)代碼,此處我們選擇的時(shí)485,需要通過(guò)開(kāi)發(fā)板擴展接口的USART6配合電平轉換模塊與傳感器進(jìn)行數據通訊

1747823530433811.png

配置USART6,添加DMA及中斷使能

1747823577389866.png

1747823593856520.png

接下來(lái)到了很關(guān)鍵的一步,我們這里使用github上的一款成熟驅動(dòng)庫,實(shí)現modbus數據讀取。

https://github.com/alejoseb/Modbus-STM32-HALFreeRTOS

接下來(lái)就到了實(shí)踐環(huán)節。

提前下載庫文件至本地。

1747823651150142.png

將MODBUS-LIB文件夾拖動(dòng)到Middleware文件夾下,與FreeRTOS文件夾同級

1747823687952831.png

選擇復制文件

image.png

添加頭文件目錄

1747823769687598.png

復制ModbusConfi gTemplate.h到INC目錄下,并重命名為ModbusConfi g.h

添加modbus主站初始化代碼

1747823807492408.png

創(chuàng )建modbus數據讀取線(xiàn)程

image.png

1747823902134798.png

1747823925725719.png

更新model類(lèi),添加溫濕度數據同步顯示刷新相關(guān)邏輯

1747824043187722.png

此代碼編輯工作已完成,燒錄觀(guān)察現象

image.png

吹口哈氣之后

image.png

7   項目特色

直觀(guān)的圖形化界面,數據展示生動(dòng)形象

觸摸屏交互,操作簡(jiǎn)便

低功耗設計,適合長(cháng)期監測

后續改進(jìn)方向

增加Wi-Fi/ 藍牙模塊實(shí)現遠程監控

添加數據存儲功能(SD 卡記錄)

開(kāi)發(fā)手機APP 配套控制

增加更多環(huán)境傳感器(如CO2、PM2.5)

備注,最開(kāi)始作者想直接通過(guò)GPIO 采集DHT11傳感器數據,后來(lái)代碼在未經(jīng)git 托管的情況下,未跑通。

緊接著(zhù)想通過(guò)ADC讀取LM35溫度傳感器數據,后來(lái)這個(gè)ADC相關(guān)驅動(dòng)代碼也沒(méi)跑通。

最后靈機一動(dòng),手頭正好有485,而且還是modbus協(xié)議的,最關(guān)鍵的是這個(gè)開(kāi)源的驅動(dòng)庫筆者使用過(guò)好幾次,比較順手。簡(jiǎn)單寫(xiě)幾行代碼就行了。

最后強調,開(kāi)發(fā)項目強烈建議使用git 進(jìn)行代碼管理。

(本文來(lái)源于《EEPW》



評論


相關(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>