Controlando um LED usando a comunicação serial. - efrainmpp1/Arduino-URA GitHub Wiki

Introdução

Iremos criar um programa que permita:

  • Acender o primeiro LED ao digitar: u (um)
  • Acender o segundo LED ao digitar: d (dois)
  • Apagar os dois LEDs ao digitar: a (apagar)
  • Piscar alternado ao digitar: l (alternar)

Utilizando o envio de comandos pela conexão serial.

Montagem

Código

char x; //variável que vai receber o que chega
//na porta serial
void setup(){
Serial.begin(9600); //inicia a porta serial
pinMode(13,OUTPUT); //Pinos 12 e 13 com saídas digitais
pinMode(12,OUTPUT);
}
void loop() {
if (Serial.available()) { //verifica se chegou algum dado na porta
x=Serial.read(); //lança em x o valor da porta serial
if (x=='u') { /*Quatro blocos if, nos quais testamos as letras “u”, “d”, “a” e “l”.
  Cada um dos blocos executa uma operação nos pinos 12 e/ou 13, acendendo ou 
  apagando algum LED. */
}
digitalWrite(13,1);
}
if (x=='d') {
digitalWrite(12,1);
}
if (x=='a') {
digitalWrite(12,0);
digitalWrite(13,0);
}
if (x=='l') {
for (int i=0;i<15;i++){
digitalWrite(12,0);
digitalWrite(13,1);
delay(200);
digitalWrite(13,0);
digitalWrite(12,1);
delay(200);
digitalWrite(12,0);
}
}
}

Referências

  • Apostila Projeto URA