Bom dia pessoal, estou começando agora no arduino e logo de cara estou com um problema/duvida.
fiz um programinha simples em Delphi para se conectar ao arduino (Arduino UNO) e fiz um botao que quando clicado pisca 3 led alternadamente (pin 13, 12, 11), porem queria que ele ficasse executando essa sequencia até ser pressionado outro botao no delphi, a conexão com o Delphi já esta tudo certa, testei e esta funcionando corretamente, só não estou conseguindo colocar essa função em loop até que seja pressionado outro botão.
poderiam me dar uma mão?
para ficar mais claro vou postar o fonte do arduino e vou colocar em negrito a função que estou querendo deixar em "loop"
desde já agradeço a atenção de você, estou fascinado pelo Arduino hehe
[size=8pt]
int led = 13;
int led_amarelo = 12;
int led_vermelho = 11;
int armazena;
int aux;
void setup()
{
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(led_amarelo, OUTPUT);
pinMode(led_vermelho, OUTPUT);
}
void loop()
{
if(Serial.available())
{
armazena = Serial.read();
//BOTAO CONECTAR
if (armazena == 51) //51 = 3
{
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
}
//BOTAO DESCONECTAR
if (armazena == 52) //52 = 4
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
}
[b]//BOTAO PISCAR TODAS AS LAMPADAS
if (armazena == 53) //53 = 5
{
[u][color=red]//como piscar todas as lampadas até ser clicado outro botão no delphi[/color][/u]
digitalWrite(led, HIGH);
delay(50);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led_amarelo, HIGH);
delay(50);
digitalWrite(led_amarelo, LOW);
delay(50);
digitalWrite(led_vermelho, HIGH);
delay(50);
digitalWrite(led_vermelho, LOW);
delay(50);
}
//BOTAO DESLIGAR TODAS AS LAMPADAS
if (armazena == 54) //54 = 6
{
[u][color=red]// como desligar o "PISCAR TODAS AS LAMPADAS" utilizando outro botao no delphi[/color][/u]
}[/b]
}//if(Serial.available())
}//void loop()[/size]