H8Tiny(3664)で二足歩行ロボット(KHR-1HV)制御 表題の通り,やってみました. こんな感じです↓秋月のH8タイニーマイコンのI/OボードのCN2からシリアル信号(ADM232につながる前) を引き出します. TXD:19番 GND:26番 KHR-1HVの低速シリアルポートへの入力は,スタートビット(H),ストップビット(L)とも 通常のシリアル信号とは反転しているようです. データも負論理なので,H8のシリアルポートの信号を単純に反転してKHR-1HVの 低速シリアルポートへ接続すればよいようです. 基板を組むのも面倒なので手元にあったトランジスタと抵抗で立体的に回路を作成しました.
回路図はこちら.これまた適当な回路図ですみません. I/Oボードに直付けなので,ちょっと大き目の抵抗(20k)で簡単な回路を組んでます.
低速シリアルポートに接続↓
プログラムは,GDLのH8/3694用のシリアル通信のサンプルプログラムから1文字送信の部分だけ を利用させてもらいました. ボーレートを2400bpsに設定,後はrs_putc()関数で1文字ずつ,2文字送信. 2文字送ったら間隔をあけないといけないようなので,2重のループで時間稼ぎを入れてます. 前進のモーションを1番に入れてますので,送る文字コードは, rs_putc(0xf0) //送信機のシフトキーなしの場合 rs_putc(0x01) //押したキー(左側の↑ボタン) としました.
RCB-3の低速シリアルポートを使うには,KHR-1HVのアプリケーション(HeartToHeart Part3)のオプションで,KRC1から制御にチェックを入れないといけません.(これを忘れれて無駄に時間を使ってしまいました)
KHR-1HVをONにし,その後H8Tinyの電源を入れると,H8Tinyの信号でロボットが前進を始めました. -------------------------------------------- H8Tiny(3664)で二足歩行ロボット(KHR-1HV)制御 その2 マイクロマウスの出場に向けていろいろ試してみました. 以前,シリアルポートで動動かせることだけは確認したのですが, その再確認とプログラムによる動作制御を試しています. 低速シリアルの動作モードは,2通りあるらしく, HeartToHeartのKRC-1を使うにチェックを入れない場合は7バイトモード, KRC-1を使うにチェックを入れると2バイトモードになるらしく, ここでは2バイトモードで使っています. 1バイト目は送信機のシフトキーの信号,2バイト目が方向ボタンに割り当てられています. ノーマルHレベル,キーを押したとき信号がLレベルになるようになります. TTLレベルで2400bps8バイトのシリアル信号を,通常Lレベル,スタートビットHレベル, ストップビットLレベルで2バイト連続で送ればよいらしく,2バイト送った後は17msec以上 あける必要があります. H8から信号を作るときは,H8のTTLレベルのシリアル信号は通常HレベルでスタートLレベル, ストップHレベルとなっているので,トランジスタで反転し,反転したときにつじつまが あうように信号を作ってKHR-1HVに送ります. 信号を読み損ねる場合があるようなので,数回送る必要があります. いったんモーションを始めると連続して行うようなので,ストップのモーションを送る 必要がありそうです. 次の動画は約5秒前進と約5秒後退を繰り返しています. プログラムでは5秒間モーションを送り続け,5秒後にモーション切り替え,を繰り返しています.
5秒前進と約5秒後退を繰り返す動画