Arduino & IoT Academy · Lekcja

Pokrętło steruje jasnością diody LED

Łączenie odczytu potencjometru z wyjściem PWM

Lekcja 4 z 413 kroki

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. 🎉

Bezpłatny start

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

  1. Co naprawdę robi PWM
  2. analogWrite 0–255
  3. Płynne rozjaśnianie i przyciemnianie diody LED
  4. Pokrętło steruje jasnością diody LED
← Powrót do Arduino & IoT Academy