In der Arduino-Programmierung gibt es viele Situationen, in denen es notwendig ist, eine Pause oder Verzögerung einzubauen, sei es, um einen Sensor auszulesen oder um auf eine bestimmte Bedingung zu warten.
Um eine Pause von 3 Sekunden zu erstellen, nutzen wir die Funktion „delay()“. Diese Funktion veranlasst den Arduino für die angegebene Anzahl von Millisekunden zu pausieren.
Da eine Sekunde 1000 Millisekunden entspricht, können wir die Funktion „delay(3000)“ verwenden, um unseren gewünschten Effekt zu erzielen.
void setup() {
// Initialisierungscodes hier eingeben
}
void loop() {
// Hauptlogik des Programms hier eingeben
delay(3000); // Pause von 3 Sekunden
}
Öffne deine Arduino-Entwicklungsumgebung und erstelle ein neues Projekt.
Beginne den Quellcode deines Projekts mit der Funktion „setup()“, die nur einmal zu Beginn des Programms aufgerufen wird. Hier kannst du Setup-Aufgaben wie das Einstellen von Pins oder das Initialisieren von Variablen durchführen.
Schreibe den Quellcode fort, indem du die Funktion „loop()“ verwendest. Diese Funktion wird kontinuierlich wiederholt, sobald sie einmal aufgerufen wurde.
Füge innerhalb der „loop()“ eine Zeile Code ein, um eine Pause von 3 Sekunden zu erstellen. Schreibe dazu einfach „delay(3000);“ in den Code. Der Wert „3000“ steht für die Anzahl der Millisekunden, die der Arduino pausieren soll, und entspricht genau 3 Sekunden.
Um eine Pause ohne Verwendung der delay
-Funktion in Arduino einzulegen, kann man die Funktion millis
nutzen, um die vergangene Zeit seit dem Start des Programms zu erfassen.
Hier ist ein Beispielcode, der eine LED für 1 Sekunde ein- und dann für 1 Sekunde ausgeschaltet hält:
const int ledPin = 13; // Steuerpin der LED
unsigned long previousMillis = 0; // letzte Zeit, zu der die LED aktualisiert wurde
const long interval = 1000; // Intervall (in Millisekunden) zwischen dem Ein- und Ausschalten der LED
void setup() {
pinMode(ledPin, OUTPUT); // LED-Pin als Ausgang konfigurieren
}
void loop() {
// aktuelle Zeit abrufen
unsigned long currentMillis = millis();
// Überprüfen, ob die gewünschte Zeit vergangen ist
if (currentMillis - previousMillis >= interval) {
// LED einschalten
digitalWrite(ledPin, HIGH);
delay(1000); // LED 1 Sekunde lang eingeschaltet halten
// LED ausschalten
digitalWrite(ledPin, LOW);
// letzte Aktualisierungszeit aktualisieren
previousMillis = currentMillis;
}
}
Dieser Code verwendet die millis
-Funktion, um die Zeit seit dem Start des Programms zu erfassen. Durch Subtrahieren der vorherigen Zeit von der aktuellen Zeit kann überprüft werden, ob eine bestimmte Zeitspanne vergangen ist.
Wenn du das Arduino-Programm hochlädst und ausführst, wird der Arduino nun eine Pause von 3 Sekunden einlegen, bevor er zum nächsten Code-Abschnitt übergeht oder die Schleife erneut durchläuft.
ArduinoHi ich bin’s Dominik. Auf Blogseite.com findest du alles was mich interessiert. Mag Games, liebe SEO, programmiere gerne und möchte dir mit verschiedenen Themen die mich begeistern einen Mehrwert liefern. Viel Spaß auf meiner Seite