Arduino: Potencio indikator koristi LED matricu MAX7219: 4 koraka
Arduino: Potencio indikator koristi LED matricu MAX7219: 4 koraka
Anonim
Arduino: Potencio indikator koristi LED matricu MAX7219
Arduino: Potencio indikator koristi LED matricu MAX7219

U prethodnom vodiču napravio sam indikaciju potenciometra pomoću RGB prstenastih neo -piksela. možete vidjeti u ovom članku "Potencio indikator koristi RGB neopixel"

I danas ću prikazati indikator potencijatora pomoću metričkog LED zaslona MAX7219.

Slijedite korake u nastavku da biste to učinili.

Korak 1: Potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

Potrebne komponente:

  • Arduino nano
  • Potenciometar
  • Max7219 LED matrični zaslon
  • Kratkospojna žica
  • Projektni odbor
  • USB mini
  • prijenosno računalo

Potrebna biblioteka

LedControl

Korak 2: Shema

Shema
Shema
Shema
Shema
Shema
Shema

Kako biste sastavili komponente, pogledajte gornji shematski crtež, također možete vidjeti donje informacije:

Arduino na Led & potencio

+5V ==> VCC & 3. Potencio

GND ==> GND & 1. Potencio

D6 ==> Podaci u

D7 ==> CLK

D8 ==> CS / Učitaj

Korak 3: Programiranje

Programiranje
Programiranje

Upotrijebite donji kod da biste učinili sljedeće:

#include "LedControl.h"

/*

Sada nam je potreban LedControl za rad. ***** Ovi pin brojevi vjerojatno neće raditi s vašim hardverom ***** pin 6 je spojen na DataIn pin 7 je spojen na CLK pin 8 je spojen na LOAD Imamo samo jedan MAX72XX. */

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

nepotpisano dugo kašnjenje = 100;

void setup () {

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

ako (val == 1)

{

lc.setRow (0, 0, B10000000);

}

ako (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); }

Korak 4: Rezultat

Nakon programiranja rezultati će izgledati ovako.

Ako se potencio zakrene udesno, LED diode pod naponom će sve više pratiti broj zavoja.

Ako je posuda okrenuta ulijevo, LED dioda pod naponom će sve manje slijediti snagu rotacije.