【ラズベリーパイ3+Arduino】シリアル通信で複数のLED点滅

スポンサーリンク
ビッグバナー(上2)

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

シリアル通信でLED点滅

Raspberry Pi3 (Python)から Arduino経由で11~13番ピンに繋いだLEDを点滅させます。
点滅の合図はシリアル通信で送信する文字列で行いました。
(11~13番ピンをオンにするかオフにするかをカンマ区切りの文字列で送ります)

回路構成

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

【使用機器】
ラズベリーパイ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, on, off」と入力→11・12番ピン点灯、13番ピン消灯
「off, off, on」と入力→11・12番ピン消灯、13番ピン点灯
【関連記事】
ラズベリーパイ3で電子工作入門
Arduino入門 サンプル集
Python入門 サンプル集

スポンサーリンク
レクタングル(下2)
レクタングル(下2)

シェア&フォローお願いします!