WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
これまではmicro:bitに搭載された機能のみを試してきましたが、今回は別途購入した有接点リレーを搭載したブレイクアウトボードを併用して、車両のSIドライブのモード切替を行います。また無線機能を利用して操作と切替(リレー動作)を別々のmicro:bitで出来る様にしてみます。
以前行ったSIドライブ切替機能
以前に、FA用PLCで車両OBD2ポートに接続したELM327と通信を行って、アクセル開度からSIドライブの切り替えを行ってみた事がありますが、意外に上手く動作させる事が出来ました。あくまで実験だったので常用はしていませんが、ELM327やSIドライブの配線等の事前準備はちょっと面倒です。
SIドライブの切り替えについては、現在はスイッチのみを増設する形になっています。クラッチスタートスイッチに割り込ませているセキュリティー目的のキースイッチと合わせて、車を運転する際には必ず使用する物になっています。
micro:bitでSIドライブを切り替える
現状では上記のスイッチで満足していますが、欲を言えばスイッチはハンドルに設置したい所でした。S4やレヴォーグなどではアイサイトのスイッチと合わせて、初めからハンドルにSIドライブの切替スイッチもあり、そのスイッチを流用して配線も行えばWRX(VAB)でも実現出来ますが、ハンドル周りの作業量がかなり多そうです。
micro:bitは無線機能を持っていて乾電池でも動作が出来るので、操作側をハンドルに設置しても配線が邪魔になりません。今回は3Dプリンターで1つ部品を作り、マジックテープでハンドルに巻いて取り付けています。ただし現実的に利用出来る様にするにはmicro:bit本体もハンドルのカバー内に収めたり、別途スイッチも用意する必要はありそうなので、作業量は結局スイッチを流用する場合とあまり変わらない気もします。
切替側はUSB電源を利用しているので(上記矢印)、車両にUSB電源ポートがあればエンジンのON/OFFに連動して動作させる事も可能です。従って色々な利用方法があると思います。
※今回のmicro:bitでの切り替えも、あくまでmicro:bitの様子を見る為なので常用はしません。
SIドライブの切替方法
SIドライブの切替方法自体は、これまでのPLCやスイッチ増設で行った方法と変わりません。SIドライブの各モードはスイッチを押した時の電流値の違いで判定しているので、単純にSIドライブの切替配線に抵抗を入れ、各モード選択時に対応した抵抗と繋がる様にリレーをON/OFFするだけです。
今回のmicro:bitでも基本的には同じですが、プログラムが自由に組めるので少し機能を付けました。
Micro:bitでのプログラム
切替側
今回は最初に切替側で車両のエンジン始動(USB電源ON)に合わせて、デフォルトの「S」から「I」への自動切り替えを行う様にしています(電源ONから5秒後)。以降は単純に操作側から「S」または「S#」への切替指示を受けて切り替えます。また切り替えてから5秒後に自動で「I」へ戻します。切替の都度、その結果を操作側に送信します。
操作側
操作側は最初に切替側で自動で「I」に切り替えた結果を受けて準備完了とし、「I」を表示します。以降はmicro:bitのABボタンによって「S」または「S#」への切替指示を切替側に送信します。送信後は切替側からの結果を受けて表示を行います。ただし「S#」についてはmicro:bitのLEDでは表示しきれないので、「S.」の様な表示にしています。
変数「Ready」と「SI」は現在の状態を記憶しておく物で、準備完了(Ready)かつ「I」モード(SI=4)で、「S」または「S#」への切替可能条件としています。送受信している数値その物に意味はありません。内容が分かるだけで良いので切替側の最初の自動切替(受信側の準備完了)は「1」で、あとの数値はそれぞれ切替側でON/OFFする端子(リレー)番号(3・4・6)になっています。
留意点
使用している有接点リレーが搭載されたブレイクアウトボードは、プログラムでmicro:bitのLED表示を「無効(使用しない)」とする必要があります(切替側プログラムの「LED表示を有効にする<偽>」)。これはmicro:bitの端子の幾つかがLED表示と共用となっている為です。またこのブレイクアウトボードは電源が入ると一瞬全てのリレーがONします。幸い、今回の配線ではSIドライブは「S」のスイッチが押された事になるので問題はありませんが、車両に限らず他の用途で利用する際には注意が必要です。
ハザードスイッチへの応用
ブレイクアウトボードで有接点リレーを使用しているので、車両から別途スイッチを増設出来る物であれば、今回のmicro:bitでの方法が利用出来ます。リレーには許容電圧や電流がありますが、流れる電流が少ない信号線であればカチカチと鳴らない無接点リレーでも可能かと思います。今回はハザードスイッチへの流用も行ってみましたが、その様子は下記動画の最後で行っています。具体的には操作側のAボタンで3秒間ON、Bボタンで通常のON/OFFです。
動画
実際にmicro:bitでSIドライブの切替を行っている様子です。操作側のスイッチで切り替えてから5秒後に「I」へ戻る仕様にしましたが、正直な所、タイミング次第で運転し難い状況になってしまいます。
その他
micro:bitにはシリアル通信機能もあるのでELM327とmicro:bitの接続も行ってみたいのですが、micro:bitのシリアル通信に関する情報がほとんど無いので、現状ではどの程度の機能が利用可能なのかが分かりません。USB経由でのPCとのシリアル通信は簡単なのですが。
micro:bit 新バージョン「2.0」について
2020年11月25日より、Micro:bit本体の新バージョン「2.0」が発売になっています。従ってこれまでの古いmicro:bitを使用した記事(~その24)と新しいmicro:bitでは記事内容に相違がある場合があります。ただしこれまでのプログラムは基本的には新しいmicro:bitでも動作し、古いmicro:bitも引き続き使用する事が可能です(ハード的に新たに追加された機能は、拡張ボード等が必要ですが)。
なお新しいmicro:bitについては実際に1つ購入し、micro:bit関連記事「その25」から扱っています。
2022年4月追記
2021年12月にmicro:bit本体のバージョンが「2.2」になるとのアナウンスがありましたが、「2.0」との機能上の違いは無いとされています。
「micro:bit」関連記事
以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。