車載カメラを作ると次は運転席画像を見ながら「運転したい」となります。
Webブラウザから操作可能なダッシュボードをNode-Redで作成しました。
本作品とAWS Greengrassによる自動運転の2本立てでMaker Faire Tokyo 2019に出展します。
Maker Faire Tokyo 2019
https://makezine.jp/event/mft2019/
I-07-11 ZioTreks(ジオトレックス) です。初出場です。「ラズパイIoT鉄道模型」
Node-Redで作ったダッシュボードで運転する
Nゲージ本来のパワーパックを使えば、もちろん列車を運転できます。
車載カメラのストリーミングを見ながらパワーパックを操作すれば良いです。ただそれは線路からの給電電圧を可変することによる制御です。
ここは、あくまで列車から速度を制御したい。線路からの給電は一定の電圧として列車内でそれを制御する。ことにします。
架線と線路の違いはあるものの、より実車に近い構成になります。
車両の編成
1両目:ラズパイ車載カメラ
ラズパイ Zero と Piカメラによる車載カメラは以前に記事にしました。
ラズパイ上に列車を運転するためWeb画面を作成します。
DCモーターを制御するためにモータドライバICを3両目に搭載し、モータドライバICを制御するためにPWM信号をラズパイのGPIOから出力します。
Web画面からの命令によりPWM信号を可変して速度制御を行います。
2両目:モバイルバッテリ
ラズパイの電源は5Vのモバイルバッテリを使用しています。線路からの給電では脱線する毎にラズパイが電源Offされるので危険すぎるので採用していません。
ラズパイからモータドライバへの配線3本をバッテリ下に通し、車両の後部のコネクタに接続しています。
3両目:モータドライバICと集電
市販の客車を改造します。車輪から集電できるタイプの車両です。
車輪から集電されてくる集電版に配線をハンダ付けします。
座席を切り取ってスペースを作ります。
モータドライバICをユニバーサル基板の切れ端に取付け、客車に押し込みます。
モータドライバの出力を4両目の機関車の配線に接続
モータドライバの2本のPWM入力はラズパイに接続するので、GNDと併せて3本を車両の通路を通して前方に出します。
見積もりが甘く、天井につかえたので穴を開けています。放熱効果が高まり電気回路的には良くなりました。
モータドライバ回路です。ラズパイのGPIOは実際には GPIO17(11 pin)とGPIO27(13 pin)を使用しました。
4両目:DCモータ
市販の機関車を改造します。通常は車輪から集電してDCモータを駆動しています。
車輪とモータを熱収縮チューブで絶縁し、端子に配線をハンダ付けします。
運転席の窓を抜き、運転席に穴を開けて配線を通します。
これで配線に外部から供給する電源でモータを駆動できます。
全編成
Node-Redによる運転用ダッシュボード
GitHubにアップしました。(2019-08-16追記)
https://github.com/tyamazoe/raspi_train_nodered
Web画面なのでPythonでFlaskで作る方法も考えましたが、
Node-RedのDashboard nodeが手軽で使い易いので、今回はNode-Redです。
Node-Redのインストール
ラズパイのOS RaspbianにはNode-Redがインストールされています。
起動 $ node-red-start 終了 $ node-red-stop
ブラウザで xxx.xxx.xxx.xxx:1880 にアクセスするとNode-Red画面が開きます。
Node-Red Dashboardのインストール
node-red-dashboard はデフォルトではインストールされていません。以下でインストールします。
$ sudo apt install npm $ cd ~/.node-red $ sudo npm install node-red-dashboard
これで dashboard nodeが使用できます。
Dashboard
ボタン nodeとGauge nodeを使用して、速度の上下や停止、方向変換などの機能と速度計を作成します。
PWM制御
ラズパイにインストールされているNode-RedではRaspberry Pi Nodeが使用できます。
「rpi gpio」出力ノードで使用するGPIOを指定し、出力形式に「PWM出力」を選択するだけでOK
Dashboardで出力した速度を適切に変換してPWM nodeに入力すれば、dashboardと連動したPWMが出力されます。
走行
無事ブラウザで運転席の画像を見ながら運転できました。
IoTLT
IoT縛りの勉強会IoTLT vol.53 @LINE で発表しました。
資料はこちら