Início
/
Projetos Arduino
/
Squids Hub
/
Básico
/
Hub 007 - Acender e apagar leds por comunicação serial com o Arduino
Hub 007 - Acender e apagar leds por comunicação serial com o Arduino
Angelo Luis Ferreira | 14/10/2020
Acessos: 9.917
Básico - Hub 007
Leds são acionados pelo teclado do computador
Sugerido por: Vinicius Medeiros ENVIAR SUGESTÃO
Objetivo
O projeto é composto por 3 leds, um verde, um amarelo e um vermelho. Ao digitar a letra "A" no teclado do computador, o led verde piscará 2 vezes; ao digitar a letra "B", o led amarelo piscará 3 vezes; e finalmente, ao digitar a letra "C", o led vermelho acenderá se estiver apagado ou desligará se estiver aceso. Obs.: As letras digitadas deverão ser maiúsculas.
Componentes necessários
Referência
|
Componente
|
Quantidade
|
Imagem
|
Observação
|
Protoboard |
Protoboard 830 pontos |
1 |
|
No mínimo utilizar protoboard com 830 pontos
|
Jumpers |
Kit cabos ligação macho / macho |
1 |
|
|
Led 5mm |
LED 5mm
|
3 |
|
No projeto utilizamos 3 leds, um verde, um amarelo e um vermelho
Você também poderá utilizar LEDs de 5 ou 3 mm nas cores que desejar, alto brilho ou difuso.
|
Resistor |
Resistor
|
3 |
|
3 Resistores 150Ω (ou superiores)
|
Arduino UNO |
Arduino UNO R3 |
1 |
|
Você poderá utilizar uma placa Arduino UNO original ou similar
|
Montagem do Circuito
Referências
Hub 005 - Acender leds por comunicação serial - Arduino
Comunicação Serial - Documentação Arduino
Código do Projeto (Sketch)
Faça o download e abra o arquivo hub007.ino no IDE do Arduino: DOWNLOAD - projetoI07.ino
Ou se preferir, copie e cole o código abaixo no IDE do Arduino:
/* *************************************
* Hub 007 - Ativar leds por comunicação serial com o Arduino
* Autor: Angelo Luis Ferreira
* 30/09/2020
* http://squids.com.br/arduino
*
*************************************** */
const byte ledRed = 13;
const byte ledYellow = 9;
const byte ledGreen = 6;
char letter;
boolean control = 0;
boolean state = 0;
void setup() {
Serial.begin(9600); // incia a comunicação serial
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(ledGreen, OUTPUT);
Serial.println("Digite: ");
Serial.println("A para piscar o led verde");
Serial.println("B para piscar o led amarelo");
Serial.println("C para acender ou apagar o led vermelho");
}
void loop() {
if (Serial.available()) {
letter = Serial.read();
control = 0;
Serial.print("Char recebido: ");
Serial.println(letter);
}
// pisca led verde
if (letter == 'A' && control == 0) {
for (byte i=0;i<2;i++) {
digitalWrite(ledGreen, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(ledGreen, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
control = 1;
}
// pisca led amarelo
if (letter == 'B' && control == 0) {
for (byte i=0;i<3;i++) {
digitalWrite(ledYellow, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(ledYellow, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
control = 1;
}
// muda estado led vermelho
if (letter == 'C' && control == 0) {
state = !state;
digitalWrite(ledRed, state);
control = 1;
}
}
Obs. Ao abrir o monitor serial do IDE do Arduino visualizaremos os valores digitados:
Simulação
Desafios
Com base neste projeto, resolva o seguinte desafio: Desafio 77
O anúncio abaixo ajuda a manter o Squids Arduino funcionando
Comentários