Excelでロビを動かしてみた
2024年7月30日
8月3日改訂
リモート接続したロビを動かすにはロビボイスプレイヤーなどのアプリケーションソフトが必要ですが今回はWindowsの操作やExcelだけでロビを動かしてみました。
ロビはUSB接続でPCとつないでリモート接続します。
ロビのマイコンボートにはUSBとの接続端子がありパソコンと接続できるようになっています。(下写真赤丸)
ロビで提供された標準以外のSDカードを使う場合は必ず4GB以下のものにしてください。
16GBまでならロビで使えますがUSB接続でSDカードが認識できないので注意してください。
ここに4Pのコネクターポストをハンダ付けして4Pコネクタハウジングを取り付けたUSBケーブルを接続できるようにしています。
USBケーブルは長いままだとPCに接続しない時はじゃまになるのでUSBの延長ケーブルのメス側を接続してPCには標準のUSBケーブルで接続しています。
結線図は以下の通りです最終的にはマイコンボードのUSB端子とUSBのタイプA端子(PCに接続)の各端子の導通試験をお勧めします。
適合するパーツのリンクは以下の通りです。
PHコネクターポスト 4P
PHコネクタハウジング 4P
PHコネクタコンタクトピン
USB延長コード microB
コンタクトピンはリード線に圧着する必要がありますがこちらの製品はハウジングとケーブルがアセンブルされているのでより簡単に接続する事ができます。
接続に成功するとファイルエクスプローラーで割り当てられたドライブが表示されます。(上記の例ではJ:)
ロビ1の場合ロビ1の電源を入れてからなるべく早く(1秒以内)USBケーブルを接続してください。
ロビ2の場合USBケーブルを接続するのはロビ2の電源を入れる前でも入れた後でも構いません。
ドライブをクリックするとロビのSDカードの中身が表示されます。
通常のSDドライブと同様にファイルを入れ替えたり追加する事ができます。
リモートファイルにデータを書き込む事によってロビを動かす事ができます。
USB接続のロビ2を動かすには以下のリンクのFlashAir(USB)フォルダーのSTARTUP.BINに入れ替えてください。(元のSTARTUP.BINのバックアップを取っておいてください)
またADDONフォルダーをロビのSDカードにコピーしておいてください。
ロビ2用リモート対応プログラム
ロビ1の場合は以下のリンをインストールしてください。(詳しくはReadMe.txtを読んでください。
リモート接続用プログラム
リモートファイルはREMOTE.LOGというファイル名の16バイトのバイナリファイルでADDONフォルダーに入っています。
ロビはこのファイル定期的に読み取りそのデータが認識語の場合、音声認識で指定された認識語と同じ処理をします。
なおデータを読取ったあとこのファィルのデータをクリアして次回の読込で同じデータを読まないようにしています。
上の例は認識語「あいさつして」で書き込まれたデータです。
最初の2バイトの0xfe,0xffは認識語を表すデータで続くバイトは(0x17)は認識語番号を表します。
あいさつしての認識語IDは23(10進)でこのデータに該当します。
他の認識語については下で提供されるExcelシートを参照してください。
なおデータを読取ったあとこのファィルのデータをクリアして次回の読込で同じデータを読まないようにしています。
あらかじめデータを書き込んだリモートファイルをロビのSDカードのADDONフォルダーにドラッグアンドドロップでコピーするだけでロビを動かす事ができます。
ADDONフォルダーにはREMOTE.LOGが存在するため次のダイアログが表示されますので「ファイルを置き換えるをクリックしてください。
リモートファイルのサンプルをいくつか提供しますので下記のリンクを開いて各認識語のフォルダーの下のREMOTE.LOGをロビのADDONフォルダーにコピーするとロビがその認識語に対して動きます。
リモートファイルサンプル
Excelのマクロ機能を使ってREMOTE.LOGに認識語データを書込む事によってロビを直接動かす事ができます。
Excelでロビを動かすには上記のリモートファイルのコピーでロビを動かすのと同様プログラムをリモート対応の物にしておいてください。
セルE2のドライブ(赤丸)をUSB接続で割り当てられたドライブに変更してください。(半角英大文字1字)
送信したい認識語を選択して「認識語送信」ボタンをクリックしてください。
本Excelシートを開いた時セキュリティ警告メッセージが表示される事があります。
その場合は警告メッセージに対して「OK」ボタンをクリックして「コンテンツの有効化」ボタンをクリックしてください。
「認識語送信」ボタンがクリックされるとマクロのSendRemoteと言う関数が呼ばれます。
認識語データを書き込むマクロ
Excelシートは下記のリンクからダウンロードできます。
SendRemote.zip
任意のフォルダーに解凍してExcelで開いてください。(zipを開いて直接実行する事もできます)
ロビ2のパワーアッププログラムはランダムに実行されます。
任意のパワーアッププログラムが動かせるようExcelのマクロ機能で認識語を送信する前にランダム値ファイル(RND.BIN)を書替えるようにしました。
RND.BINはパワーアッププログラムだけでなく全てのロビ2のプログラムでランダム値を取得する時に読み込みます。
標準ではこの値が-1(255)になっていて決まった値ではなくランダムに発生した値をランダム値にしてプログラムに返します。
今回このファイルを書き替えた場合他のプログラムに影響するので元の値(255)に戻しておく必要があります。
最後にExcelシートの一番上の「ランダム値を戻す」を選択して認識語を送信してください。
この時認識語はものまねしてが送信されるのでものまねがランダムに実行されます。
Excelシートは下記のリンクからダウンロードできます。
SendPowerUp.zip
実際にExcelでロビを動かした動画です。
目次に戻る