電子工作がまたやりたくなった。
前回RS-485通信をやってから、また電子工作をやってみたくなった。やってみたいテーマは、リモコンを作ってテレビや照明を消すこと。電子工作の例でよくのっているやつだ。早速秋月電子で赤外線の受信素子や赤外線LEDを購入した。
ついでに、以前に欲しいと思っていた、USBシリアルケーブルを思わず購入したのでこれを先に試すことにした。型式はTTL-232R-5V。商品が届いたが、取説類は全然入っていなかった。秋月電子のHPで書かれていたPDFで接続のしかたは分かった。試しにMacbookとArduino Unoでシリアル通信をすることにしたが、意外と苦労した。
商品が届いたが、取説類は全然入っていなかった。秋月電子のHPで書かれていたPDFで接続のしかたは分かった。試しにMacbookとArduino Unoでシリアル通信をすることにしたが、意外と苦労した。
のでこれを先に試すことにした。型式はTTL-232R-5V。商品が届いたが、取説類は全然入っていなかった。秋月電子のHPで書かれていたPDFで接続のしかたは分かった。試しにMacbookとArduino Unoでシリアル通信をすることにしたが、意外と苦労した。
MacはScreenで接続
-l /dev/tty.*
でポートを調べて$ screen /dev/tty.usbserial-FTAKBZ4I
で接続
散々苦労したが結果的に悪かったのは(わからなかったことは)Arduinoシリアルモニタは受信データを表示しない事だ。確認するには受信したデータをSerial.print()関数などで、シリアルに送らなければ鳴らない。
スケッチは以下の通り。
これが分からずに配線をいろいろ入れ替えたこともあり、RXとTXがどっちがどっちだか分からなくなった。結局正解は最初からやってたこの接続だった。
Arduino | PC TTL-232R-5V | 通信方向 |
1 : TX → | 5 : RXD(黄) | ArduinoからPCへ |
0 : RX → | 4 : TXD(橙) | PCからArduinoへ |
GND | 0 : GND(黒) |
今回いろいろ試行錯誤してわかったこと
- Ardunio通信設定のデフォルトはデータ長8bit,ストップビット1bit,パリティなし
- これをscreenで設定するには
$ screen /dev/tty.usbserial-FTAKBZ4I 9600,cs8,-parenb,-cstopb
- screenの終了方法
control + a
を押してからk 。終了してよいかどうか聞かれるのでy
を押す