Arduino -Programmierung verwendet Kontrollstrukturen wie zum Beispiel Wenn, für, während und Schalterfall Entscheidungsfindung und Schleifen in einer Skizze zu kontrollieren. Diese Strukturen erlauben das Arduino Um auf Bedingungen zu reagieren, Aufgaben zu wiederholen und verschiedene Codeblöcke basierend auf der Eingabe auszuführen.
1. Wenn Anweisung (bedingte Ausführung)
Der wenn Anweisung wird verwendet, um einen Codeblock auszuführen Nur wenn ein bestimmter Zustand erfüllt ist.
Syntax
if (condition) {
// Code to execute if condition is true
}
Beispiel: Ein Einschalten einer LED basierend auf einer Taste Drücken Sie
const int buttonPin = 2; // Button connected to pin 2
const int ledPin = 13; // LED connected to pin 13
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin); // Read button state
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); // Turn LED on if button is pressed
} else {
digitalWrite(ledPin, LOW); // Turn LED off otherwise
}
}
IF-ELSE-Aussage
if (temperature > 30) {
Serial.println("It's too hot!");
} else {
Serial.println("Temperature is normal.");
}
IF-ELSE IF ARKTION
if (temperature > 30) {
Serial.println("It's too hot!");
} else if (temperature < 10) {
Serial.println("It's too cold!");
} else {
Serial.println("Temperature is comfortable.");
}
2. Für Schleife (Wiederholungsaufgaben eine feste Anzahl von Male)
A Für Schleife leitet einen Codeblock aus eine feste Häufigkeit oft. Es wird üblicherweise für verwendet Iterieren über Arrays oder steuerende sich wiederholende Aufgaben.
Syntax
for (initialization; condition; increment) {
// Code to execute in each iteration
}
Beispiel: 5 -mal blinken eine LED
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 5; i++) { // Loop runs 5 times
digitalWrite(ledPin, HIGH); // Turn LED on
delay(500); // Wait 500 ms
digitalWrite(ledPin, LOW); // Turn LED off
delay(500);
}
delay(2000); // Pause before repeating
}
Beispiel: Durch ein Array laufen
int numbers[] = {1, 2, 3, 4, 5};
void setup() {
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 5; i++) {
Serial.println(numbers[i]); // Print each number in the array
}
delay(2000);
}
3. Während der Schleife (Wiederholung, bis ein Zustand erfüllt ist)
A Während der Schleife leitet einen Codeblock aus Solange ein bestimmter Zustand wahr bleibt.
Syntax
while (condition) {
// Code to execute while the condition is true
}
Beispiel: Warten auf eine Taste Drücken Sie drücken
const int buttonPin = 2;
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
Serial.println("Waiting for button press...");
while (digitalRead(buttonPin) == LOW) {
// Stay in loop until button is pressed
}
Serial.println("Button pressed!");
}
Beispiel: Countdown -Timer
int count = 10;
void setup() {
Serial.begin(9600);
}
void loop() {
while (count > 0) {
Serial.print("Countdown: ");
Serial.println(count);
count--;
delay(1000);
}
Serial.println("Liftoff!");
delay(5000); // Restart countdown after delay
count = 10; // Reset count
}
4. Schaltkoffer (Umgang mit mehreren Bedingungen effizient)
A Schaltfall -Anweisung wird verwendet, wenn Mehrere Bedingungen müssen überprüft werden, es zu einer Alternative zu einer Alternative zu If-ELSE IF-ELSE Ketten.
Syntax
switch (variable) {
case value1:
// Code to execute if variable == value1
break;
case value2:
// Code to execute if variable == value2
break;
default:
// Code to execute if none of the cases match
}
Beispiel: Steuerung einer LED mit einem Drehschalter steuern
const int ledPin = 13;
int mode = 1; // Example mode variable
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
switch (mode) {
case 1:
Serial.println("Mode 1: LED ON");
digitalWrite(ledPin, HIGH);
break;
case 2:
Serial.println("Mode 2: LED BLINKING");
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
break;
case 3:
Serial.println("Mode 3: LED OFF");
digitalWrite(ledPin, LOW);
break;
default:
Serial.println("Invalid Mode");
break;
}
}
Beispiel: Verwenden einer Taste, um die Modi zu durchlaufen
const int buttonPin = 2;
int mode = 1;
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(buttonPin) == HIGH) {
mode++;
if (mode > 3) mode = 1; // Reset mode to 1 if it exceeds 3
delay(500); // Debounce delay
}
switch (mode) {
case 1:
Serial.println("Mode 1: Low Power Mode");
break;
case 2:
Serial.println("Mode 2: Normal Mode");
break;
case 3:
Serial.println("Mode 3: High Performance Mode");
break;
default:
Serial.println("Invalid Mode");
break;
}
}
Abschluss
- Wenn Aussagen Ermöglichen Sie eine bedingte Ausführung basierend auf Sensorwerte oder Tastendrücken.
- für Schleifen sind nützlich für sich wiederholende Aufgaben mit bekannter Zählung, wie z. B. ein LED zu blinken.
- während Schleifen Führen Sie den Code kontinuierlich aus, bis eine bestimmte Bedingung erfüllt ist.
- Switch -Fallanweisungen Vereinfachen Sie die Entscheidungsfindung beim effizienten Umgang mit mehreren Bedingungen.
Diese Strukturen Verbessern Sie die Arduino -Programmierung Indem Sie es einfacher machen, Schleifen, Bedingungen und Gerätesteuerung zu verwalten. 🚀