工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

XODで作るArduino用カスタムLCDメニュー 〜コーディング不要の視覚的プログラミング〜

概要

XOD(視覚的プログラミング環境)を用いて、Arduino UNOとDFRobot LCDキーパッドシールド(16×2文字LCD+5方向キー)で動作するメニューシステムをノーコードで構築するプロジェクトです。メニューツリーの定義からキー入力デコード、画面表示、外部出力制御までをパッチ(ノードグラフ)として組み立て、C++コードを書かずに階層メニューを実現します。

システム構成

メニューコントローラー部

  1. アナログ入力ノード:シールドのキーパッド(A0接続)から電圧を読取
  2. キーデコードノード:電圧レベルを上/下/左/右/セレクトのパルストリガーに変換(デバウンス調整可)
  3. メニューコントローラーノード:トリガーを受け取りメニュー階層のナビゲーション・選択状態を管理。外部パラメータ(ポテンショメーター等)の入力ポートを持ち、リーフメニュー選択時にパラメータ変更パルスを出力
  4. LCD表示ノード:XOD標準の16×2 LCDノード(他の表示デバイスにも置換可)

メニューツリー部

以下の3ノードを組み合わせてツリーを構築:

サブサブメニュー等、メモリ許す限り階層を深くできます。スプラッシュスクリーン用の文字列入力ポートも用意。

出力部

各Leafの「Invoke」パルスをフリップフロップ経由でデジタル出力ピンに接続し、リレーやLEDのON/OFFを制御。パラメータ値はBufferノードで保持し、他ノードへ展開可能。

既知の課題と回避策

第2例:パラメータ入力・保存・表示のデモ

カウンターノードの値をメニューコントローラーのパラメータ入力に接続し、Leaf「A」選択時に現在値をBufferへ保存。Buffer出力を1行目に、カウンター現在値を2行目に表示する構成。外部アナログ入力や内部演算結果など、任意の数値をメニューから設定・保存する汎用パターンを示しています。

ライブラリとファイル

今後の展望

ARM系ボードでの動作検証、入出力ノードタイプの拡充、コンパイル時メタプログラミングによるフラッシュ格納の自動化などで、更なる低メモリ化と汎用性向上を目指します。

製造プロセス

  1. ArduinoだけでDTMFデコーダーを構築 – 外付けIC不要
  2. Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
  3. Arduinoで超音波レベーション(浮遊)装置を自作:ステップバイステップガイド
  4. Arduino UNOで作るLCDアニメーション&ゲーム入門
  5. Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
  6. ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
  7. Arduino UNO WiFi Webサーバー:ブラウザからLEDをON/OFF制御
  8. スマート駐車場カウンター:Arduino、Processing、PHPでリアルタイム車両管理
  9. Arduinoで自動化するChrome恐竜ゲーム – LDRとPythonで障害物を検知してジャンプ
  10. Arduino NanoとRDA5807Mで作るコンパクトFMラジオ
  11. ワイヤレスArduinoプログラミングシールド – HC-05 BluetoothでUSBケーブル不要に