ESP32のbluetoothで1と0でセンサー出力をON/OFFするプログラムを作りたい
普段はvb.net を触っているぐらいなのですが、Aruduino最近触りはじめたところです。
作業環境はwin10Pro ,使用言語はC++?(Aruduino IDE)、ESP32のBluetoothモジュール、
通信はteratermを使用してます。
やりたいことESP32に照度センサーを接続して、ESP32とPCをBluetoothでペアリング。
PCからteratermで1+エンターキーで通信開始、ESP32からBluetoothで照度センサーの出力を送信、PCで受信し続ける。
PCのteratermで0を送信すると通信が止まる
以上の動作を実現したい。
現在の状況
PCのteratermで1+⏎キーで通信が始まりますが、0+⏎キーをしても通信が止まらない
以下にコードを記載します。
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
void setup() {
pinMode(35, INPUT); // 35番ピンを入力用にする
SerialBT.begin("ESP32LED"); // Bluetoothシリアルに「ESP32LED」という名前で初期化
Serial.begin(115200); // シリアルモニタの初期化
}
void loop() {
int dac ; // int型の変数dacを宣言する。
dac = analogRead(35); // 電圧を読み取って変数dacに代入する。
if(SerialBT.available()){
char ch = SerialBT.read();
Serial.println(ch);
while(ch =='1'){
Serial.println(dac); // 変数dacの値をシリアルモニタに出力する delay(500); // 0.5秒待つ SerialBT.println(dac); delay(500);
// if(ch =='0'){
// SerialBT.println('stop');
// break;
// }
}
}
}
0を受け付けてない?
そもそも、Whileを使わない方が良いのか?勉強不足でよくわかっていません。
アドバイスお願いいたします。
それとvb.netなどを使用しているとデバッグのステップオーバー機能とかがあるのでどう動作しているのかが確認しやすいのですが、AruduinoIDEは触り始めたばかりなのでよくわかりません。visual studio でもaruduino IDE があるみたいですが、評価があまり良くないのと有償なのでまだ導入していません。おすすめのAruduinoの開発環境がありましたら教えてください。

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