Warum müssen wir blinzeln, ohne die Funktion Delay () in Arduino zu verwenden?
Die Delay () -Funktion erzeugt eine Verzögerung einer definierten Zeit in der Ausführung von Aussagen oder wir können sagen, dass die Delay () -Funktion das gesamte Programm pausiert und keine Anweisung ausgeführt wird, bis die Verzögerung () nicht endet.
Dies bedeutet, dass wir keine andere Aufgabe erledigen können, bis die Verzögerung nicht abgeschlossen ist. Dies ist das Hauptanliegen, warum es manchmal entmutigt ist, die Delay () -Funktion zu verwenden. Betrachten wir das Beispiel eines Kurier-Mannes, er geht ins Haus und findet niemanden zu Hause, sagten die Nachbarn, die betroffene Person werde in einer Stunde zurück in sein Haus sein. Was soll der Kurier-Mann nun tun?? Entweder kann er warten oder die Pakete der benachbarten Kunden liefern und nach einer Stunde zurückkehren, um das Paket dieser Person zu liefern.
In ähnlicher Weise empfehlen wir bei der Programmierung nicht die Funktion Delay () und das gesamte Programm für einige Zeit inne, anstatt dass wir es vorziehen, eine andere Aufgabe zu erfüllen, während die LED -Blinzeln der LED.
Blinken Sie ohne den Funktionscode von Delay () in Arduino
In Arduino können wir LEDs ohne die Funktion Delay () durch einen sehr einfachen Code blinken. Lassen Sie uns vor dem Code den Zweck einiger integrierter Funktionen erläutern, die im Code verwendet werden:
Funktionen | Zweck |
---|---|
PinMode () | Diese Funktion wird verwendet, um den spezifischen Pin zu definieren, der als Ausgang oder Eingang fungiert |
DigitalWrite () | Diese Funktion wird verwendet, um den PIN nach hohen oder niedrigen Zuständen zu konfigurieren |
Serie.Start() | Diese Funktion wird für die serielle Kommunikation verwendet |
Millis () | Diese Funktion wird verwendet, um die Ausführungszeit von Code in Millisekunden zu extrahieren |
Betrachten Sie den folgenden Code:
int led = 13;
int x = 1;
nicht signiertes langes D1, D2;
void setup ()
PinMode (LED, Ausgabe);
DigitalWrite (LED, 1);
Serie.Beginnen Sie (9600);
void Loop ()
D2 = Millis ();
if (d2-d1> = 1000)
x = 1-x;
D1 = Millis ();
DigitalWrite (LED, x);
Die Erklärung des obigen Codes lautet:
Simulation
Wir werden diesen Code in der Proteus -Simulation ausführen, den Proteus öffnen und die folgenden Komponenten finden:
Schließen Sie den einen Terminal des Widerstands mit Pin 13 von Arduino an, verbinden Sie das positive Anschluss der LED mit dem anderen Anschluss des Widerstands und verbinden Sie den Boden mit dem negativen Terminal der LED. Sobald die Schaltung abgeschlossen ist, klicken Sie auf Arduino und laden Sie eine „Hex“ -Datei mit Arduino -Code in IT hoch.
Spielen Sie das Projekt und die LED wird wie unten gezeigt blinken:
Hardwarekonfiguration
Die gleiche Schaltung, die am Proteus simuliert ist. Wir haben Pulloverdrähte verwendet, um die Komponenten mit LED, Arduino und Widerstand zu verbinden:
Der schwarze Jumper -Draht ist mit dem Boden des Arduino und dem negativen Terminal der LED verbunden. Dann ist ein Widerstand (220 Ohm) mit dem positiven Anschluss der LED verbunden und ein weiteres Bein des Widerstands (220 Ohm) ist mit dem roten Jumper -Draht an Pin 13 von Arduino verbunden. Der Code ist bereits auf dem Arduino hochgeladen. Die Arbeit des Projekts lautet:
Die LED blinkt erfolgreich, ohne die Funktion Delay () zu verwenden.
Abschluss
Das Blink ohne Verzögerung () in Arduino ist das Projekt für Anfängerebene, mit dem nachgewiesen wird, wie das Projekt ohne Verwendung der Delay () -Funktion ausgeführt werden kann. Ohne die Funktion Delay () sind wir nicht auf eine einzelne Aufgabe beschränkt und können andere Anweisungen des Codes ausführen. In dieser Beschreibung haben wir die Blink-LED ohne Verzögerung () in Arduino mit Hilfe einer Demonstration ihrer Simulation sowie seiner Hardwarekonfiguration erklärt.