A estrema facilidade com que hoje se podem criar aplicações quer para PC quer para o Arduino é surpreendente.
Hoje deixamos um exemplo muito simples de interação entre PC e Arduino.
Recorrendo a ligação de porta serie do Arduino, desenvolvemos um código muito simples (que abaixo apresentamos) e uma aplicação em Winforms C# que faz a interação e controlo desta.
Na aplicação PC controlamos então o numero de vezes que um Led vai piscar no Arduino, podendo ainda visualizarem-se as mensagens de Debug que este envia para o PC.
Link para download do projeto da app para PC
Código Fonte Arduino:
const int ledPin = 13; //LED do Arduino
long intervalo = 1000; //Tempo de espera 1 segundo
char lido=0;
int estado=0,pisca=0;
void setup() {
Serial.begin(9600); //Abrir porta serie
digitalWrite(ledPin, LOW); //Começar com LED desligado
pinMode(ledPin, OUTPUT); //Define pino como saida
}
void loop()
{
if(Serial.available()) //Se houver dados para ler na porta serie
{
lido = Serial.read(); //Ler dados
if(lido=='i') //Se receber o carater "i" avança para estado de espera pelo nº de vezes a piscar
{
estado=1;
Serial.println("recebeu i");
}
else if(estado==1 && lido>0 && lido<10) //Aceita valores entre 0 e 9, que sao em ASCII 48 ate 58
{
pisca=lido;
Serial.print("recebeu ");
Serial.println(pisca,DEC);
while(pisca!=0)
{
digitalWrite(ledPin, HIGH); //Acende LED
pisca--;
delay(intervalo); //Espera
digitalWrite(ledPin, LOW); //Apaga LED
delay(intervalo); //Espera
}
estado=0; //Volta ao estado inicial
}
else
{
Serial.print("recebeu lixo ");
Serial.println(lido,DEC);
estado=0;
}
}
}
0 comentários:
Enviar um comentário