【ラズベリーパイ3】シリアル通信でArduinoのLED点滅(文字列)

この記事では、RaspberryPi3からシリアル通信でArduinoに文字列を送ってLEDを点滅させる方法をソースコード付きで解説します。

シリアル通信でLED点滅

Raspberry Pi3 (Python)から Arduino経由で13番ピンとGNDに刺したLEDを点滅させます。
点滅の合図はシリアル通信で送信する文字列で行いました。

回路構成

回路構成(配線図)です。

【使用機器】
ラズベリーパイ3 ×1
Arduino UNO ×1
LED ×1
抵抗(470Ω) ×1
ブレッドボード ×1
・ジャンパーワイヤ(メス-オス) 数本

※LEDとピンの間に470kΩ程度の抵抗を入れます。
※LEDをさす際はアノードとカソードの向きに注意してください。

ソースコード

サンプルプログラムのソースコードは下記の通りです。
【Arduino側】


※何かデータが送られて来たらLEDを点灯

【ラズベリーパイ側(Python)】


■serial.Serial(シリアルポート, 通信速度, timeout=タイムアウト時間[s])

※ArduinoをUSBポートに抜き差しするとArduinoが接続されているシリアルポート「/dev/ttyACM0」が変化することがあります。
「serial.serialutil.SerialException: could not open port」などとエラーが出た場合は、下記事を参考に変化後の値に書き換えて下さい。
【ラズベリーパイ3】dmesgコマンドでArduinoのUSBシリアルポートを確認

実行結果

標準入力で「on」を入力すると、LEDが点灯、それ以外を入力すると消灯、「q」を入力するとプログラムが終了します。

【関連記事】
ラズベリーパイ3で電子工作入門
Arduino入門 サンプル集
Python入門 サンプル集

コメント