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ęć.
Wyzwanie
ŚredniMigaj 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ą wblinksLeft, jeśli jest większa od 0 - jeśli
blinksLeftjest 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
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wejścia
3Wejście szeregowe
Odczyt znaku z portu szeregowegoPolecenia słowneSzybkość migania z portu szeregowegoMiganie na poleceniePoćwicz samodzielnie: Edytor online Arduino