Jak korzystać z funkcji opóźnienia

Jak korzystać z funkcji opóźnienia
Istnieje wiele przydatnych funkcji w języku C/C ++ używanym do zaprogramowania mikrokontrolera Arduino. Takie funkcje mogą ułatwić wdrożenie projektu, dzięki czemu działanie kodu są bardziej zrozumiałe. Jedną z funkcji, które pomagają mocno w tworzeniu logiki programu, jest opóźniający się () funkcjonować. Aby zrozumieć, jak działa ta funkcja, wyjaśniliśmy tę funkcję w bardzo kompleksowy sposób.

Co to jest funkcja opóźnienia

Z nazwy funkcji jest oczywiste, że jest ona używana do zatrzymania działania kodu Arduino na czas mikrosekund podanych przez użytkownika. Ta funkcja jest przydatna, gdy program pobiera dane wejściowe z zewnątrz, albo kontroluje niektóre urządzenia, takie jak funkcja opóźnienia (). Aby użyć funkcji DelayMicroseconds (), musimy śledzić składnię opublikowaną poniżej:

opóźniające się (czas w mikrosekundach);

Aby skorzystać z funkcji opóźnienia MicroseConds (), musimy dać czas jako jej argument i zatrzyma program na dany czas.

Aby zilustrować, w jaki sposób możemy użyć funkcji opóźnionej foseconds (), którą podaliśmy dwa przykładowe kody, które pomogą ci zrozumieć użycie tej funkcji.

Korzystanie z funkcji opóźnienia

Aby zademonstrować, w jaki sposób ta funkcja zatrzymała przepływ kodu Arduino, użyliśmy przykładu mrugnięcia diody LED. Poniżej podaliśmy kod mrugnięcia LED, w którym mrugnęliśmy diodą LED, zmieniając jej stany za pomocą funkcji DigitalWrite () i pomiędzy zmianami stanu, że opóźniliśmy mikrosekundy.

void setup ()
pinmode (7, wyjście);/*przypisanie trybu roboczego pin, z którym jest podłączona dioda LED*/

void Loop ()
DigitalWrite (7, High); / *dając wysoką wartość funkcji, aby włączyć diodę LED */
opóźniające się (1000); /* W celu uzyskania LED w wysokim stanie na chwilę*/
DigitalWrite (7, niski); /*dając niską wartość funkcji, aby wyłączyć LED*/
opóźnienie (1000); /* W kolejności, uczyń diodę LED mrugającą w niskim stanie na chwilę*/

Używając opóźnienia

Aby wygenerować impulsy czujnika odległości, funkcja opóźnienia. Puls jest generowany przez podanie wysokich i niskich stanów do pinu wyzwalającego czujnika odległości i pomiędzy zmianami stanów, że opóźniliśmy w mikrosekundach.

Krótko mówiąc, możemy powiedzieć, że wygenerowaliśmy impuls, zmieniając stan szpilki spustowej z opóźnieniem za pomocą funkcji opóźnienia. Generowanie impulsów może służyć wielu celom, z których jednym z nich możemy użyć ich do pomiaru odległości przeszkód od odpowiednich obiektów lub możemy zmierzyć prędkość nadchodzących przeszkód. Aby pokazać, w jaki sposób możemy wygenerować impuls kilku mikrosekund, podaliśmy odpowiedni kod Arduino:

int trig = 7; // arduino pin dla pinu spustowego, jeśli senor
int echo = 6; // szpilka Arduino dla pinu echo czujnika
float d, dist; // zmienna, która przechowuje obliczoną czas trwania i odległość
void setup ()
Seryjny.Rozpocznij (9600); // Współczynnik komunikacji dla komunikacji szeregowej
// Podawanie trybów pracy spustu i echa czujnika
pinmode (tryg, wyjście);
pinmode (echo, wejście);

void Loop ()
// Generowanie impulsu 10-microsekund
DigitalWrite (Trig, High);
opóźniające się (1000); // czas w mikrosekundach
DigitalWrite (Trig, Low);
opóźniające się (1000); // czas w mikrosekundach
DigitalWrite (Trig, High);
opóźniające się (1000); // czas w mikrosekundach
DigitalWrite (Trig, Low);
D = Pulsina (echo, wysoko); // Znalezienie czasu trwania impulsu
dist = ((d/2)/29.1); // Obliczanie odległości pokrytej impulsem
// odległość drukowania na monitorze szeregowym
/* Seryjny.druk („odległość:”);
Seryjny.print (dist);
Seryjny.println („cm”);*/
opóźnienie (500);

Impulsy generowane przez czujnik odległości można zobaczyć na poniższym obrazku:

Wniosek

Funkcja opóźnienia MicroseConds () służy do wstrzymania przepływu szkicu Arduino przez czas w mikrosekundach określonych przez użytkownika. Różni się od konwencjonalnej funkcji opóźnienia, ponieważ funkcja opóźnienia przyjmuje wartości w milisekundach, co jest większe niż mikrosekundy. Możemy więc powiedzieć, że aby dać niewielką pauzę kodowi Arduino, możemy użyć funkcji opóźnienia.