„Arduino“: „Potentio“indikatorius naudoja „Led Matrix MAX7219“: 4 žingsniai
„Arduino“: „Potentio“indikatorius naudoja „Led Matrix MAX7219“: 4 žingsniai
Anonim
„Arduino“: „Potentio“indikatorius naudoja „Led Matrix MAX7219“
„Arduino“: „Potentio“indikatorius naudoja „Led Matrix MAX7219“

Ankstesnėje pamokoje aš padariau potenciometro indikaciją naudodamas RGB žiedo neo pikselių diodą. tai galite pamatyti šiame straipsnyje „Potencio indikatorius naudoja RGB neopikselį“

Ir šiandien aš parodysiu stiprintuvo indikatorių, naudojant MAX7219 LED metrinį ekraną.

Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.

1 žingsnis: reikalingi komponentai

Būtini komponentai
Būtini komponentai
Būtini komponentai
Būtini komponentai
Būtini komponentai
Būtini komponentai

Reikalingi komponentai:

  • Arduino nano
  • Potenciometras
  • Max7219 LED matricos ekranas
  • Jumper Wire
  • Projekto valdyba
  • USB mini
  • nešiojamas kompiuteris

Reikalinga biblioteka

„LedControl“

2 žingsnis: schema

Schema
Schema
Schema
Schema
Schema
Schema

Norėdami surinkti komponentus, žiūrėkite aukščiau pateiktą scheminį brėžinį, taip pat galite pamatyti toliau pateiktą informaciją:

„Arduino“į „Led & potentio“

+5V ==> VCC ir 3. Potentio

GND ==> GND ir 1. Potentio

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / apkrova

3 žingsnis: programavimas

Programavimas
Programavimas

Norėdami tai padaryti, naudokite žemiau esantį kodą:

#include "LedControl.h"

/*

Dabar mums reikia „LedControl“, kad galėtume dirbti. ***** Šie PIN kodai tikriausiai neveiks su jūsų aparatine įranga ***** 6 kaištis prijungtas prie „DataIn“7 kaištis prijungtas prie CLK kaištis 8 prijungtas prie „LOAD“Turime tik vieną MAX72XX. */

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

nepasirašytas ilgas atidėjimo laikas = 100;

void setup () {

lc.sutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); } void loop () {int val = analogRead (A0); val = žemėlapis (val, 0, 1023, 0, 8);

jei (val == 1)

{

lc.setRow (0, 0, B10000000);

}

jei (val == 2)

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

lc.setRow (0, 0, B10000000);

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

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } jei (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); } jei (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); } jei (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); } jei (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 žingsnis: rezultatas

Užprogramavus rezultatai atrodys taip.

Jei potencialas pasukamas į dešinę, tiesioginiai šviesos diodai vis dažniau seka apsisukimų skaičių.

Jei puodas pasukamas į kairę, tiesioginis šviesos diodas bus vis mažesnis dėl sukimosi stiprumo.