Ciao a tutti,
volevo chiedervi indicazioni in merito ad un problema che ho riscontrato.
Sto cercando di stampare un dato proveniente da smartphone via Bluetooth HC05.
Praticamente accendo il modulo BT alzando il livello logico di un pin, in modo tale da poterlo attivare da pulsante quando lo decido io. Il problemo a che visualizzo i dati inviati (di tipo stringa) solo quando spengo e riaccendo l'HC05. Non so cosa comporti dal punto di vista operativo ma vorrei comunque visualizzare i dati in tempo reale.
#include <SoftwareSerial.h>
#define pin_buzz 9
long t = 0;
long debounce_delay = 200;
SoftwareSerial BTSerial(2, 3); // RX, TX
void connect_BT(void);
void printSerialData(void);
void setup() {
pinMode(7, INPUT);
pinMode(13, OUTPUT);
pinMode(pin_buzz, OUTPUT);
pinMode(8, OUTPUT);
Serial.begin(9600);
BTSerial.begin(9600);
}
int i = 0;
//char c;
String c="";
void loop() {
if (digitalRead(7)) {
if ((millis() - t) > debounce_delay) {
i++;
Serial.println(i);
t = millis();
}
switch (i) {
case 5:
digitalWrite(13, HIGH);
// tone(pin_buzz, 1000, 200);
//Serial.read();
connect_BT();
break;
case 6:
digitalWrite(13, LOW);
digitalWrite(8, LOW);
digitalWrite(pin_buzz, LOW);
Serial.println("BT Spento");
i = 0;
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
}
}
void connect_BT() {
tone(pin_buzz, 1000, 200);
digitalWrite(8, HIGH);
Serial.println("BT Acceso");
if (BTSerial.available()) {
c += BTSerial.readString();
Serial.println(c);
}
}