Arduino: Potentio-indicator gebruikt Led Matrix MAX7219 - Ajarnpa
Arduino: Potentio-indicator gebruikt Led Matrix MAX7219 - Ajarnpa
Anonim
Arduino: Potentio-indicator gebruikt Led Matrix MAX7219
Arduino: Potentio-indicator gebruikt Led Matrix MAX7219

In de vorige tutorial heb ik een potentiometer indicatie gemaakt met behulp van de RGB ring neo pixels led. je kunt het zien in dit artikel "Potentio-indicator gebruikt RGB Neopixel"

En vandaag zal ik de potentiatorindicator laten zien met behulp van het MAX7219 led-metrische display.

Volg de onderstaande stappen om het te maken.

Stap 1: Vereiste componenten

Vereiste componenten
Vereiste componenten
Vereiste componenten
Vereiste componenten
Vereiste componenten
Vereiste componenten

Vereiste componenten:

  • Arduino nano
  • Potentiometer
  • Max7219 led-matrixweergave
  • Doorverbindingsdraad
  • Stuurgroep
  • USB mini
  • laptop

Vereiste bibliotheek

LedControl

Stap 2: Schema

Schema
Schema
Schema
Schema
Schema
Schema

Om de componenten te monteren, zie de schematische tekening hierboven, u kunt ook de onderstaande informatie bekijken:

Arduino naar Led & potentio

+5V ==> VCC & 3. Potentio

GND ==> GND & 1. Potentio

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Belasting

Stap 3: Programmeren

Programmeren
Programmeren

Gebruik de onderstaande code om ait te maken:

#include "LedControl.h"

/*

Nu hebben we een LedControl nodig om mee te werken. ***** Deze pinnummers werken waarschijnlijk niet met uw hardware ***** pin 6 is verbonden met de DataIn pin 7 is verbonden met de CLK pin 8 is verbonden met LOAD We hebben maar een enkele MAX72XX. */

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

unsigned lange vertragingstijd=100;

ongeldige setup() {

lc.shutdown(0, false); lc.setIntensity(0, 8); lc.clearDisplay(0); } void loop () { int val = analogRead (A0); val = kaart (val, 0, 1023, 0, 8);

als(waarde == 1)

{

lc.setRow(0, 0, B10000000);

}

als(waarde == 2)

{ lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); } if(waarde == 3) {

lc.setRow(0, 0, B10000000);

lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); } if(waarde == 4) {

lc.setRow(0, 0, B10000000);

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

Stap 4: Resultaat

Eenmaal geprogrammeerd, zien de resultaten er als volgt uit.

Als de potentio naar rechts wordt gedraaid, zullen de live LED's steeds meer het aantal windingen volgen.

Als de pot naar links wordt gedraaid, zal de live-LED steeds minder worden na de rotatiepotentie.