Menu
CoddyTech

Ś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ść.

challenge icon

Wyzwanie

Łatwy

Pokrę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
}
quiz iconSprawdź się

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