2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
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:
- 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
Č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
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.