Arduino Nano - Barra de LED de 10 Segmentos

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

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.

Este tutorial ensina como usar o Arduino Nano para controlar o display de Barra de LED de 10 Segmentos. Em detalhes, vamos aprender:

Arduino Nano e Barra de LED de 10 Segmentos

Sobre a Barra de LED de 10 Segmentos

Barra de LED de 10 Segmentos
Número de Segmentos 10
Cor do LED Vermelho brilhante
Tensão Direta ~2V por segmento
Corrente Direta 20mA máx. por segmento
Resistor Necessário 220Ω por segmento

Pinagem da Barra de LED de 10 Segmentos

Pinagem da Barra de LED de 10 Segmentos
  • Pinos de ânodo (A1–A10): devem ser conectados aos pinos GPIO por meio de resistores de 220Ω
  • Pinos de cátodo (K1–K10): devem ser conectados ao GND

※ Nota:

O layout dos pinos da sua barra de LED pode variar conforme o fabricante. Sempre confira o datasheet ou as marcações impressas no componente antes de ligar. Olhe com atenção!

Diagrama de Ligação

A tabela abaixo mostra como ligar a Barra de LED de 10 Segmentos ao Arduino Nano.

Diagrama de Ligação do Arduino Nano com a Barra de LED de 10 Segmentos

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Barra de LED Pino do Arduino Nano
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 Nano para a Barra de LED de 10 Segmentos

Não é necessário instalar nenhuma biblioteca para usar a Barra de LED de 10 Segmentos com o Arduino Nano — o componente é acionado diretamente pelos pinos GPIO usando funções nativas do Arduino.

  • O primeiro passo é definir os pinos de saída conectados aos ânodos da barra de LED: const int ledPins[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
  • Especifique cada pino como saída usando pinMode()
  • Acenda um segmento usando digitalWrite(ledPins[i], HIGH);
  • Apague um segmento usando digitalWrite(ledPins[i], LOW);

Código do Arduino Nano para a Barra de LED de 10 Segmentos

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-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); }

Passos Rápidos

Se for a primeira vez que você usa o Arduino Nano, veja como configurar o ambiente do Arduino Nano na Arduino IDE.

  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa Arduino Nano ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Selecione a placa e a porta corretas em Tools.
  • Copie o código acima e cole na Arduino IDE.
  • Clique em Upload para gravar o código no Arduino Nano.
  • Abra o Serial Monitor com baud rate 9600 para observar a saída.

Saída do Serial Monitor

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' 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 Nano on COM15
2

Conhecimento Adicional

A Barra de LED de 10 Segmentos é muito adequada como indicador visual de nível em projetos nos quais uma leitura numérica é menos intuitiva do que uma barra graduada. Como cada segmento corresponde a um passo discreto, o display dá uma noção visual imediata de quantidade ou intensidade, sem exigir que quem olha leia um número.

As aplicações práticas incluem medidores de carga de bateria, barras de volume de áudio, indicadores de intensidade de sinal e displays de progresso para operações temporizadas. Em cada caso, o número de segmentos acesos representa uma proporção de algum valor medido — por exemplo, acender cinco de dez segmentos para indicar 50% de carga ou metade do volume.

Ao criar essas aplicações, a abordagem típica é mapear o valor medido para uma quantidade de segmentos, escalonando-o em relação à faixa total do sensor, e depois acender essa quantidade de segmentos em sequência. Esse mapeamento pode ser feito com a função map() do Arduino, o que torna o cálculo simples e fácil de ajustar quando a faixa de entrada muda.

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!