Taula de continguts:

Arduino: l’indicador Potentio utilitza Led Matrix MAX7219: 4 passos
Arduino: l’indicador Potentio utilitza Led Matrix MAX7219: 4 passos

Vídeo: Arduino: l’indicador Potentio utilitza Led Matrix MAX7219: 4 passos

Vídeo: Arduino: l’indicador Potentio utilitza Led Matrix MAX7219: 4 passos
Vídeo: Как отслеживать и контролировать ESP32 из любой точки мира с помощью RemoteXY IoT Cloud 2024, Desembre
Anonim
Arduino: l’indicador Potentio utilitza Led Matrix MAX7219
Arduino: l’indicador Potentio utilitza Led Matrix MAX7219

En el tutorial anterior he fet una indicació de potenciòmetre mitjançant el led de neo píxels de l'anell RGB. el podeu veure en aquest article "L'indicador Potentio utilitza Neopixel RGB"

I avui mostraré l’indicador de potenciador mitjançant la pantalla mètrica LED MAX7219.

Seguiu els passos següents per aconseguir-ho.

Pas 1: components necessaris

Components obligatoris
Components obligatoris
Components obligatoris
Components obligatoris
Components obligatoris
Components obligatoris

Components necessaris:

  • Arduino nano
  • Potenciòmetre
  • Pantalla de matriu Led Max7219
  • Jumper Wire
  • Taula de projectes
  • USB mini
  • ordinador portàtil

Biblioteca obligatòria

LedControl

Pas 2: Esquema

Esquema
Esquema
Esquema
Esquema
Esquema
Esquema

Per muntar els components, consulteu el dibuix esquemàtic anterior, també podeu veure la informació següent:

Arduino a Led i potentio

+ 5V ==> VCC i 3. Potència

GND ==> GND i 1. Potència

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Load

Pas 3: Programació

Programació
Programació

Utilitzeu el codi següent per fer que ait:

#include "LedControl.h"

/*

Ara necessitem un LedControl per treballar. ***** Aquests números de pin probablement no funcionaran amb el vostre maquinari ***** el pin 6 està connectat al DataIn el pin 7 està connectat al CLK El pin 8 està connectat a LOAD Només tenim un únic MAX72XX. * /

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

temps de retard llarg sense signar = 100;

configuració nul·la () {

lc.shutdown (0, false); 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); }

Pas 4: resultat

Un cop programats, els resultats seran així.

Si la potència es gira cap a la dreta, els LED en directe seguiran cada cop més el nombre de girs.

Si es gira l’olla cap a l’esquerra, el LED en directe serà cada vegada menor després de la potència de rotació.

Recomanat: