Arduino: Indikator potenciala uporablja LED matrico MAX7219: 4 koraki
Arduino: Indikator potenciala uporablja LED matrico MAX7219: 4 koraki
Anonim
Arduino: Potencio indikator uporablja LED matrico MAX7219
Arduino: Potencio indikator uporablja LED matrico MAX7219

V prejšnji vadnici sem naredil indikacijo potenciometra z uporabo obroča RGB neo pikslov. lahko vidite v tem članku "Indikator potenciala uporablja RGB neopixel"

In danes bom prikazal indikator potenciatorja z uporabo metričnega LED zaslona MAX7219.

Če želite to narediti, sledite spodnjim korakom.

Korak: Potrebne komponente

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

Potrebne komponente:

  • Arduino nano
  • Potenciometer
  • Max7219 LED matrični zaslon
  • Mostična žica
  • Projektni odbor
  • Mini mini USB
  • prenosni računalnik

Obvezna knjižnica

LedControl

2. korak: Shema

Shema
Shema
Shema
Shema
Shema
Shema

Če želite sestaviti komponente, glejte shematično risbo zgoraj, si lahko ogledate tudi spodnje informacije:

Arduino na Led & potencio

+5V ==> VCC & 3. Potencio

GND ==> GND & 1. Potencio

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / Naloži

3. korak: Programiranje

Programiranje
Programiranje

Za pripravo uporabite spodnjo kodo:

#include "LedControl.h"

/*

Zdaj potrebujemo LedControl za delo. ***** Te pin številke verjetno ne bodo delovale s vašo strojno opremo ***** pin 6 je priključen na DataIn pin 7 je priključen na pin CLK 8 je priključen na LOAD Imamo samo en MAX72XX. */

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

dolga zakasnitev brez podpisa = 100;

void setup () {

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

če (val == 1)

{

lc.setRow (0, 0, B10000000);

}

če (val == 2)

{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } če (val == 3) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } če (val == 4) {

lc.setRow (0, 0, B10000000);

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

4. korak: Rezultat

Ko bodo programirani, bodo rezultati videti tako.

Če potencio zavrtite v desno, bodo LED pod napetostjo vedno bolj sledile številnim zavojem.

Če lonec obrnete v levo, bo LED v živo po moči vrtenja vedno manj.