« 秋月の赤外光送受信モジュール(AE-RPM851A)を使ってみる(IrDAを試す) | トップページ | 「UART←→IrDA」変換IC、MCP2122のクロック供給 »

2022年6月18日 (土)

秋月の赤外光送受信モジュール(AE-RPM851A)を使ってみる(IrDAを試す) #2

秋月の赤外光送受信モジュール(AE-RPM851A)を使ってみる(IrDAを試す)の続き。
この図のように、Arduino-UNOで送受を行ってみました。
Uu1
  ※相手は Tera Term につないだUSBシリアル変換モジュール
   での赤外線。 ↑図の右端にあたる。

Ab11

こんなArduino-UNOのスケッチで試しました。
  ダウンロード - irda_test1.txt
    ※ファイルタイプを.inoではなく.txtにしています。

・シリアル通信は9600BPSで。
・リセット起動後、setupでクロックパルスを出力。
・MCP2122をリセット(リセット出力をLに)。
   プルダウン抵抗を入れているので、ポートが
   入力状態では(初期化前)リセット状態。
・0.5秒後、MCP2122のリセットを解除。
・0.1秒後、起動メッセージ「IrDA test」を出力。
・その後、プロンプト(>)を出力して受信開始。
   0x0d(CR)が来るまで1行文字入力。
   文字ごとにエコーバック。
   0x08(BS)で1文字消去。
   バッファに入れるのはisprint()文字だけ。
・CRが来たら、
   バッファ文字列を1行出力。
   その文字を16進で出力。
   文字入力に戻る。

ということで、起動するとこんな感じでTera Termに文字が
帰ってきます。

Test IrDA  ←Arduinoが出力
>1234 abc  ←Tera Termで入力した文字をエコーバック
1 2 3 4 a b c  ←CRで1行+16進出力
31 32 33 34 20 61 62 63
>      ←次の文字待ち

確かめたかったのは、入力文字のエコーバック。
受信してすぐにその文字をエコーバックしてるのですが、
それがどうだ!(抜けないのか?)を見たかったのです。
大丈夫でした。
赤外線を使った無手順の双方向通信(同時は光の
衝突で無理)、MCP2122でうまく行きそうです。

※文字 0x40 = '@'を送った時の様子
Dd000

※文字 0x55 = 'U'を送った時の様子
Dd001

うまいこと「エコーバック」した文字が返っています。


|

« 秋月の赤外光送受信モジュール(AE-RPM851A)を使ってみる(IrDAを試す) | トップページ | 「UART←→IrDA」変換IC、MCP2122のクロック供給 »

Arduino」カテゴリの記事

IrDA」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 秋月の赤外光送受信モジュール(AE-RPM851A)を使ってみる(IrDAを試す) | トップページ | 「UART←→IrDA」変換IC、MCP2122のクロック供給 »