[Projeto Semanal] Controle de iluminação

Considerando o circuito mostrado na figura,escreva um sketch(programa) que receba um caractere pela entrada serial.Se o caractere for 'v' o LED vermelho deve ligar e se ele já estiver ligado irá apagar,repita essa lógica com os outros LED's alterando a letra de acionamento do LED como na imagem assim como o amarelo corresponde a 'a' e o laranja a 'j'. o estado de cada LED deverá ser mostrado no monitor serial.

https://www.tinkercad.com/things/5NBDilv06DQ

 

 

int LEDV = 2;
int LEDA = 3;
int LEDL = 4;

void setup() {
  Serial.begin(9600);    //configura comunicação serial com 9600 bps
  pinMode(LEDV,OUTPUT);   //configura pino do led como saída
  pinMode(LEDA,OUTPUT);
  pinMode(LEDL,OUTPUT);
  Serial.println("Digite a Letra do Led que deseja Alterar (V-Vermelho A-Amarelo L-Laranja)");
}

void loop() {
 
   if (Serial.available()) //se byte pronto para leitura
   {
        switch(Serial.read())      //verifica qual caracter recebido
        {
        case 'V':                  //caso 'V'
        digitalWrite(LEDV,!digitalRead(LEDV));
        break;
      
        case 'A':                  //caso 'A'
        digitalWrite(LEDA,!digitalRead(LEDA));
        break;
      
        case 'L':                  //caso 'L'
        digitalWrite(LEDL,!digitalRead(LEDL));
        break;
      
        default:
        Serial.println("Por favor, digite apenas V, A ou L");
        break;
        }
   
        if (digitalRead(LEDV)== LOW)
        {Serial.println("Vermelho: Desligado");}
         else
        {Serial.println("Vermelho: Ligado");   }   
     
        if (digitalRead(LEDA)== LOW)
        {Serial.println("Amarelo : Desligado");}
         else
        {Serial.println("Amarelo : Ligado");   }    
     
        if (digitalRead(LEDL)== LOW)
        {Serial.println("Laranja : Desligado");}
         else
        {Serial.println("Laranja : Ligado");   }
   
   Serial.println();
   Serial.println("Repita a operacao:");  
 
   }
}

Nenhum comentário:

Postar um comentário