Piscar LED X Vezes - Arduino, C# | ZigTek
NOVIDADES:
Carregando...

Piscar LED X Vezes - Arduino, C#




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