Olá galera,

Estou rodando uma aplicação do tipo : 


int caracter; //Definição de uma variável do tipo Inteiro para guardar o código ASCII do caracter recebido


void setup() // ............... Função Setup .................
{
Serial.begin(9600); // Definição da Velocidade de comunicação
}


void loop() // ................. Função Loop .................
{

caracter=0; // Inicia a variável "caracter" a Zero
if (Serial.available()> 0) // Verifica se foi recebido algum caracter (codigo ASCII rfecebido > 0)
{
caracter=Serial.read(); // Se sim -> Lé e guarda o valor enviado pela aplicação Controla Arduino na variável "caracter"
}
//------ Testa o valor recebido ------

if (caracter== 97) // Se for recebido o 97 código ASCII "a"
{
Serial.println("b"); // Resposta = "b"

//---- O LED pisca 1 vez ----
digitalWrite(13, HIGH); // LED on
delay(1000); // Espera um segundo

digitalWrite(13, LOW); // LED off
delay(1000); // Espera um segundo

}

else if(caracter==98) // Se for recebido o 98 código ASCII "b"
{
Serial.println("c"); // Resposta = "c"

//---- O LED pisca 2 vezes ----
digitalWrite(13, HIGH); // LED on
delay(1000); // Espera um segundo

digitalWrite(13, LOW); // LED off
delay(1000); // Espera um segundo

digitalWrite(13, HIGH); // LED on
delay(1000); // Espera um segundo

digitalWrite(13, LOW); // LED off
delay(1000); // Espera um segundo

}
else if(caracter==99) // Se for recebido o 99 código ASCII "c"
{
Serial.println("abcde"); // Resposta = "abcde"

//---- O LED pisca 3 vezes ----
digitalWrite(13, HIGH); // LED on
delay(1000); // Espera um segundo

digitalWrite(13, LOW); // LED off
delay(1000); // Espera um segundo

digitalWrite(13, HIGH); // LED on
delay(1000); // Espera um segundo

digitalWrite(13, LOW); // LED off
delay(1000); // Espera um segundo

digitalWrite(13, HIGH); // LED on
delay(1000); // Espera um segundo

digitalWrite(13, LOW); // LED off
delay(1000); // Espera um segundo

}
}

Mas eu previso que dentro de cada IF, continue a executar, de novo e de novo, até que eu decida parar, mas não consegui definir uma maneira de sair do loop de um if e entrar em outro quando eu quiser... alguém tem alguma ideia? =(

Exibições: 331

Responder esta

Respostas a este tópico

Ou invés de IF coloque while  , tipo  

While (caractere==98){

ira executar o que quer ate que não seja mais verdade .

}

daí quando a variavel não for mais 98 ela saira do loop .

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço