2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W poprzednim tutorialu wykonałem wskazanie potencjometru za pomocą pierścienia RGB neopixel led. możesz to zobaczyć w tym artykule „Wskaźnik Potentio wykorzystuje Neopiksel RGB”
A dzisiaj pokażę wskaźnik potencjometru za pomocą wyświetlacza metrycznego LED MAX7219.
Wykonaj poniższe czynności, aby to zrobić.
Krok 1: Wymagane składniki
Wymagane składniki:
- Arduino nano
- Potencjometr
- Wyświetlacz matrycowy Max7219
- Przewód połączeniowy
- Plansza projektowa
- mini USB
- laptop
Wymagana biblioteka
LedControl
Krok 2: Schemat
Aby zmontować komponenty, patrz schemat powyżej, możesz również zobaczyć informacje poniżej:
Arduino do Led i potencjometr
+ 5 V ==> VCC i 3. Potencjał
GND ==> GND i 1. Potencjał
D6 ==> DaneWe
D7 ==> CLK
D8 ==> CS / Obciążenie
Krok 3: Programowanie
Użyj poniższego kodu, aby zrobić ait:
#include "LedControl.h"
/*
Teraz potrzebujemy LedControl do pracy. ***** Te numery pinów prawdopodobnie nie będą działać z twoim sprzętem ***** pin 6 jest podłączony do DataIn pin 7 jest podłączony do CLK pin 8 jest podłączony do LOAD Mamy tylko jeden MAX72XX. */
LedControl lc = LedControl (6, 7, 8, 1);
bez znaku długi czas opóźnienia=100;
pusta konfiguracja () {
lc.shutdown(0, fałsz); lc.setIntensity(0, 8); lc.clearWyświetlacz(0); } void loop() { int val = analogRead(A0); val = mapa(val, 0, 1023, 0, 8);
jeśli(val == 1)
{
lc.setRow (0, 0, B10000000);
}
jeśli(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); }
Krok 4: Wynik
Po zaprogramowaniu wyniki będą wyglądać tak.
Jeśli potencjometr zostanie obrócony w prawo, aktywne diody LED będą coraz bardziej podążać za liczbą obrotów.
Jeśli garnek zostanie obrócony w lewo, dioda LED na żywo będzie coraz słabsza w zależności od mocy obrotu.