前提・実現したいこと
ArudinoIDEシリアルモニタから、Bluetoothで繋がれたesp32の制御をしたいと考えています。
使用しているデベロッパーボード
https://www.switch-science.com/catalog/3210/
ESP32にはRGBLEDが接続してあります。
発生している問題・エラーメッセージ
PCと接続している状態で、シリアルモニタ上でLEDの制御することは成功したのですが、Bluetooth接続したあとにシリアルモニタからの制御ができていない状態です
https://qiita.com/keitasumiya/items/5b4961de169299e902db#serail%E9%80%9A%E4%BF%A1-via-bluetooth
こちらを参考してコード作成しました。
該当のソースコード
java
1#include "BluetoothSerial.h" 2 3BluetoothSerial SerialBT; 4 5int green = 5; 6int red = 16; 7int blue = 17; 8 9bool g = false; 10bool r = false; 11bool b = false; 12 13void setup() { 14 15 pinMode(green, OUTPUT); //green 16 pinMode(red, OUTPUT); //red 17 pinMode(blue, OUTPUT); //blue 18 19 digitalWrite(red, LOW); 20 digitalWrite(green, LOW); 21 digitalWrite(blue, LOW); 22 SerialBT.begin("esp"); 23} 24 25void loop() { 26 27 28 int inputchar; 29 30 // シリアルポートより1文字読み込む 31 inputchar = Serial.read(); 32 33 if (inputchar != -1 ) { 34 // 読み込んだデータが -1 以外の場合 以下の処理を行う 35 36 switch (inputchar) { 37 case 'r': 38 if (r == false) { 39 Serial.print("red ON\n"); 40 digitalWrite(red, HIGH); 41 r = true; 42 } else if (r == true) { 43 Serial.print("red OFF\n"); 44 digitalWrite(red, LOW); 45 r = false; 46 } 47 break; 48 case 'g': 49 if (g == false) { 50 Serial.print("green ON\n"); 51 digitalWrite(green, HIGH); 52 g = true; 53 } else if (g == true) { 54 Serial.print("green OFF\n"); 55 digitalWrite(green, LOW); 56 g = false; 57 } 58 break; 59 case 'b': 60 if (b == false) { 61 Serial.print("blue ON\n"); 62 digitalWrite(blue, HIGH); 63 b = true; 64 } else if (b == true) { 65 Serial.print("blue OFF\n"); 66 digitalWrite(blue, LOW); 67 b = false; 68 } 69 break; 70 } 71 } else { 72 73 } 74 delay(30); 75 76 77} 78 79

回答1件
あなたの回答
tips
プレビュー