Arduino - Barra Gráfica de LED de 10 Segmentos
Neste tutorial, vamos aprender:
- Como conectar a barra gráfica de LED de 10 segmentos ao Arduino
- Como programar o Arduino para controlar a barra gráfica de LED de 10 segmentos
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Sobre a Barra Gráfica de LED de 10 Segmentos
| Barra Gráfica de LED de 10 Segmentos | |
|---|---|
| Número de Segmentos | 10 |
| Cor do LED | Vermelho brilhante |
| Tensão Direta | ~2V por segmento |
| Corrente Direta | 20mA no máximo por segmento |
| Resistor Necessário | 220Ω por segmento |
Pinagem

- Pinos de ânodo (A1–A10): cada um precisa ser conectado a um pino GPIO através de um resistor de 220Ω
- Pinos de cátodo (K1–K10): cada um precisa ser conectado ao GND
Diagrama de Ligação
Conecte a barra gráfica de LED de 10 segmentos ao Arduino Uno como mostrado na tabela abaixo.

This image is created using Fritzing. Click to enlarge image
| Barra Gráfica de LED | Pino do Arduino |
|---|---|
| A1 (Ânodo 1) | Pino 2 (via 220Ω) |
| A2 (Ânodo 2) | Pino 3 (via 220Ω) |
| A3 (Ânodo 3) | Pino 4 (via 220Ω) |
| A4 (Ânodo 4) | Pino 5 (via 220Ω) |
| A5 (Ânodo 5) | Pino 6 (via 220Ω) |
| A6 (Ânodo 6) | Pino 7 (via 220Ω) |
| A7 (Ânodo 7) | Pino 8 (via 220Ω) |
| A8 (Ânodo 8) | Pino 9 (via 220Ω) |
| A9 (Ânodo 9) | Pino 10 (via 220Ω) |
| A10 (Ânodo 10) | Pino 11 (via 220Ω) |
| K1–K10 (Cátodos) | GND |
Como Programar o Arduino para a Barra Gráfica de LED de 10 Segmentos
- Nenhuma biblioteca necessária: a barra gráfica de LED usa apenas a função nativa digitalWrite()
- Defina os pinos: const int ledPins[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
- Configure cada pino como saída: pinMode(ledPins[i], OUTPUT);
- Acenda um segmento: digitalWrite(ledPins[i], HIGH);
- Apague um segmento: digitalWrite(ledPins[i], LOW);
- Mostre o estado da barra: percorra o array, imprimindo * para os segmentos acesos e para os segmentos apagados
Código Arduino - Barra Gráfica de LED de 10 Segmentos
Passos Rápidos
- Conecte o Arduino ao PC com o cabo USB.
- Vá ao menu Tools e selecione a placa e a porta corretas.
- Copie o código acima e cole-o no Arduino IDE.
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino.
- Observe a barra gráfica de LED se encher segmento por segmento e depois se esvaziar de volta, em uma animação que se repete.
/*
* Este código de Arduino foi desenvolvido por pt.newbiely.com
* Este código de Arduino é disponibilizado ao público sem nenhuma restrição.
* Para tutoriais completos e diagramas de ligação, visite:
* https://pt.newbiely.com/tutorials/arduino/arduino-10-segment-led-bar-graph
*/
const int NUM_SEGMENTS = 10;
const int ledPins[NUM_SEGMENTS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
void printBar(int litCount) {
Serial.print("Bar: [");
for (int i = 0; i < NUM_SEGMENTS; i++) {
Serial.print(i < litCount ? "*" : " ");
}
Serial.println("]");
}
void setup() {
Serial.begin(9600);
for (int i = 0; i < NUM_SEGMENTS; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
}
void loop() {
for (int i = 0; i < NUM_SEGMENTS; i++) {
digitalWrite(ledPins[i], HIGH);
printBar(i + 1);
delay(100);
}
delay(500);
for (int i = NUM_SEGMENTS - 1; i >= 0; i--) {
digitalWrite(ledPins[i], LOW);
printBar(i);
delay(100);
}
delay(500);
}
Saída do Serial Monitor
8
Serial.println("Hello World!");
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Bar: [* ]
Bar: [** ]
Bar: [*** ]
Bar: [**** ]
Bar: [***** ]
Bar: [****** ]
Bar: [******* ]
Bar: [******** ]
Bar: [********* ]
Bar: [**********]
Bar: [********* ]
Bar: [******** ]
Bar: [******* ]
Bar: [****** ]
Bar: [***** ]
Bar: [**** ]
Bar: [*** ]
Bar: [** ]
Bar: [* ]
Bar: [ ]