Sommario:

Arduino: l'indicatore Potentio utilizza la matrice di LED MAX7219: 4 passaggi
Arduino: l'indicatore Potentio utilizza la matrice di LED MAX7219: 4 passaggi

Video: Arduino: l'indicatore Potentio utilizza la matrice di LED MAX7219: 4 passaggi

Video: Arduino: l'indicatore Potentio utilizza la matrice di LED MAX7219: 4 passaggi
Video: Arduino + Matrix Display (The Proper Way) 2024, Dicembre
Anonim
Arduino: l'indicatore Potentio utilizza la matrice di LED MAX7219
Arduino: l'indicatore Potentio utilizza la matrice di LED MAX7219

Nel tutorial precedente ho realizzato un'indicazione del potenziometro utilizzando il led ad anello RGB neo pixel. puoi vederlo in questo articolo "L'indicatore di potenza utilizza Neopixel RGB"

E oggi mostrerò l'indicatore del potenziatore utilizzando il display metrico a led MAX7219.

Segui i passaggi seguenti per realizzarlo.

Passaggio 1: componenti richiesti

Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti

Componenti richiesti:

  • Arduino nano
  • Potenziometro
  • Display a matrice di LED Max7219
  • Cavo del ponticello
  • Consiglio di progetto
  • USB mini
  • il computer portatile

Libreria richiesta

LedControl

Passaggio 2: schema

schema
schema
schema
schema
schema
schema

Per assemblare i componenti vedere il disegno schematico sopra, puoi anche vedere le informazioni qui sotto:

Arduino a Led e potenziometro

+5V ==> VCC & 3. Potenza

GND ==> GND & 1. Potenza

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Carico

Passaggio 3: programmazione

Programmazione
Programmazione

Usa il codice qui sotto per creare ait:

#include "LedControl.h"

/*

Ora abbiamo bisogno di un LedControl con cui lavorare. ***** Questi numeri di pin probabilmente non funzioneranno con il tuo hardware ***** il pin 6 è collegato a DataIn il pin 7 è collegato a CLK Il pin 8 è collegato a LOAD Abbiamo solo un singolo MAX72XX. */

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

unsigned long delaytime=100;

void setup() {

lc.shutdown(0, falso); lc.setIntensity(0, 8); lc.clearDisplay(0); } void loop() { int val = analogRead(A0); val = map(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); }

Passaggio 4: risultato

Una volta programmati, i risultati saranno simili a questo.

Se il potenziometro viene ruotato a destra, i LED attivi seguiranno sempre più il numero di giri.

Se il potenziometro viene girato a sinistra, il LED live sarà sempre meno in base alla potenza di rotazione.

Consigliato: