Pessoal, estou tentando acionar 3 relés via bluetooth e só consigo acionar 1, segue código abaixo:

 if(Serial.available()){
    readBluetooth = Serial.read();//Valor lido na Serial será guardado na variável readBluetooth
    if(readBluetooth == 'a'){

        if (lampstatus == HIGH)
            lampstatus = LOW;
        else
            lampstatus = HIGH;
        digitalWrite(rele, lampstatus);
       
        
  if(Serial.available()){
    readBluetooth = Serial.read();//Valor lido na Serial será guardado na variável readBluetooth
    if(readBluetooth == 'b'){

        if (lampstatus1 == HIGH)
            lampstatus1 = LOW;
        else
            lampstatus1 = HIGH;
        digitalWrite(rele1, lampstatus1);

A primeira parte funciona bem, eu ligo e desligo o relé enviando a letra 'a'. a segunda parte quando envio o 'b', não acontece nada. Help me!

Exibições: 421

Respostas a este tópico

 if(Serial.available()){
    readBluetooth = Serial.read();//Valor lido na Serial será guardado na variável readBluetooth
    if(readBluetooth == 'a'){

        if (lampstatus == HIGH)
            lampstatus = LOW;
        else
            lampstatus = HIGH;
        digitalWrite(rele, lampstatus);
      
    if(readBluetooth == 'b'){

        if (lampstatus1 == HIGH)
            lampstatus1 = LOW;
        else
            lampstatus1 = HIGH;
        digitalWrite(rele1, lampstatus1);

}

Tenta assim!

Melhor assim, usei em um projeto de tanque misturador:

if(Serial.available()){
ler = Serial.read();
if(ler == 'x'){ // FALAR X
estado = !estado;
}
digitalWrite(led, estado);
if(ler == 'y'){ // FALAR Y
estado2 = !estado2;
}
digitalWrite(led2, estado2);
//==BOMBA 3 MANUAL=============================
if(ler == 'z'){ // FALAR Z
estado3 = !estado3;
}
digitalWrite(led3, estado3);
}

Funcionou!!!! obrigado a todos pela colaboração, espero também poder ajudar...

Manda o seu código que deu certo. 

Relate o que deu errado no meio do caminho, isso pode ajudar outras pessoas.

Abs

Não existe segundo if se não fechar a chave...

Que tal simplesmente armazenar a variável e depois ver o que vai fazer:

 if(Serial.available()){

    readBluetooth = Serial.read();//Valor lido na Serial será guardado na variável readBluetooth
} //Já leu o valor e armazenou...

if(readBluetooth == 'a'){

        lampstatus != lampstatus;
        digitalWrite(rele, lampstatus);

} else if (readBluetooth == 'b'){
         lampstatus1 != lampstatus1;
        digitalWrite(rele1, lampstatus1);

}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço