Magos do Arduino

Barra de LEDs de 10 segmentos

Aprenda a utilizar uma barra de LEDs de 10 segmentos com o Arduino

Magos do Arduino

Barra de LEDs de 10 segmentos

A barra de leds com 10 segmentos contém 10 LEDs que são controlados individualmente.

Para cada um dos LEDs, devemos conectar um resistor de 220-330 Ohms, como fazemos para qualquer outro LED.

Barra de LEDs de 10 segmentos

Ele possui 20 pinos, sendo que cada LED é controlado por um pino da parte superior com um da parte inferior, sequencialmente.

A barra de LEDs é polarizada, portanto ela possui lado positivo e negativo, onde normalmente o lado positivo é o que contém o modelo escrito nele.

Barra de LEDs de 10 segmentos

Neste projeto você criará um circuito que faz o uso de uma barra de LEDs de 10 segmentos com o Arduino.

Para a criação deste circuito serão necessários os seguintes componentes:

  • 1x Breadboard
  • 1x Arduino UNO
  • 1x Barra de LEDs de 10 segmentos
  • 10x Resistores de 220-330 Ohms
  • Jumpers

Circuito Barra de LEDs de 10 segmentos

Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.

Circuito barra de LEDs de 10 segmentos

Código fonte para o circuito da barra de LEDs de 10 segmentos

Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.

/**
* Código do curso Magos do Arduino para conectar uma barra 
* de LEDs de 10 segmentos com o Arduino.
*
* (c) Copyright KazaleIT
* @kazaleitoficial no YouTube
**/

#define PINO_LED_1 2
#define PINO_LED_2 3
#define PINO_LED_3 4
#define PINO_LED_4 5
#define PINO_LED_5 6
#define PINO_LED_6 7
#define PINO_LED_7 8
#define PINO_LED_8 9
#define PINO_LED_9 10
#define PINO_LED_10 11

// cria uma lista com os pinos para facilitar a iteração nos leds
int pinosLeds[] = {
    PINO_LED_1,
    PINO_LED_2,
    PINO_LED_3,
    PINO_LED_4,
    PINO_LED_5,
    PINO_LED_6,
    PINO_LED_7,
    PINO_LED_8,
    PINO_LED_9,
    PINO_LED_10
};

void setup() {
    // inicializa todos os leds como saída (OUTPUT)
    for (int i = 0; i < 10; i++) {
        pinMode(pinosLeds[i], OUTPUT);
    }
}

void loop() {
    // apagam todos os leds
    apagarLeds();
    delay(500);

    // acende cada led individualmente, aguardando meio segundo a cada iteração
    for (int i = 0; i < 10; i++) {
        digitalWrite(pinosLeds[i], HIGH);
        delay(500);
    }

}

void apagarLeds() {
    for (int i = 0; i < 10; i++) {
        digitalWrite(pinosLeds[i], LOW);
    }
}