Modbusプロトコル経由でスマートディスプレイのページを切り替えるコマンドを送信する方法
序言
これまでのところ、スマートディスプレイ(SmartDisplay)の制御には、システム統合の観点からシステムインターフェイスと通信プロトコルが必要であることは判りました。ホスト制御の観点から見ると、Arduinoはスマートディスプレイの制御にも使用できます。この記事では、クライアントとホストの両方の観点からスマートディスプレイ製品を制御する方法の例を示します。ホストが スマートディスプレイのページを切り替えるコマンドを発行する方法を説明します。
説明
Arduino 開発ボードを介して3.5インチ高輝度RS485標準製品を制御して、スマートディスプレイ(SmartDisplay)のページを変更する方法を説明します。その制御ホストは、Modbusモジュールと物理ボタンを備えたArduino Mega 2560 ボードです。システムブロック図は以下のようです。
システムブロック図
このアプリケーションには次のコンポーネントが必要です。
- スマートディスプレイ ModBus 3.5 インチ
- ARDUINOメガ2560
- ARDUINO Mega 2560用RS485 Modbusキャリアボード
- Arduino 開発環境 v2.0.4
- Modbusコネクタ
- 物理ボタン
- ソフトウェア GUI-Builder v0.4.2 以降
- LED
デモは 3 つの部分に分かれています。
- GUIビルダーでデモプロジェクトを設計します。
- プロジェクトをビルドしてアップロードします。
- Arduino ホストをプログラムします。
GUIビルダーでプロジェクトを設計する
まず、新しいプロジェクトを作成しましょう。プロジェクト名を入力して、デバイス カテゴリを選択します (このアプリケーションでは 3.5インチのデバイスが選択されます)。 通信プロトコルはModbusで、表示方向は横長モード(landscape)です。そして、次の図のように、UIテンプレートでブランクのテンプレートを選択して、最後に [作成(create)]ボタンをクリックします。
このページはプロジェクトの作成後に開きます。
アプリケーションのシナリオによっては、2番目のページを追加する必要があります。 そこで、「ページ」ボタンをクリックしてから、「+」ボタンをクリックします。
背景のスタイルは、[リソース(resource)] メニューで変更できます。
背景スタイルはページセクションでも変更できます。
プロジェクトをビルドしてアップロードする
上記の手順を完了して2 つの異なるページを作成した後、プロジェクトのセットアップを開始します。まず、「ページ情報(Page Info)」ページに切り替えます。「デバイス(Device)」をクリックして、「デバイスのプロパティ(Device Properties)」を選択します。 次に、COM ポートを選択しまず。デバイスと同じボーレートを選択して「デバイスに接続(Connect to Device)」ボタンをクリックしてスマートディスプレイを接続します。最後に [プロジェクトのアップロード(Upload project)] をクリックしてプロジェクトをアップロードします。
プロジェクトのアップロードが完了したら下図のように [ok] ボタンをクリックします。
アップロードが完了すると以下のような開始画面が表示されます。
起動ページから操作ページにシフトしたら、プロジェクトアップロード成功と意味します。
Arduinoホストをプログラムする
Modbusホストでは、ホストとSmartDisplayを接続するために各レジスタのアドレスに注意する必要があります。RS485を介してホストとSmartDisplay の間で通信する方法を確認したい場合は、GUI BUILDERの通信記録をご参照ください。また、以下の図は、Arduino IDE プログラムのこの例で必要なレジスタ アドレスの定義です。
すべてのピン モードと物理ボタンや LED などの外部コンポーネントの設定を定義します。 同時にシリアル通信の通信速度を設定します。
以下の図は、Arduinoホストが物理ボタンの値の変更を読み取るとその値をModbusメッセージ経由でスマートディスプレイに送信してページを変更するということを示しています。
Arduino IDEを介してプログラムの検証とアップロードが正常に完了したら、物理ボタンを押してページを切り替えることができるようになります。 次の図のように、画面に最初のページが表示されているときは LEDが消灯して、そして、物理ボタンを押して画面を 2 ページ目に切り替えるとLED が点灯します。
GitHubリンク (https://bit.ly/3oT0o5M) を参照して上記のプログラムをダウンロードしてから、このデモプロジェクトの詳細を確認できます。そして、以下は実際のハードウェア配線図で、デモで使用したARDUINO Modbus RS485 モジュールについては、このリンク (https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0259_Web.pdf)をご参照ください。
おめでとうございました。
物理ボタンを使用してページを切り替えるプロジェクトを完了しました。
結論
この記事の目的は、GUIビルダーの操作とシミュレーションを促進することです。 ページを切り替えることで、ユーザーは Modbusメッセージを通じて独自のホストコントローラーを設計する方法を学ぶことができます。ユーザーはホストを介してコマンドを送受信してさまざまな方法で SmartDisplayを制御する方法を学ぶこともできます。
追記:この技術文書の原文は中国語で、和訳の内容に疑問がある場合は、原文をご参考願います。