Ściemniacz z pokrętłem
Część sekcji Wyjścia ścieżki Arduino w Coddy. Lekcja 5 z 24.
Pokrętło przekazuje do analogRead() liczbę od 0 do 1023, a analogWrite() oczekuje wartości od 0 do 255. Te zakresy nie pasują do siebie, więc przekształć jeden w drugi za pomocą map():
int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);Gdy pokrętło jest przekręcone w dół, otrzymujemy 0 i dioda LED jest wyłączona; gdy jest przekręcone w górę, otrzymujemy 1023, które zmienia się w 255, czyli pełną jasność. Każde położenie pośrednie daje pośrednią jasność.
Bezpośrednie zapisanie odczytu do diody LED nie działa: analogWrite() przyjmuje tylko wartości od 0 do 255, więc odczyt taki jak 600 daje nieprawidłową jasność.
Wyzwanie
ŁatwyPokrętło jest podłączone do A0, a dioda LED do pinu 9. Ustaw jasność za pomocą pokrętła:
- odczytaj wartość z pokrętła
- przekształć odczyt na zakres od 0 do 255 za pomocą
map() - zapisz wartość do diody LED, a następnie odczekaj 10 ms
Naciśnij Run i obróć pokrętło, a następnie naciśnij Check.
Spróbuj swoich sił
const int knobPin = A0;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// odczytaj wartość pokrętła, przeskaluj ją do zakresu 0..255 i ustaw ją na LED
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wyjścia
Poćwicz samodzielnie: Edytor online Arduino