HMI表示機を使う

コンピュータ、組み込み

マイコンを使った電子工作で簡単に使用できるLCDパネルを使ってみます。
Arduinoはもちろん、RP2040搭載基板、ESP32基板でもUARTから簡単に画面の操作や、タッチパネルの情報を読み取ることができます。
簡単作業でリッチなグラフィック画面の表示ができるHMI表示機(Human Machine Interface)を紹介します。

HMI表示機って?

あらかじめ表示する画像をモジュールのメモリに保存しておき、簡単なコマンドにより画像の表示ができるモジュールです。

多くのHMIは専用の作画ソフトがあり、表示する画面の編集や作画したデータをモジュールに転送してくれたりします。
機種によってタッチパネルが張り付けてあり、VisualBasicのようにボタンやラベル設置して、タッチした情報を読み取れるものもあります。

Nextion製HMI

HMIのモデルは多数あります。
各社各機種ユニークな特徴がありますが、今回Nextion製のBasicSeries NX3224T024 を紹介します。

Nextion HMIの特徴

Nextion HMI専用の作画ソフトを使ってVB.net やC#のように、ボタンやテキストオブジェクトを貼り付けてGUI画面を作ることができます。

コマンドを組み合わせて簡単なプログラムを作ることができます。

作画ソフトには実機がなくても動作確認ができるデバッガ(シミュレータ)ついていて、手早く動作確認ができます。

実機への書き込みも開発時に手軽なRS232C経由と、完成して配布するときにはパソコン不要なSDカードからの書き込みがあり、複数機体に書き込んだり現場で対応するときなどによさそうです。

仕様

今回紹介するモデルとシリーズについて記載します。
Nextion製HMIは シリーズやサイズが多種あるため、詳しくはメーカHPを参照してください。

メーカホームページ

今回使用したモデル(NX3224T024)の要点スペック

項目説明
シリーズBasic
サイズ2.4Inch
解像度(W, H)320, 240
タッチパネル抵抗膜
Flash4MB
価格$22.9
入手アマゾン、Ali Expressなど

今回当方が使用したモデルはBasicモデルで、最も安価なモデルです。
モデルごとの大まかな特徴を以下にまとめます。

IntelligentEnhancedDiscoveryBasic
サイズ4.3 ~ 10.1inch
4種類
2.4 ~ 7.0inch
7種類
2.4 ~ 3.5inch
3種類
2.4 ~ 7.0inch
7種類
解像度(W,H)
※1
(480,272)~(1024,600)(320,240)~(800×480)(320,240)~(480,320)(320,240)~(800,480)
タッチパネル選べる
静電容量
抵抗膜
抵抗膜
7.0inchのみ選べる
静電容量
抵抗膜
抵抗膜抵抗膜
Flash
※2
128MB16 ~ 32MB4 ~ 16MB4 ~ 16MB
MCU
※3
200MHz48~108MHz64MHz48MHz
EEPROM1024KB1024KB
RAM
※4
512KB3584 ~ 8192Byte3584Byte3584Byte
そのほかGPIO
RTC(時計)
GPIO x 8ch
※1 解像度はサイズにより決定されます。
※2 Flash容量はサイズによって決定されます。
※3 MCUのクロックはサイズにより決定されます。
※4 RAM容量はサイズによって決定されます。
詳しくはメーカホームページで確認してください。

パソコンからHMIモジュールに使用できるコマンドもシリーズによって違います。
メーカホームページでは、視覚的にわかりやすい工夫がされています。

外観

前面

背面

使ってみて

作画ソフトは直感的で良いですが、高価モデルのソフトと比較すると少し面倒さはあります。
デバッガ(実機シミュレータ)は、実機上の再現度が高いので作業がはかどります。
外部コマンドも必要十分にそろえてあり、体系もシンプルで使いやすい。
画面に配置するオブジェクトも多いので、簡単なゲームなら工夫次第でこのモジュールだけ完結してしまうほどよくできた製品だと思います。

仕事柄、安価なものから高価なものまで多くのHMIを評価しましたが、値段の割に使いやすい表示器だと評価しています。

準備

やること

2画面表示します。
1画面目は背景とボタンを用意し、ボタンを押したら2画面目へ遷移します。
2画面目は背景と隠しラベルを用意し、ラベルを押したら1画面目へ遷移します。

Raspberry Pi Picoについてのタイトル画像を背景にする。
TAMANEGIと表示する。
赤枠のボタン[CLICK]をタップすると次の画面へ遷移する。

RP2040 についてのタイトル画像を背景にする。
赤枠のエリアをタップすると前の画面へ遷移する。

準備(ハードウエア)

パソコンとRS232C/UART変換をUSBケーブルで接続します。
RS232C/UART変換とHMIモジュールを同梱のハーネスで接続します。

配線

RS232C/UARTは5Vに設定してください

RS232C/UART変換ワイヤHMIモジュール
VCC+5V
RXTX
TXRX
GNDGND

準備(ソフトウエア)

作画ソフトのインストール
インストーラをダウンロードしたら、インストールを実施します。
インストール手順は、インストーラ画面に従い作業をするために省略します。

使ってみる

プロジェクトの作成

エディタの使い方、各オブジェクトの機能や使い方はメーカホームページを参照してください。
画像はやることを実際に実装した画面です。

プロジェクトを新規で作った場合には、赤枠の作業を最初に行います。
初めてNextionEditorを使うと、最初に画面のオブジェクトを作ってしまいリソースがないことに後から気が付きます。

  1. Toolメニューからフォントの作成 (WindowsフォントからHMIで使用するフォントを作る)
  2. プロジェクトで使用するフォントの登録(1で作ったフォントを登録する)
  3. プロジェクトで使用する画像ファイルの登録

1で作成したフォントは別のプロジェクトで使用することもできます。
フォントのサイズはプロジェクトで使用する種類の数だけ作る必要があります。

デバッガ

オブジェクトの実装と、オブジェクトに機能を与えたらどのように動作するかをシミュレーションします。
画面上のDebugを押すとデバッガが起動し、タップしたり実際に通信コマンドを送受信して動作を確認することができます。

書き込み

RS232C経由

準備でRS232C/UART変換経由でパソコンに接続していれば、NextionEditor上の[Upload]ボタンを押すと書き込みを開始します。

デバッグして実機確認をする場合はこちらのほうが効率がよさそうです。

SDカード

Nextion製HMIでは、MicroSDカードからデータ更新をすることができます。

コンパイル後は、メニューから
[File -> Open Build Folder]を選択すると、[*.tft]生成ファイルのフォルダを開きます。
このファイルをSDカード(FAT32フォーマット)に保存します。
HMIモジュールのSDカードリーダに挿した状態で電源を投入すると、自動的に更新が開始されます。

パソコンがなくても更新ができるので、量産時にはこの方法が効率がよさそうです。

コメント

タイトルとURLをコピーしました