Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Edellisessä opetusohjelmassa olen ilmaissut potentiometrin käyttämällä RGB -rengasneo -pikseleitä. näet sen tässä artikkelissa "Potentio -ilmaisin käyttää RGB -neopikseliä"
Ja tänään näytän potentiaalin ilmaisimen käyttämällä MAX7219 -led -metrinäyttöä.
Tee se noudattamalla alla olevia ohjeita.
Vaihe 1: Tarvittavat komponentit
Tarvittavat komponentit:
- Arduino nano
- Potentiometri
- Max7219 Led Matrix -näyttö
- Hyppyjohdin
- Projektilauta
- USB mini
- kannettava tietokone
Pakollinen kirjasto
LedControl
Vaihe 2: Kaavio
Jos haluat koota komponentit, katso yllä oleva kaaviokuva, näet myös alla olevat tiedot:
Arduinosta Lediin ja potentioon
+5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> DataIn
D7 ==> CLK
D8 ==> CS / Kuorma
Vaihe 3: Ohjelmointi
Käytä apuna alla olevaa koodia:
#include "LedControl.h"
/*
Nyt tarvitsemme LedControlin toimimaan. ***** Nämä nastanumerot eivät todennäköisesti toimi laitteistosi kanssa ***** nasta 6 on kytketty DataIniin nasta 7 on kytketty CLK -nastaan 8 on kytketty LOADiin Meillä on vain yksi MAX72XX. */
LedControl lc = LedControl (6, 7, 8, 1);
allekirjoittamaton pitkä viiveaika = 100;
void setup () {
lc. sammutus (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); } void loop () {int val = analoginen (A0); val = kartta (val, 0, 1023, 0, 8);
jos (val == 1)
{
lc.setRow (0, 0, B10000000);
}
jos (val == 2)
{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } jos (val == 3) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } jos (val == 4) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } jos (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); } jos (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); } jos (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); } jos (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); }
Vaihe 4: Tulos
Ohjelmoinnin jälkeen tulokset näyttävät tältä.
Jos potentiota käännetään oikealle, jännitteiset LEDit seuraavat yhä enemmän kierrosten määrää.
Jos potti käännetään vasemmalle, live -merkkivalo on yhä pienempi pyörimisvoiman seurauksena.