Hub 007 - Acender e apagar leds por comunicação serial com o Arduino

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 Resultado de imagem para protoboard 830v

No mínimo utilizar protoboard com 830 pontos

Jumpers Kit cabos ligação macho / macho 1    
Led 5mm

LED 5mm

3 Resultado de imagem para led vermelho

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

×

Infomações do site / SEO








×

Adicionar Marcadores