Menu
CoddyTech

Miganie, które przyspiesza

Część sekcji Pierwsze obwody ścieżki Arduino w Coddy. Lekcja 17 z 22.

delay(waitTime) czeka przez czas określony przez wartość waitTime w danym momencie. Zmień wartość zmiennej, gdy szkic jest uruchomiony, a miganie się do niej dostosuje.

waitTime = waitTime - 100;   // następne mignięcie jest o 100 ms krótsze

Umieść to na końcu loop(), a każde mignięcie będzie krótsze od poprzedniego.

Obserwuj, co się dzieje, gdy program działa przez jakiś czas. Czas oczekiwania skraca się do 0, a potem spada poniżej 0. delay() nie może czekać przez ujemny czas: odczytuje -200 jako ogromną wartość, około 49 dni, więc dioda LED wygląda na zawieszoną. Szkic musi sam zdecydować, kiedy przestać skracać czas oczekiwania — o tym jest następna lekcja.

challenge icon

Wyzwanie

Łatwy

Spraw, aby dioda LED podłączona do pinu 13 migała coraz szybciej:

  • na górze dodaj int waitTime = 1000;
  • w loop() migaj, używając delay(waitTime) dla obu opóźnień
  • na końcu loop() zmniejsz waitTime o 200

Naciśnij Run i obserwuj, aż program się zawiesi, a następnie naciśnij Check.

Spróbuj swoich sił

// utwórz tutaj waitTime

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // zmniejsz waitTime
}
quiz iconSprawdź się

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

Wszystkie lekcje w sekcji Pierwsze obwody

Poćwicz samodzielnie: Edytor online Arduino