Projeto para controlar leds, motores e componentes de uma casa pelo teclado e serial Monitor.
Envia um caractere pelo teclado para controlar os componentes, por exemplo:
https://www.tinkercad.com/things/gO62SOxhcgA
/* Controlando leds e componentes pelo teclado e tela do Serial Monitor e teclado
* Faça a adaptação para o seu projeto
*/
const int leitura = 0; // cria variável leitura para armazenar um valor lido
const int Ledsala = 13; // cria variáveis para facilitar entendimento do código
const int Ledban = 12;
const int Ledqua = 11;
const int Ledtv = 10;
const int Ledlum= 9;
void setup(){
Serial.begin(9600); // define a taxa de comunicação de 9600 bps
pinMode(Ledsala, OUTPUT); // define portas como saída
pinMode(Ledcoz, OUTPUT);
pinMode(Ledban, OUTPUT);
pinMode(Ledqua, OUTPUT);
pinMode(Ledtv, OUTPUT);
pinMode(Ledlum, OUTPUT);
Serial.println("Digite uma letra:"); // escreve na tela Monitor
Serial.println("Esperando a leitura...");
Serial.println(" ");
delay(1000); // espera 1 seg
}
void loop(){
Serial.println(" . ");
delay(1000); // espera 1 seg
if (Serial.available()) { // Verifica se há caracteres lidos
char Led = Serial.read(); // Armazena caractere lido em Led
switch (Led) {
case 'a':
//executa quando Led for = a
digitalWrite(Ledsala, HIGH); // liga pino 13
Serial.println("recebido a ===> LED 13 está aceso.");
delay(1000); // espera 1 seg
break;
case 'f':
//executa quando Led for = f
Serial.println("recebido f ===> LED 13 está desligado.");
digitalWrite(Ledsala, LOW); // desliga pino 13
break;
case 'b':
//executa quando Led for = b
digitalWrite(Ledcoz, HIGH); // liga pino 12
Serial.println("recebido b ===> LED 12 está aceso.");
delay(1000); // espera 1 seg
break;
case 'g':
//executa quando Led for = g
Serial.println("recebido g ===> LED 12 está desligado.");
digitalWrite(Ledcoz, LOW); // desliga pino 12
break;
default:
// Se nada é comparado então o default será executado
// default é opcional
Serial.println(" ");
Serial.println(" ");
} // fim do Case
} // fim da leitura de dados
} // fim do loop