2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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:
- Arduino nano
- Potenciometar
- Max7219 LED matrični zaslon
- Kratkospojna žica
- Projektni odbor
- USB mini
- prijenosno računalo
Potrebna biblioteka
LedControl
Korak 2: 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
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.