Comunidade DIY

Nossa finalidade é juntar as mentes brilhantes espalhadas pelo mundo e fazer dele ainda melhor.

Acendendo um LED no Arduino UNO

Todos que começam a conhecer o Arduino querem acender um LED. É super importante conhecer todos os GPIOs(portas de entrada e saída) de um microcontrolador, farei futuramente um artigo sobre as portas do Arduino.


Vamos começar pelo Arduino UNO, muito popular, de principio iremos acender um LED através de um push button.


O que vamos precisar:

Microcontrolador Arduino UNO
Resistores 10k,  330 ohms
Botão push button
Componente auxiliar LED
Montagem Protoboard


Segue abaixo o desenho do circuito em protoboard:


Basicamente ligamos um resistor no LED para limitar a corrente, o mesmo esta ligado no GPIO 10 do Arduino. O GPIO ligamos o pushbutton, note que há um resistor ligado  juntamente com o botão na mesma porta.

Por que um resistor junto com botão? Esse resistor faz a função do pulldown, ele irá mandar constantemente o sinal baixo(GND) para a porta GPIO 9, até o momento que o pushbutton é pressionado, o GPIO passa a ser alto (5v), ao soltar o botão,o GPIO 9 volta a ser baixo(GND), justamente por causa do resistor, lembrando que a corrente sempre vai procurar o caminho mais fácil.


Vamos para programação

Definimos aqui os pinos que iremos usar

// Definindo os pinos
int pinLed = 10;
int pinButton = 9;


Dentro de SETUP, iremos fazer a configuração dos pinos, setamos o LED para saída (OUTPUT) e setamos o botão para entrada (INPUT)

void setup() {
  // Definindo a entrada e saída
  pinMode(pinLed , OUTPUT);
  pinMode(pinButton, INPUT);
}


Finalmente, dentro do loop, nosso bloco principal, onde o programa fica rodando. O digitalRead,  faz a leitura da porta 9, verifica se esta alto ou baixo... se for ALTO, ele aciona o LED, através do digitalWrite, esse altera o estado de saída da porta 10.

void loop() {
  // Se a entrada for alta, então acende o LED
  if(digitalRead(pinButton) == HIGH){
    digitalWrite(pinLed, HIGH);

  // Se a entrada for diferente de alta, então apaga o LED  
  }else{
    digitalWrite(pinLed, LOW);
  }
  delay(500);
}

Código final

// Definindo os pinos
int pinLed = 10;
int pinButton = 9;

void setup() {
  // Definindo a entrada e saída
  pinMode(pinLed , OUTPUT);
  pinMode(pinButton, INPUT);

}

void loop() {
  // Se a entrada for alta, então acende o LED
  if(digitalRead(pinButton) == HIGH){
    digitalWrite(pinLed, HIGH);

  // Se a entrada for diferente de alta, então apaga o LED  
  }else{
    digitalWrite(pinLed, LOW);
  }
  delay(500);
}

 

Postado por Alessandro Rezende Gomes em 07/04/2022 13:48:03

Comentários (0)

(0)