Menu
CoddyTech

Miganie na polecenie

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

Wpisz 3, a dioda LED powinna mignąć trzy razy, a następnie się zatrzymać. loop() już się powtarza, więc pozwól jej liczyć: przechowuj w zmiennej liczbę pozostałych mignięć. Za każdym razem, gdy uruchamia się loop(), jeśli pozostały jeszcze mignięcia, mignij raz i zmniejsz tę liczbę o jeden.

int blinksLeft = 0;

void loop() {
  // liczba z monitora Serial ustawia wartość blinksLeft
  if (blinksLeft > 0) {
    // jedno mignięcie
    blinksLeft = blinksLeft - 1;
  }
}

Gdy blinksLeft osiągnie 0, warunek if będzie fałszywy, a dioda LED pozostanie zgaszona aż do pojawienia się następnej liczby.

Znak nowej linii po liczbie nadal sprawia, że parseInt() zwraca 0 sekundę później. Zignoruj 0 tak jak poprzednio, bo w przeciwnym razie wyzeruje liczbę pozostałych mignięć.

challenge icon

Wyzwanie

Średni

Migaj diodą LED na pinie 13 tyle razy, ile wynosi liczba wpisana w monitorze portu szeregowego:

  • gdy czekają znaki, odczytaj liczbę za pomocą parseInt() i zapisz ją w blinksLeft, jeśli jest większa od 0
  • jeśli blinksLeft jest większe od 0, zamigaj raz (włączona przez 200 ms, wyłączona przez 200 ms) i odejmij jeden

Naciśnij Uruchom, wyślij 3 z monitora portu szeregowego, a następnie naciśnij Sprawdź.

Spróbuj swoich sił

const int ledPin = 13;

int blinksLeft = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // liczba z monitora portu szeregowego ustawia blinksLeft
  // dopóki blinksLeft jest większe od 0, mignij raz i odejmij jeden
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wejścia

Poćwicz samodzielnie: Edytor online Arduino