一本精品热在线视频,久久免费视频分类,精品婷婷乱码久久久久久蜜桃,在线可以免费观看的Av

<mark id="vd61v"><dl id="vd61v"></dl></mark>
    <sub id="vd61v"><ol id="vd61v"></ol></sub>

  • <sub id="vd61v"><ol id="vd61v"></ol></sub>

    新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 圖形化展示modbus溫濕度傳感器數(shù)據(jù)并通過滑條控制LED亮度

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

    —— STM32F469I-DISCO試用
    作者:rasngsun 時間:2025-05-21 來源:EEPW 收藏


    本文引用地址:http://www.ekcard.cn/article/202505/470709.htm

    1   項目介紹

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

    2   系統(tǒng)框圖

    1747822618824781.png

    3   運(yùn)行流程圖

    image.png

    4   實現(xiàn)細(xì)節(jié)硬件配置

    主控板:469I-DISCO

    傳感器:溫度傳感器

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

    LED控制:使用板載LED或外接LED通過PWM控制

    5   軟件功能

    5.1 溫濕度數(shù)據(jù)采集

    通過串口讀取modbus 傳感器數(shù)據(jù)

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

    數(shù)據(jù)校驗與錯誤處理

    5.2 圖形化顯示

    實時數(shù)據(jù)顯示

    5.3 控制

    觸摸屏滑動條控制PWM占空比

    6   具體步驟

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

    1747822714152468.png

    添加背景窗口

    1747822753548432.png

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

    1747822781657897.png

    溫濕度數(shù)據(jù)顯示控件添加

    1747822828783235.png

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

    1747822865618957.png

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

    1747822900732757.png

    觀察初步效果

    1747822950335640.png

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

    image.png

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

    1747823008429664.png

    使用cubemx ide軟件打開工程文件

    1747823042976674.png

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

    1747823068256750.png

    實現(xiàn)函數(shù)slider_light_change功能

    1747823107974199.png

    階段性成果展示

    image.png

    image.png

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

    1747823242203506.png

    在代碼中開啟PWM輸出

    1747823272321664.png

    更新model類

    1747823308765104.png

    更新ModelListener類,添加接口函數(shù)

    1747823346469582.png

    更新MainScreenPresenter類

    1747823402166463.png

    view類更新

    1747823432996149.png

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

    低亮度

    1747823490939666.png

    高亮度

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

    1747823530433811.png

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

    1747823577389866.png

    1747823593856520.png

    接下來到了很關(guān)鍵的一步,我們這里使用github上的一款成熟驅(qū)動庫,實現(xiàn)modbus數(shù)據(jù)讀取。

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

    接下來就到了實踐環(huán)節(jié)。

    提前下載庫文件至本地。

    1747823651150142.png

    將MODBUS-LIB文件夾拖動到Middleware文件夾下,與FreeRTOS文件夾同級

    1747823687952831.png

    選擇復(fù)制文件

    image.png

    添加頭文件目錄

    1747823769687598.png

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

    添加modbus主站初始化代碼

    1747823807492408.png

    創(chuàng)建modbus數(shù)據(jù)讀取線程

    image.png

    1747823902134798.png

    1747823925725719.png

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

    1747824043187722.png

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

    image.png

    吹口哈氣之后

    image.png

    7   項目特色

    直觀的圖形化界面,數(shù)據(jù)展示生動形象

    觸摸屏交互,操作簡便

    低功耗設(shè)計,適合長期監(jiān)測

    后續(xù)改進(jìn)方向

    增加Wi-Fi/ 藍(lán)牙模塊實現(xiàn)遠(yuǎn)程監(jiān)控

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

    開發(fā)手機(jī)APP 配套控制

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

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

    緊接著想通過ADC讀取LM35溫度傳感器數(shù)據(jù),后來這個ADC相關(guān)驅(qū)動代碼也沒跑通。

    最后靈機(jī)一動,手頭正好有485,而且還是modbus協(xié)議的,最關(guān)鍵的是這個開源的驅(qū)動庫筆者使用過好幾次,比較順手。簡單寫幾行代碼就行了。

    最后強(qiáng)調(diào),開發(fā)項目強(qiáng)烈建議使用git 進(jìn)行代碼管理。

    (本文來源于《EEPW》



    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉