Dlaczego musimy mrugać bez użycia funkcji opóźnienia () w Arduino
Funkcja opóźnienia () powoduje opóźnienie określonego czasu w wykonywaniu instrukcji lub możemy powiedzieć, że funkcja opóźnienia () zatrzymuje cały program i żadna instrukcja nie zostanie wykonana, dopóki opóźnienie () nie zakończy się.
Oznacza to, że nie możemy wykonać żadnego innego zadania, dopóki opóźnienie nie zostanie zakończone, jest to główna troska, dlaczego czasami zniechęca się do użycia funkcji opóźnienia (). Zastanówmy się nad przykładem kuriera, on idzie do domu i nie znajduje nikogo w domu, jak powiedzieli sąsiedzi, zainteresowana osoba wróci do swojego domu za godzinę. Co powinien zrobić kurier? Albo może poczekać, albo dostarczyć paczki sąsiednich klientów i wrócić po godzinie, aby dostarczyć działkę tej osoby.
Podobnie w programowaniu nie zalecamy korzystania z funkcji opóźnienia () i zatrzymywania całego programu przez pewien czas, zamiast tego wolimy wykonywać inne zadanie, podczas gdy mrugnięcie diody LED.
Mrugnij bez użycia kodu funkcji opóźnienia () w Arduino
W Arduino możemy mrugnąć diodami LED bez użycia funkcji opóźnienia () przez bardzo prosty kod. Przed przejściem przez kod wyjaśnijmy cel niektórych wbudowanych funkcji, które są używane w kodzie:
Funkcje | Zamiar |
---|---|
pinmode () | Ta funkcja służy do zdefiniowania konkretnego PIN do działania jako wyjście lub wejściu |
DigitalWrite () | Ta funkcja służy do konfigurowania styku według stanów wysokich lub niskich |
Seryjny.zaczynać() | Ta funkcja jest używana do komunikacji szeregowej |
Millis () | Ta funkcja służy do wyodrębnienia czasu wykonywania kodu w milisekundach |
Rozważ następujący kod:
int LED = 13;
int x = 1;
niepodpisany długi D1, D2;
void setup ()
pinmode (LED, wyjście);
DigitalWrite (LED, 1);
Seryjny.rozpocząć (9600);
void Loop ()
d2 = millis ();
if (d2-d1> = 1000)
x = 1-x;
D1 = Millis ();
DigitalWrite (LED, x);
Wyjaśnienie powyższego kodu to:
Symulacja
Będziemy uruchomić ten kod w symulacji Proteus, otworzymy Proteus i znajdziemy następujące składniki:
Podłącz jeden zacisk rezystora z pinem 13 Arduino, podłącz dodatni zacisk diody LED z drugim zaciskiem rezystora i podłącz ziemię z ujemnym zaciskiem LED LED. Po zakończeniu obwodu kliknij dwukrotnie Arduino i prześlij w nim plik „sześciokątny” kodu Arduino.
Zagraj w projekt, a dioda LED zacznie migać, jak pokazano poniżej:
Konfiguracja sprzętu
Ten sam obwód, który jest symulowany na proteusie, zostanie złożony na tablicy chleba. Użyliśmy przewodów skoczków do podłączenia komponentów, które są LED, Arduino i rezystor:
Czarny drut zworki jest podłączony do ziemi Arduino i ujemnego zacisku diody LED. Następnie rezystor (220 omów) jest podłączony do dodatniego zaciska. Kod jest już przesłany na Arduino, działanie projektu jest:
LED z powodzeniem miga bez użycia funkcji opóźnienia ().
Wniosek
Funkcja Blink bezzw. Bez użycia funkcji opóźnienia () nie jesteśmy ograniczeni do jednego zadania i możemy uruchomić inne instrukcje kodu. W tym zapisie wyjaśniliśmy funkcję mrugnięcia bez opóźnienia () w Arduino za pomocą demonstracji jej symulacji, a także konfiguracji sprzętowej.