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? =(
Tags:
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 .
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por