2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
No tutorial anterior eu fiz uma indicação do potenciômetro usando o led RGB do anel neo pixels. você pode ver isso neste artigo "Indicador Potentio usa RGB Neopixel"
E hoje irei mostrar o indicador do potenciador usando o display métrico de led MAX7219.
Siga as etapas abaixo para fazer isso.
Etapa 1: Componentes necessários
Componentes necessários:
- Arduino nano
- Potenciômetro
- Max7219 Led Matrix Display
- Jumper Wire
- Mesa de projeto
- Mini USB
- computador portátil
Biblioteca necessária
LedControl
Etapa 2: Esquema
Para montar os componentes veja o desenho esquemático acima, você também pode ver as informações abaixo:
Arduino para Led & potentio
+ 5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> DataIn
D7 ==> CLK
D8 ==> CS / Carregar
Etapa 3: Programação
Use o código abaixo para fazer ait:
#include "LedControl.h"
/*
Agora precisamos de um LedControl para trabalhar. ***** Esses números de pinos provavelmente não funcionarão com o seu hardware ***** o pino 6 está conectado ao DataIn, o pino 7 está conectado ao CLK, o pino 8 está conectado a LOAD Temos apenas um único MAX72XX. * /
LedControl lc = LedControl (6, 7, 8, 1);
longo retardo sem sinal = 100;
void setup () {
lc.shutdown (0, falso); lc.setIntensity (0, 8); lc.clearDisplay (0); } void loop () {int val = analogRead (A0); val = mapa (val, 0, 1023, 0, 8);
if (val == 1)
{
lc.setRow (0, 0, B10000000);
}
if (val == 2)
{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } if (val == 3) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } if (val == 4) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } if (val == 5) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); } if (val == 6) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); } if (val == 7) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); } if (val == 8) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); lc.setRow (0, 7, B10000000); } lc.clearDisplay (0); }
Etapa 4: Resultado
Depois de programado, os resultados serão semelhantes a este.
Se o potentio for girado para a direita, os LEDs vivos seguirão cada vez mais o número de voltas.
Se o potenciômetro for girado para a esquerda, o LED ativo será cada vez menos seguindo a potência de rotação.