Sprawdź się
Przeanalizuj poniższą funkcję, a następnie wskaż, którą z instrukcji należy wybrać, aby dioda zaświeciła się co 1 sekundę.
unsigned long currentTime;
unsigned long lastTime;
void setup() {
pinMode (8, OUTPUT);
lastTime = millis();
}
void loop() {
currentTime = millis();
}
-
if((currentTime - lastTime) == 1000){
digitalWrite(8, !digitalRead(8));
lastTime = currentTime;
} -
if((currentTime - lastTime) <= 1000){
digitalWrite(8, !digitalRead(8));
lastTime = currentTime;
} -
if((currentTime - lastTime) >= 1000){
digitalWrite(8, !digitalRead(8));
lastTime = currentTime;
}
Wskaż, w których jednostkach nie podajemy czasu oczekiwania funkcji delay().
- s
- ms
- µs
- ns
millis() Możliwe odpowiedzi: 1. od wywołania funkcji loop(), 2. od wywołania funkcji setup(), 3. od startu zasilania programuWskaż, od którego momentu zliczany jest czas funkcji millis().
-
od wywołania funkcji
loop() -
od wywołania funkcji
setup() - od startu zasilania programu
- od momentu wywołania wszystkich funkcji
millis(), 2. delay(), 3. żadna z powyższychWskaż funkcję, którą należy wybrać, budując zegar.
-
millis() -
delay() - brak prawidłowej odpowiedzi
-
należy wybrać obie funkcje:
millis()idelay()
millis()? Możliwe odpowiedzi: 1. unsigned long, 2. int, 3. charWskaż, z której zmiennej najlepiej skorzystać, zapisując wynik działania funkcji millis().
-
unsigned long -
int -
char -
delay()
if()co 1s? Możliwe odpowiedzi: 1. if(millis()-lastTimeIf >= 1000), 2. if(millis()-lastTimeIf < 1000), 3. if(millis()-lastTimeIf >= 1)Wskaż warunek prawidłowy dla wykonania instrukcji wewnątrz pętli if() co 1 sekundę.
- if(millis()-lastTimeIf >= 1000)
- if(millis()-lastTimeIf < 1000)
- if(millis()-lastTimeIf <= 1000)
- brak prawidłowej odpowiedzi
Korzystając z poniższych opcji, uzupełnij kod, w którym będziemy zapalać i gasić diodę co 1 sekundę.
10000, 1000, 100, LOW,
pinMode (8, {OUTPUT, 1000, INPUT,
digitalWrite (8, {HIGH, LOW
void setup() ..................................................);
}
void loop() ..................................................);
delay (..................................................);
digitalWrite (8, ..................................................);
delay (..................................................);
}
millis(), 2. funkcji delay().b) Kolejne etapy wykonania zapętlonej i rozgałęzionej instrukcji: 1. Zapal diodę (dioda świeci), 2. Poczekaj 100 milisekund (dioda świeci) – tutaj jest rozgałęzienie „Wykonaj pozostałe instrukcje), 3. Zgaś diodę (dioda nie świeci), ) – tutaj jest rozgałęzienie „Wykonaj pozostałe instrukcje), 4. Poczekaj 100 milisekund (dioda nie świeci), 5. Wykonaj dalsze instrukcje (dioda nie świeci). Powrót do punktu pierwszego, czyli zapal diodę. Opis ten dotyczy 1. funkcji
millis(), 2. funkcji delay().