Menu
CoddyTech

Licznik binarny na diodach LED

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

Cztery diody LED mogą przedstawiać dowolną liczbę od 0 do 15 w systemie binarnym, tak jak komputery przechowują liczby. Każda dioda oznacza miejsce o wartości dwa razy większej niż poprzednie: 1, 2, 4 i 8. Zapalona dioda dodaje swoją wartość:

  • 5 to 4 + 1: zapalone są diody o wartościach 4 i 1
  • 10 to 8 + 2
  • 15 to wszystkie cztery

Każde miejsce nazywa się bitem i jest numerowane od 0, czyli tego o wartości 1. bitRead(number, n) zwraca bit n liczby: 1 albo 0:

bitRead(5, 0);  // 1: w 5 bit o wartości 1 jest ustawiony
bitRead(5, 1);  // 0: w 5 bit o wartości 2 nie jest ustawiony
bitRead(5, 2);  // 1: w 5 bit o wartości 4 jest ustawiony

Ponieważ 1 to HIGH, a 0 to LOW, bit i można bezpośrednio podłączyć do diody LED i:

for (int i = 0; i < 4; i++) {
  digitalWrite(ledPins[i], bitRead(count, i));
}

Tutaj ledPins[0], pin 2, to dioda LED po prawej stronie, o wartości 1, podobnie jak ostatnia cyfra liczby.

challenge icon

Wyzwanie

Średni

Niech cztery diody LED odliczają w systemie binarnym:

  • zacznij od count równego 0
  • wyświetl tę wartość na diodach LED za pomocą bitRead(); bit i na ledPins[i]
  • odczekaj 250 ms, dodaj 1, a po 15 zacznij ponownie od 0

Naciśnij Run, a następnie Check.

Spróbuj swoich sił

int ledPins[] = {2, 3, 4, 5};  // o wartościach 1, 2, 4, 8
int count = 0;

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

void loop() {
  // wyświetl count w postaci binarnej, odczekaj 250 ms, a następnie zwiększ count (wróć do 0 po 15)
}
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