Arduino用の赤外線シリアル通信クラス

ちょっと赤外線でシリアル通信したいなーと思うことがあったのでArduino用に作ったので、いつも通りgistに公開しました。



ArduinoのDigitalPin12に赤外線LEDをつけて送信するようになっています。

PORTBを直接いじってる関係でPORTB上にほかのデバイスをつけることができなくなります。

PWM出力の周波数をいじれば、もっとうまいことできるような・・・?
ちょっとそのあたりの知識がまだ不足気味です。

受信するときは赤外線受信モジュールのVoutをSerialReadすればOK(だと思います)。
自分が試したときはSerial-USB変換モジュールのRXに直結してPCから信号を見ていまた。

しかしこのプログラム、delay関数で直接、1周期の時間を指定しているせいで、ほかの処理が遅くなると発信周波数がずれて、正しい信号を送れなくなるのです・・・

16MHzのArduinoなら特に問題にはならなかったけど、8MHzのArduinoだとうまく動かない。

うーん、どうしたものか。

 関連エントリ

©2023 みや All rights reserved.