Arduino - Barra Gráfica de LED de 10 Segmentos

Neste tutorial, vamos aprender:

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

Pinagem da barra gráfica de LED de 10 segmentos
  • 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.

Diagrama de ligação da barra gráfica de LED com Arduino

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

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
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: [ ]
Ln 11, Col 1
Arduino Uno on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!