### ESP32同士でのbluetoothシリアル通信を使ったLED点灯
ESP32を2つ使って片方をスイッチ、もう片方をLEDに接続してスイッチを押すとLEDが点灯するようなプログラムを作っています。
一つのボタンと一つのLEDを使ったプログラムは、このURL「https://www.remma.net/?p=367」を参考にしてできました。しかし、スイッチを2つ、LED2つを使った場合、片方のLEDが点灯しません。送信側にスイッチのプログラム、受信側にLEDを点灯させるプログラムをelse ifを使って記入しました。
発生している問題
else ifを使っているほうのLEDが点灯しない
該当のソースコード
Arduino
1//プログラムは上記URLを参考にしているので、以下のプログラムは自分で変更した部分のみです 2//受信側プログラム 3void loop() { 4 if (SerialBT.available()) { 5 Serial.println(SerialBT.available()); 6 if (SerialBT.read() == 'A') { //スイッチを押すとLEDは点灯する 7 digitalWrite(LED_PIN1, HIGH); 8 } 9 else if (SerialBT.read() == 'D') { //スイッチを押しても点灯しない 10 digitalWrite(LED_PIN2, HIGH); 11 } 12 } 13 14//送信側プログラム 15void loop() { 16 if (digitalRead(14) == LOW) { 17 Serial.println("LED is ON."); 18 SerialBT.write('A'); 19 } 20 else if (digitalRead(4) == LOW) { 21 SerialBT.write('D') 22 }
試したこと
・送信する文字の変更
・出力ピンの変更
・LEDの変更
補足情報(FW/ツールのバージョンなど)
Arduino IDEでボード変更することによりESP32に書き込んでいます。
Arduino 1.8.13 (Windows Store 1.8.42.0)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。