The Circuit Maker
Arduino12 min leitura

Como Conectar LEDs Usando Arduino

Step-by-step tutorial on connecting LED lights to Arduino with schematic diagrams, breadboard layouts, and code examples.

·

Este tutorial tem tudo o que você precisa saber sobre conectar luzes LED usando um Arduino. Vamos abordar os componentes necessários para este tutorial e revisar diferentes variações sobre como conectar LEDs ao Arduino.

Este tutorial é destinado a ser amigável para iniciantes, com explicações detalhadas guiadas por diagramas e exemplos para ajudá-lo a entender sobre o uso de luzes LED com Arduino sempre que precisar trabalhar em projetos mais avançados.

Materiais Que Você Vai Precisar

Hardware

Conjunto de LEDs de 5mmx 1
Protoboardx 1
Conjunto de Fios Jumperx 1
Arduino Uno R3x 1
Cabo USB de Dados do Arduino UNOx 1
Conjunto de Resistores de 220 Ohmx 1

Software

Arduino IDE

Como Conectar um LED sem Usar um Pino do Arduino

Neste primeiro tutorial, você aprenderá uma maneira básica de conectar um LED usando um Arduino sem precisar programá-lo.

Diagrama Esquemático

Vamos olhar primeiro o diagrama esquemático antes de conectar o circuito.

Esquema para Conectar um LED sem usar um Arduino
Esquema para Conectar um LED sem usar um Arduino

O circuito é simples. O Arduino é a fonte de alimentação fornecendo 5V contanto que você o conecte ao pino de 5V. Observe que o Arduino também tem um pino de 3.3V. Para este circuito, usaremos os 5V.

Não Mate a Luz LED

Então, usamos um resistor de 220Ω antes de conectar a luz LED. A razão pela qual fazemos isso é para reduzir a tensão vinda da fonte de alimentação para alimentar a luz LED.

Tipicamente, os LEDs funcionam com uma tensão dentro de uma faixa de 1.8V e 3.3V baseada na cor. Os LEDs sugeridos na seção de Hardware têm as seguintes especificações do fabricante:

  • LEDs Vermelhos e Amarelos: 2V - 2.2V
  • LEDs Brancos, Verdes e Azuis: 3V - 3.2V

Se você conectar uma luz LED com uma tensão que excede sua faixa máxima de tensão, isso irá matar o LED, e você precisará usar outra luz LED.

O resistor de 220Ω reduz a tensão para 3V e a luz LED vermelha usa 2V. Isso está correto, pois a tensão total de um circuito em série é igual à soma de todas as tensões individuais. Tomando isso como referência, a tensão através do resistor e a tensão através do LED devem ser iguais à tensão vinda da fonte de alimentação (Arduino).

Tensão do Arduino = Tensão através do Resistor de 220Ω + Tensão através do LED Vermelho

5V = 3V + 2V

Conecte a Luz LED Corretamente

As luzes LED têm dois terminais, um dos terminais é o ânodo e o outro é o cátodo. O ânodo é o eletrodo carregado positivamente (+). O cátodo é o eletrodo carregado negativamente (-).

Terminais da Luz LED
Terminais da Luz LED

Os terminais ânodo e cátodo dos LEDs podem ser reconhecidos por seu comprimento:

  • O terminal ânodo do LED é o terminal mais longo
  • O terminal cátodo do LED é o terminal mais curto e não é reto como o terminal ânodo.

Por que isso é importante saber?

Porque baseado na forma como os terminais do LED são conectados no circuito, isso fará o LED acender ou não. Portanto, sempre que você conectar o LED no circuito. Certifique-se de conectar o terminal cátodo ao terra e o terminal ânodo ao fio de resistência depois que a tensão for reduzida.

Diagrama da Protoboard

Agora, você está pronto para conectar este circuito básico. Abaixo, você verá o diagrama de como o circuito deve parecer uma vez que tudo esteja conectado.

Protoboard para Conectar um LED sem usar um Arduino
Protoboard para Conectar um LED sem usar um Arduino

Nota: Certifique-se de conectar o Cabo USB de Dados do Arduino UNO entre o Arduino e o computador para fornecer uma fonte de alimentação ao circuito.

Resultado

Aqui está o resultado final de como ficou para mim.

Resultado de Conectar um LED sem usar um Pino do Arduino
Resultado de Conectar um LED sem usar um Pino do Arduino

Parabéns! Você fez seu primeiro circuito!

Embora usar o Arduino como uma fonte de alimentação pareça exagero, já que o Arduino é capaz de muito mais, isso nos mostra o conhecimento fundamental e a compreensão de como acender uma luz LED. No entanto, é hora de começarmos a usar os pinos do Arduino e acender o LED programaticamente.

Como Conectar um LED Usando um Pino do Arduino

Agora que você entende a base, vamos usar um pino do Arduino para acender a luz LED. Vamos fazer pequenas mudanças do circuito original, bem como começar a escrever pequenos pedaços de código para acender a luz LED.

Diagrama Esquemático

Este é o diagrama esquemático do circuito que vamos construir.

Conectar um LED usando um Pino do Arduino - Diagrama Esquemático
Conectar um LED usando um Pino do Arduino - Diagrama Esquemático

Tomando como referência o diagrama esquemático, vamos fazer o seguinte:

  1. Conectar o Pino Digital 2 do Arduino a um fio do resistor de 220Ω
  2. Conectar o outro fio do resistor de 220Ω ao terminal ânodo (+) da luz LED
  3. Conectar o terminal cátodo (-) da luz LED ao pino GND ou terra do Arduino

Diagrama da Protoboard

Abaixo, você verá o diagrama de como o circuito deve parecer uma vez que tudo esteja conectado.

Conectar um LED usando um Pino do Arduino - Diagrama da Protoboard
Conectar um LED usando um Pino do Arduino - Diagrama da Protoboard

Observe como a única diferença em relação ao circuito LED sem usar um Pino do Arduino é que a fonte de alimentação vem do pino digital 2 em vez da porta de 5V.

Faça Upload do Código

Se você não instalou o Arduino IDE no seu computador, baixe e instale o software.

Uma vez instalado, abra o software e crie um novo projeto clicando em Arquivo no menu, e então selecione a opção Novo.

Agora, copie o código abaixo e cole no seu projeto Arduino.

/* 
 *  Conectar um LED usando um PINO do Arduino. 
 *  
 *  Para mais guias e tutoriais: https://www.thecircuitmaker.com 
 */

// configurar uma variável para armazenar o número do pino que vai acender a luz LED
int ledPin = 2;

void setup(){
  // configurar o pino do LED para se comportar como modo OUTPUT para enviar sinais HIGH ou LOW 
  pinMode(ledPin, OUTPUT); 
}

void loop()
{
   // acender o LED
   digitalWrite(2, HIGH);

   // aguardar por 1 segundo
   delay(1000);

   // apagar o LED
   digitalWrite(2, LOW);

   // aguardar por um segundo
   delay(1000);
}

Finalmente, faça upload do código para o Arduino. Para fazer isso, certifique-se de ter o Arduino conectado ao seu computador usando o Cabo USB de Dados do Arduino UNO. Então, vá ao Arduino IDE e clique na opção do menu Sketch e selecione a opção Upload.

Entendendo o Código

Primeiro, eu defino uma variável chamada ledPin para armazenar o número do pino digital que quero usar para enviar sinais para acender ou apagar a luz LED. Você pode atualizar o número do pino entre 1 a 13. No entanto, se decidir fazer isso, você deve atualizar o fio do circuito para usar qualquer número de pino que selecionou no Arduino.

// configurar uma variável para armazenar o número do pino que vai acender a luz LED
int ledPin = 2;

Na função setup do código, configuramos o ledPin como modo OUTPUT usando a função pinMode. No Arduino, você pode configurar diferentes modos de pino: INPUT, OUTPUT, ou INPUT_PULLUP. Usamos o modo OUTPUT, que significa que podemos fornecer uma quantidade substancial de corrente para outros circuitos.

void setup(){
  // configurar o pino do LED para se comportar como modo OUTPUT para enviar sinais HIGH ou LOW 
  pinMode(ledPin, OUTPUT); 
}

Finalmente, na seção loop, programamos a lógica que acende e apaga o LED. Quando usamos a função digitalWrite usando HIGH, isso significa que a tensão saindo de um número de pino específico será 5V.

Então, aguardamos por 1 segundo usando a função delay .

Após um segundo, mudamos a tensão do pino que definimos anteriormente para zero usando a opção LOW.

Então, aguardamos outro segundo usando a função delay .

Na seção loop , o código executará repetidamente uma vez que execute todas as declarações. Portanto, após mudar a tensão para zero, e então aguardar por um segundo, o código executará tudo novamente desde o início da função loop , repetindo o ciclo.

void loop()
{
   // acender o LED
   digitalWrite(ledPin, HIGH);

   // aguardar por 1 segundo
   delay(1000);

   // apagar o LED
   digitalWrite(ledPin, LOW);

   // aguardar por um segundo
   delay(1000);
}

Resultado

Seu LED deve estar piscando a cada segundo. Se não estiver funcionando, sinta-se à vontade para revisar os passos mais uma vez e verificar se o código foi corretamente enviado para o Arduino.

Como Conectar Múltiplos LEDs Usando Múltiplos Pinos do Arduino

Agora que sabemos como conectar um LED usando um pino do Arduino. É hora de conectarmos múltiplos LEDs usando múltiplos Pinos do Arduino. O circuito e a lógica do código são diferentes do tutorial anterior onde conectamos um LED usando um pino do Arduino. No entanto, a maior parte da lógica e diagramas de circuito usam a mesma base.

Diagrama da Protoboard

Abaixo, você encontrará o circuito que vamos montar. Confira primeiro, e então explicarei o que você precisa fazer.

Conectar múltiplos LEDs usando múltiplos Pinos do Arduino - Diagrama da Protoboard
Conectar múltiplos LEDs usando múltiplos Pinos do Arduino - Diagrama da Protoboard
  1. Use um fio jumper para conectar o trilho de alimentação azul da protoboard com um dos pinos GND do Arduino
  2. Pegue doze luzes LED
  3. Conecte o terminal cátodo (-) de cada LED no trilho de alimentação azul da protoboard
  4. Conecte o terminal ânodo (+) de cada LED em uma faixa de terminais separada (fileiras de 5 furos)
  5. Pegue doze resistores de 220Ω
  6. Conecte um terminal de conexão de cada resistor a uma das mesmas faixas de terminais onde o terminal ânodo (+) de cada LED está conectado
  7. Conecte o outro terminal de conexão de cada resistor a uma faixa de terminais que não foi usada
  8. Use fios jumper para conectar um dos resistores a um dos pinos digitais do Arduino. Estamos usando os pinos digitais 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, e 13
  9. Dessa forma, você deve ter um pino digital conectado a um resistor de 220Ω, que também está conectado a um LED e seu terminal cátodo (-) está conectado ao trilho de alimentação negativo da protoboard

Faça Upload do Código

Agora, copie o seguinte código e cole no projeto do Arduino IDE. Dentro do Arduino IDE, clique na opção Verificar para ter certeza de que não há erros no código.

/*
    Conectar Múltiplos LEDs usando Múltiplos Pinos do Arduino.

    Para mais guias e tutoriais: https://www.thecircuitmaker.com
*/

// configurar variável array para armazenar todos os números de pino que vão acender os LEDs
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int totalPins = sizeof(ledPins) / sizeof(int);

// atraso de 1 segundo
int delayTime = 1000;

void setup() {
  // configurar os pinos dos LEDs para se comportar como modo OUTPUT para enviar sinais HIGH ou LOW
  for (int i = 0; i < totalPins; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  blinkRandomLED();
}

void blinkAllLeds() {
  for (int i = 0; i < totalPins; i++) {
    // acender o LED
    digitalWrite(ledPins[i], HIGH);
  }

  // aguardar por 1 segundo
  delay(delayTime);

  for (int i = 0; i < totalPins; i++) {
    // apagar o LED
    digitalWrite(ledPins[i], LOW);
  }

  // aguardar por um segundo
  delay(delayTime);
}

void blinkOneLEDAtATime() {
  for (int i = 0; i < totalPins; i++) {
    // acender o LED
    digitalWrite(ledPins[i], HIGH);

    // aguardar por 1 segundo
    delay(delayTime);

    // apagar o LED
    digitalWrite(ledPins[i], LOW);

    // aguardar por um segundo
    delay(delayTime);
  }
}

void blinkRandomLED() {
  // selecionar número de pino aleatório
  int randomIndex = random(totalPins);
  int pinSelected = ledPins[randomIndex];
  
  // acender o LED
  digitalWrite(pinSelected, HIGH);

  // aguardar por 1 segundo
  delay(delayTime);

  // apagar o LED
  digitalWrite(pinSelected, LOW);

  // aguardar por um segundo
  delay(delayTime);
}

Certifique-se de ter seu Arduino conectado ao computador antes de fazer upload do código. Uma vez conectado, vá ao Arduino IDE e clique na opção do menu Sketch e selecione a opção Upload.

Se não houver erros, você deve ver todas as luzes LED piscando.

Entendendo o Código

Na primeira seção, definimos todos os pinos digitais que estamos usando no circuito em um array.

// configurar variável array para armazenar todos os números de pino que vão acender os LEDs
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int totalPins = sizeof(ledPins) / sizeof(int);

Na função setup do código, configuramos todos os pinos dos leds como modo OUTPUT para que possamos emitir 0V ou 5V a qualquer momento.

void setup() {
  // configurar os pinos dos LEDs para se comportar como modo OUTPUT para enviar sinais HIGH ou LOW
  for (int i = 0; i < totalPins; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

Então, definimos uma função chamada blinkAllLeds e a chamamos dentro da função loop . A blinkAllLeds é responsável por piscar todos os LEDs ao mesmo tempo.

void loop() {
  blinkRandomLED();
}

void blinkAllLeds() {
  for (int i = 0; i < totalPins; i++) {
    // acender o LED
    digitalWrite(ledPins[i], HIGH);
  }

  // aguardar por 1 segundo
  delay(delayTime);

  for (int i = 0; i < totalPins; i++) {
    // apagar o LED
    digitalWrite(ledPins[i], LOW);
  }

  // aguardar por um segundo
  delay(delayTime);
}

Usando Outras Lógicas de Código

Há outros pedaços de código que podemos usar para acionar uma lógica diferente. Por exemplo, você pode ter notado uma função chamada blinkOneLEDAtATime, que acende e apaga um LED por vez em ordem sequencial.

void blinkOneLEDAtATime() {
  for (int i = 0; i < totalPins; i++) {
    // acender o LED
    digitalWrite(ledPins[i], HIGH);

    // aguardar por 1 segundo
    delay(delayTime);

    // apagar o LED
    digitalWrite(ledPins[i], LOW);

    // aguardar por um segundo
    delay(delayTime);
  }
}

Caso você decida experimentar a função blinkOneLEDAtATime, atualize a função loop e acione a blinkOneLEDAtATime lá. Então, faça upload do código para o Arduino.

void loop() {
  blinkOneLEDAtATime();
}

Finalmente, há outra lógica chamada blinkRandomLED que seleciona aleatoriamente um pino digital para piscar o LED conectado ao pino digital selecionado.

void blinkRandomLED() {
  // selecionar número de pino aleatório
  int randomIndex = random(totalPins);
  int pinSelected = ledPins[randomIndex];
  
  // acender o LED
  digitalWrite(pinSelected, HIGH);

  // aguardar por 1 segundo
  delay(delayTime);

  // apagar o LED
  digitalWrite(pinSelected, LOW);

  // aguardar por um segundo
  delay(delayTime);
}

Mais uma vez, se você decidir experimentar a função blinkRandomLED , atualize a função loop e acione a blinkRandomLED lá. Então, faça upload do código para o Arduino.

void loop() {
  blinkRandomLED();
}

Resultado

Dependendo de qual lógica você fez upload para o Arduino, seu circuito deve ter todos os LEDs piscando ao mesmo tempo, ter um LED piscando sequencialmente ordenado pelos pinos digitais, ou aleatoriamente acender e apagar um LED.

Conclusão

Cobrimos muitas coisas neste tutorial, começando com um circuito básico que acende uma luz LED usando o Arduino como fonte de alimentação. Então, modificamos o circuito para fazer um LED piscar usando um Arduino. Finalmente, mudamos o circuito mais uma vez para usar múltiplos pinos do Arduino, bem como múltiplas luzes LED e executar diferentes lógicas de código baseadas na função que você fez upload para o Arduino.

Você gostou deste artigo?

Espero que este artigo tenha sido não apenas útil, mas também educativo. Se você gostou, compartilhe este artigo com amigos que estão interessados em eletrônica e gostam de fazer projetos divertidos.

Se você tiver alguma dúvida, questão, ou encontrar problemas ao seguir este tutorial, não hesite em deixar um comentário na seção abaixo.

Note que comentários são mantidos para moderação para prevenir spam.