本稿ではMG400のI/Oの読み取りのタイミングが意図した場所とずれてしまう問題について、原因と対処法を案内しています。
1. 原因
MG400のプログラムでは、MG400にコマンドを送信後すぐに次のブロック(行)を実行してしまいます。このため、MG400の動作が完了する前にI/Oの読み取りが実行されてしまい、意図した動作を行わない場合があります。
2. 対処法
同期命令を追加することで、MG400の動作が完了するまでプログラムを停止することが出来ます。
・Teach&PlayBackの場合
I/Oの読み取りの前に”Sync”コマンドを追加する。
・Blocklyの場合
I/Oの読み取りの前に”Stop at this point”ブロックを追加する。
・Scriptの場合
I/Oの読み取りの前にSync()関数を追加する。
その他プログラムに関してご不明点がございましたらお気軽にdobot@techshareまでご連絡ください。