文字やグラフィックの表示に液晶モニタやOLEDなどが使われます。
マイコンでも簡単作業でリッチなグラフィック画面の表示ができる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 |
タッチパネル | 抵抗膜 |
Flash | 4MB |
価格 | $22.9 |
入手 | アマゾン、Ali Expressなど |
今回当方が使用したモデルはBasicモデルで、最も安価なモデルです。
モデルごとの大まかな特徴を以下にまとめます。
Intelligent | Enhanced | Discovery | Basic | |
サイズ | 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 | 128MB | 16 ~ 32MB | 4 ~ 16MB | 4 ~ 16MB |
MCU ※3 | 200MHz | 48~108MHz | 64MHz | 48MHz |
EEPROM | 1024KB | 1024KB | – | – |
RAM ※4 | 512KB | 3584 ~ 8192Byte | 3584Byte | 3584Byte |
そのほか | GPIO RTC(時計) | GPIO x 8ch | – | – |
※2 Flash容量はサイズによって決定されます。
※3 MCUのクロックはサイズにより決定されます。
※4 RAM容量はサイズによって決定されます。
詳しくはメーカホームページで確認してください。
パソコンからHMIモジュールに使用できるコマンドもシリーズによって違います。
メーカホームページでは、視覚的にわかりやすい工夫がされています。
外観
前面

背面

使ってみて
作画ソフトは直感的で良いですが、高価モデルのソフトと比較すると少し面倒さはあります。
デバッガ(実機シミュレータ)は、実機上の再現度が高いので作業がはかどります。
外部コマンドも必要十分にそろえてあり、体系もシンプルで使いやすい。
画面に配置するオブジェクトも多いので、簡単なゲームなら工夫次第でこのモジュールだけ完結してしまうほどよくできた製品だと思います。
仕事柄、安価なものから高価なものまで多くのHMIを評価しましたが、値段の割に使いやすい表示器だと評価しています。
準備
やること
2画面表示します。
1画面目は背景とボタンを用意し、ボタンを押したら2画面目へ遷移します。
2画面目は背景と隠しラベルを用意し、ラベルを押したら1画面目へ遷移します。
準備(ハードウエア)
パソコンとRS232C/UART変換をUSBケーブルで接続します。
RS232C/UART変換とHMIモジュールを同梱のハーネスで接続します。
配線
RS232C/UARTは5Vに設定してください
RS232C/UART変換 | ワイヤ | HMIモジュール |
VCC | 赤 | +5V |
RX | 青 | TX |
TX | 黄 | RX |
GND | 黒 | GND |

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

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

プロジェクトを新規で作った場合には、赤枠の作業を最初に行います。
初めてNextionEditorを使うと、最初に画面のオブジェクトを作ってしまいリソースがないことに後から気が付きます。
- Toolメニューからフォントの作成 (WindowsフォントからHMIで使用するフォントを作る)
- プロジェクトで使用するフォントの登録(1で作ったフォントを登録する)
- プロジェクトで使用する画像ファイルの登録
1で作成したフォントは別のプロジェクトで使用することもできます。
フォントのサイズはプロジェクトで使用する種類の数だけ作る必要があります。
デバッガ
オブジェクトの実装と、オブジェクトに機能を与えたらどのように動作するかをシミュレーションします。
画面上のDebugを押すとデバッガが起動し、タップしたり実際に通信コマンドを送受信して動作を確認することができます。

書き込み
RS232C経由
準備でRS232C/UART変換経由でパソコンに接続していれば、NextionEditor上の[Upload]ボタンを押すと書き込みを開始します。
デバッグして実機確認をする場合はこちらのほうが効率がよさそうです。
SDカード
Nextion製HMIでは、MicroSDカードからデータ更新をすることができます。
コンパイル後は、メニューから
[File -> Open Build Folder]を選択すると、[*.tft]生成ファイルのフォルダを開きます。
このファイルをSDカード(FAT32フォーマット)に保存します。
HMIモジュールのSDカードリーダに挿した状態で電源を投入すると、自動的に更新が開始されます。
パソコンがなくても更新ができるので、量産時にはこの方法が効率がよさそうです。
コメント