Arduino: Potentio-Anzeige verwendet LED-Matrix MAX7219 - Gunook
Arduino: Potentio-Anzeige verwendet LED-Matrix MAX7219 - Gunook
Anonim
Arduino: Potentio-Anzeige verwendet LED-Matrix MAX7219
Arduino: Potentio-Anzeige verwendet LED-Matrix MAX7219

Im vorherigen Tutorial habe ich eine Potentiometeranzeige mit der RGB-Ring-Neo-Pixel-LED gemacht. Sie können es in diesem Artikel "Potentio Indicator Uses RGB Neopixel" sehen

Und heute werde ich die Potentiator-Anzeige mit dem MAX7219-LED-Metrikdisplay anzeigen.

Befolgen Sie die folgenden Schritte, um es zu erstellen.

Schritt 1: Erforderliche Komponenten

Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten

Erforderliche Komponenten:

  • Arduino Nano
  • Potentiometer
  • Max7219 LED-Matrix-Display
  • Überbrückungsdraht
  • Projektvorstand
  • USB-Mini
  • Laptop

Erforderliche Bibliothek

LED-Steuerung

Schritt 2: Schema

Planen
Planen
Planen
Planen
Planen
Planen

Zum Zusammenbau der Komponenten siehe obige schematische Zeichnung, Sie können auch die folgenden Informationen sehen:

Arduino zu Led & Potentio

+5V ==> VCC & 3. Potenz

GND ==> GND & 1. Potenzial

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Last

Schritt 3: Programmierung

Programmierung
Programmierung

Verwenden Sie den folgenden Code, um ait zu erstellen:

#include "LedControl.h"

/*

Jetzt brauchen wir eine LedControl, mit der wir arbeiten können. ***** Diese Pin-Nummern werden wahrscheinlich nicht mit Ihrer Hardware funktionieren ***** Pin 6 ist mit dem DataIn verbunden Pin 7 ist mit dem CLK verbunden Pin 8 ist mit LOAD verbunden Wir haben nur einen einzigen MAX72XX. */

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

lange Verzögerungszeit ohne Vorzeichen = 100;

Leere Einrichtung () {

lc.shutdown(0, falsch); lc.setIntensity(0, 8); lc.clearDisplay(0); aufrechtzuerhalten. Void Schleife () { 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); aufrechtzuerhalten. Wenn (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); aufrechtzuerhalten. Wenn (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); }

Schritt 4: Ergebnis

Nach der Programmierung sehen die Ergebnisse so aus.

Wird das Potenio nach rechts gedreht, folgen die Live-LEDs zunehmend der Anzahl der Umdrehungen.

Wenn der Pot nach links gedreht wird, wird die Live-LED immer weniger der Drehpotenz folgen.