如何使用Arduino控制板對RS485介面智慧顯示器進行換頁操作- Modbus
前言
到目前為止,我們知道控制智慧顯示器需要一個系統介面和通訊協議,用系統整合的角度全面地控制智慧顯示器產品。從主機控制的角度來看,Arduino也可以用於控制智慧顯示器。本文提供了一個範例,介紹如何從客戶端和主機的角度控制智慧顯示器產品。藉此理解主機如何發出命令,以切換SmartDisplay的頁面。
示範情境:連接一個實體按鈕,按下它會將使SmartDisplay從第一頁切換到第二頁。當SmartDisplay在第二頁時,再次按下實體按鈕則會返回到第一頁。
說明
本應用將說明如何透過Arduino開發板來控制3.5吋高亮RS485標準品,使SmartDisplay換頁。其控制主機是一個具有Modbus模組和實體按鈕的Arduino Mega 2560板。
系統方塊圖
本應用需要以下元件:
- Smart Display ModBus 3.5”
- ARDUINO Mega 2560
- ARDUINO Mega 2560的RS485 Modbus載板
- Arduino 開發環境 v2.0.4
- Modbus 連接器
- 實體按鈕
- Software GUI-Builder v0.4.2 或更高的版本
- LED
此示範分為三個部分:
- 在GUI Builder中設計專案
- 建立和上傳專案
- 編譯Arduino主機
以GUI builder設計專案
首先,建立一個新專案,輸入專案名稱,然後選擇裝置類別,此應用選擇3.5吋的裝置。通訊協議選擇Modbus,顯示方向為橫向模式。接著在UI範本中選擇空白模板,最後點選Create按鈕,如圖所示。
完成上述設定後,會得到一個空白的頁面。
根據應用情境,需要新增第二個頁面。因此,點擊page按鈕,然後點擊+號按鈕。
可以在Resource選單中更改背景樣式。
在Page區域可以選擇背景樣式。
建立並上傳專案
完成上述步驟並建立了兩個不同的頁面後,現在就可以開始設定專案了。切換到“Page info”頁面。點選“Device”,選擇“Device Property”。然後選擇COM埠,設定與裝置相同的鮑率,最後,點擊Upload project將此專案上傳。
當專案上傳完成後,點擊 “OK”:
上傳完成後,您將在SmartDisplay上看到開機畫面。
畫面由開機頁面跳至操作頁面代表專案上傳成功。
編譯Arduino主機
Modbus 主機中,需要注意每一個寄存器位址,以連接主機和 SmartDisplay。如果您想瞭解主機和SmartDisplay之間如何透過 RS485 進行通訊,請參考 GUI BUILDER中的通訊紀錄。下圖是本範例在 Arduino IDE 程式中所需的寄存器位址的定義。
定義所有接腳模式和外部組件(如:實體按鈕和 LED)的設定。同時,設定串列通訊的傳輸速率。
下圖顯示當Arduino主機讀取實體按鈕的值變化時,它將透過Modbus訊息將值發送到Smart Display以更改頁面。
透過Arduino IDE成功驗證並上傳程式後,現在可以透過按下實體按鈕來換頁了。當螢幕顯示第一頁時,LED熄滅,當按下實體按鈕將螢幕切換到第二頁時,LED亮起,如下圖所示:
請參考此GitHub連結( https://bit.ly/3oT0o5M)下載上述程式,並查看有關此示範專案的更多詳細資訊。下方是實際的硬體線路圖。關於示範中使用的ARDUINO Modbus RS485模組,請參考此連結 (https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0259_Web.pdf)
恭喜,完成了一個用實體按鈕來換頁的專案
結語
本文的目的是推廣 GUI builder 操作和模擬。透過切換頁面,用戶可以瞭解如何透過Modbus訊息來設計自己的主機控制器。使用者還可以瞭解如何透過主機接收和發送命令,以多種方式控制和使用SmartDisplay。