Tabla de contenido:

Arduino: Potentio Indicator usa Led Matrix MAX7219: 4 pasos
Arduino: Potentio Indicator usa Led Matrix MAX7219: 4 pasos

Video: Arduino: Potentio Indicator usa Led Matrix MAX7219: 4 pasos

Video: Arduino: Potentio Indicator usa Led Matrix MAX7219: 4 pasos
Video: Arduino + Matrix Display (The Proper Way) 2024, Noviembre
Anonim
Arduino: el indicador Potentio usa Led Matrix MAX7219
Arduino: el indicador Potentio usa Led Matrix MAX7219

En el tutorial anterior hice una indicación de potenciómetro usando el led de neo pixeles del anillo RGB. lo puedes ver en este artículo "Indicador de potencia usa RGB Neopixel"

Y hoy mostraré el indicador del potenciador usando la pantalla métrica LED MAX7219.

Siga los pasos a continuación para hacerlo.

Paso 1: componentes necesarios

Componentes requeridos
Componentes requeridos
Componentes requeridos
Componentes requeridos
Componentes requeridos
Componentes requeridos

Componentes requeridos:

  • Arduino nano
  • Potenciómetro
  • Pantalla de matriz LED Max7219
  • Cable pasa corriente
  • Junta de proyecto
  • USB mini
  • ordenador portátil

Biblioteca requerida

LedControl

Paso 2: esquema

Esquema
Esquema
Esquema
Esquema
Esquema
Esquema

Para ensamblar los componentes, consulte el dibujo esquemático de arriba, también puede ver la información a continuación:

Arduino a Led y potentio

+ 5V ==> VCC y 3. Potentio

GND ==> GND y 1. Potentio

D6 ==> Entrada de datos

D7 ==> CLK

D8 ==> CS / Carga

Paso 3: programación

Programación
Programación

Utilice el siguiente código para hacer ait:

#include "LedControl.h"

/*

Ahora necesitamos un LedControl para trabajar. ***** Estos números de pin probablemente no funcionarán con su hardware ***** El pin 6 está conectado al DataIn El pin 7 está conectado al CLK El pin 8 está conectado a LOAD Solo tenemos un MAX72XX. * /

LedControl lc = LedControl (6, 7, 8, 1);

tiempo de retardo largo sin firmar = 100;

configuración vacía () {

lc.shutdown (0, falso); lc.setIntensity (0, 8); lc.clearDisplay (0); } bucle vacío () {int val = analogRead (A0); val = mapa (val, 0, 1023, 0, 8);

si (val == 1)

{

lc.setRow (0, 0, B10000000);

}

si (val == 2)

{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } si (val == 3) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } si (val == 4) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } si (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); } si (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); } si (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); }

Paso 4: Resultado

Una vez programados, los resultados se verán así.

Si la potencia se gira hacia la derecha, los LED en vivo seguirán cada vez más el número de vueltas.

Si el potenciómetro se gira hacia la izquierda, el LED en vivo será cada vez menor siguiendo la potencia de rotación.

Recomendado: