Estou fazendo um projeto de um arduino que tem conexão via bluetooth a um aplicativo de android criado por mim, foi testado o aplicativo e funcionou varias vezes em um codigo do arduino separado pra cada ação, mas quando eu juntei todas não funcionou mais, verifiquei se o celular estava enviando o esperado, e sim ele tava…gostaria da ajuda a vocês no codigo se é algo que me equivoquei ou se talvez for algo fisico mesmo.
#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial bluetooth(5, 6);
#define PRESSIONADO true
#define NAO_PRESSIONADO false
const byte RELE = 8;
Servo servomotor;
int valorSerial = 0;
#define Sala1 10
#define Quarto1 11
#define Garagem 12
String comando;
void setup() {
bluetooth.begin(9600);
bluetooth.begin(9600);
servomotor.attach(9);
pinMode(Sala1, OUTPUT);
pinMode(Quarto1, OUTPUT);
pinMode(Garagem, OUTPUT);
}
void loop() {
comando = "";
if(bluetooth.available()){
while(bluetooth.available()){
char caracter = bluetooth.read();
comando += caracter;
delay(10);
}
Serial.print("comando: ");
Serial.println(comando);
}
if(comando.indexOf("ABRIR")>= 0){
for(int i=0; i<=90; i++){
Serial.print("ligou");
servomotor.write(i);
digitalWrite(Garagem,LOW);
delay(20);
}
}
if(comando.indexOf("FECHAR")>= 0){
for(int i=90; i>=0; i--){
Serial.print("desligou");
servomotor.write(i);
digitalWrite(Garagem,HIGH);
delay(20);
}
}
if(comando.indexOf("Sala1")>= 0){
digitalWrite(Sala1, !digitalRead(Sala1));
}
else if(comando.indexOf("BrilhoSala")>= 0) {
String brilhoSala = comando.substring(11);
analogWrite(Sala1,brilhoSala.toInt());
}
if(comando.indexOf("Quarto1") >= 0) {
digitalWrite(Quarto1, !digitalRead(Quarto1));
}
else if(comando.indexOf("BrilhoQuarto")>= 0) {
String brilhoQuarto = comando.substring(13);
analogWrite(Quarto1,brilhoQuarto.toInt());
}
}