Menu
CoddyTech

Wykres słupkowy z pokrętła

Część sekcji Wyjścia ścieżki Arduino w Coddy. Lekcja 18 z 24.

Rząd diod LED może przedstawiać liczbę jako pasek: im więcej świecących diod LED, tym większa liczba. Tutaj liczba pochodzi z pokrętła.

Najpierw przekształć odczyt na liczbę diod LED do zaświecenia, od 0 do 5:

int count = map(analogRead(A0), 0, 1023, 0, 5);

Następnie przejdź przez każdą diodę LED za pomocą pętli for i zdecyduj dla każdej z nich. Diody LED przed pozycją count świecą, a pozostałe są wyłączone:

for (int i = 0; i < 5; i++) {
  if (i < count) {
    digitalWrite(ledPins[i], HIGH);
  } else {
    digitalWrite(ledPins[i], LOW);
  }
}

else ma znaczenie: gdy przekręcasz pokrętło w dół, wyłącza diody LED, które nie są już częścią paska.

challenge icon

Wyzwanie

Średni

Potencjometr jest podłączony do A0, a diody LED znajdują się w ledPins. Utwórz wykres słupkowy:

  • zamień odczyt na liczbę z zakresu od 0 do 5 za pomocą map()
  • zapal tyle diod LED, zaczynając od pierwszej w tablicy, a pozostałe wyłącz
  • odczekaj 10 ms, a następnie powtórz

Naciśnij Run i przekręć potencjometr, a następnie naciśnij Check.

Spróbuj swoich sił

const int knobPin = A0;
int ledPins[] = {2, 3, 4, 5, 6};

void setup() {
  for (int i = 0; i < 5; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // przekształć odczyt w liczbę od 0 do 5
  // zapal tyle pierwszych diod LED, ile wskazuje ta liczba, a pozostałe wyłącz
}
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