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 koristeći RGB prsten sa neo pikselima. možete vidjeti u ovom članku "Potencio indikator koristi RGB neopixel"

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

Slijedite donje korake 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 ekran
  • Jumper Wire
  • Projektni odbor
  • USB mini
  • laptop

Potrebna biblioteka

LedControl

Korak 2: Shema

Shema
Shema
Shema
Shema
Shema
Shema

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

Arduino na Led i potencio

+5V ==> VCC & 3. Potencio

GND ==> GND & 1. Potencio

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Učitaj

Korak 3: Programiranje

Programiranje
Programiranje

Upotrijebite donji kôd da napravite sljedeće:

#include "LedControl.h"

/*

Sada nam je potreban LedControl za rad. ***** Ovi brojevi pinova vjerovatno 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 će sve više pratiti broj zavoja.

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