Pokrętło steruje jasnością diody LED
Łączenie odczytu potencjometru z wyjściem PWM
Pokrętło steruje jasnością diody LED to bezpłatna lekcja Arduino & IoT Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Arduino & IoT Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Arduino & IoT Academy zawiera 4 lekcji w sumie.
Pozwól pokrętłu sterować jasnością
Teraz połączą Państwo dwie umiejętności: odczyt potencjometru i użycie tego odczytu do sterowania jasnością diody LED w czasie rzeczywistym. 🎛️
Pokrętło mówi wartościami od 0 do 1023
analogRead zwraca wartość od 0 do 1023 podczas obracania potencjometru. Jest to położenie pokrętła wyrażone liczbą.
int knob = analogRead(A0);Dioda LED potrzebuje wartości od 0 do 255
analogWrite przyjmuje jednak tylko wartości od 0 do 255. Zakresy się nie pokrywają, więc nie można przekazać mu bezpośrednio wartości z pokrętła.
map() łączy te zakresy
Funkcja map przeskalowuje liczbę z jednego zakresu do innego. Zamienia szeroki zakres pokrętła na węższy zakres diody LED.
int led = map(knob, 0, 1023, 0, 255);Prześlij wartość do diody LED
Przekaż przeskalowaną wartość do analogWrite. Teraz jasność diody LED dokładnie odpowiada ustawieniu pokrętła.
analogWrite(9, led);Podłącz potencjometr
Podłącz zewnętrzne nóżki potencjometru do 5V i GND, a jego środkową nóżkę, czyli suwak, do wejścia analogowego A0, aby płytka mogła dokonywać odczytu.
Konfiguracja styków w setup()
Styk diody LED nadal wymaga ustawienia jako OUTPUT. Styki wejść analogowych nie wymagają pinMode, więc setup pozostaje krótki i prosty.
void setup() {
pinMode(9, OUTPUT);
}Pełna funkcja loop()
Przy każdym przebiegu odczytaj pokrętło, przeskaluj wartość i zapisz ją. Ponieważ loop powtarza się szybko, jasność diody LED zmienia się natychmiast podczas obracania pokrętła.
void loop() {
int knob = analogRead(A0);
int led = map(knob, 0, 1023, 0, 255);
analogWrite(9, led);
}Pomiń map dzięki skrótowi
Można też podzielić wartość pokrętła przez 4, ponieważ 1023 podzielone przez 4 daje około 255. To działa, ale map jest czytelniejsze.
int led = knob / 4;Zwróć uwagę na kierunek
Jeśli dioda LED przygasa podczas zwiększania wartości, wystarczy zamienić końce zakresu wyjściowego map: ustawić najpierw 255, a potem 0, albo zamienić zewnętrzne przewody potencjometru.
Właśnie zbudowano interfejs
Ten wzorzec odczytu, przeskalowania i zapisu występuje wszędzie w IoT: czujnik na wejściu, użyteczny zakres na wyjściu i działanie sprzętu. 🚀
Szybkie sprawdzenie
Proszę przypomnieć sobie, dlaczego map ma znaczenie w tym projekcie.
Podsumowanie: od pokrętła do jasności
Odczytaj pokrętło za pomocą analogRead, użyj map, aby przekształcić zakres od 0 do 1023 na zakres od 0 do 255, a następnie przekaż wynik do analogWrite. Zbudowano prawdziwy ściemniacz. 🎉
Ucz się C++ dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Pokrętło steruje jasnością diody LED” jest bezpłatna?
Tak — pełny tekst „Pokrętło steruje jasnością diody LED” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Arduino & IoT Academy, przejdź na CoddyKit PRO. Kurs Arduino & IoT Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pokrętło steruje jasnością diody LED”?
Łączenie odczytu potencjometru z wyjściem PWM Ćwiczysz Arduino & IoT Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Arduino & IoT Academy?
Nie wymagamy żadnego doświadczenia. Arduino & IoT Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Pokrętło steruje jasnością diody LED”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Arduino & IoT Academy?
Tak. Każda lekcja Arduino & IoT Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Co naprawdę robi PWM
- analogWrite 0–255
- Płynne rozjaśnianie i przyciemnianie diody LED
- Pokrętło steruje jasnością diody LED