שימושים בתכנות Arduino מבני בקרה כְּגוֹן אם, למען, ולחזור תיק לשלוט בקבלת החלטות ולולאות בסקיצה. מבנים אלה מאפשרים ארדואינו כדי להגיב לתנאים, חזור על משימות וביצוע חסימות קוד שונות על בסיס קלט.
1. אם הצהרה (ביצוע מותנה)
THE אם הצהרה משמש לביצוע גוש קוד רק אם מתקיים מצב מוגדר.
תַחבִּיר
if (condition) {
// Code to execute if condition is true
}
דוגמה: הפעלת LED על בסיס לחיצה על כפתור
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
if (temperature > 30) {
Serial.println("It's too hot!");
} else {
Serial.println("Temperature is normal.");
}
IF-ELSE IF הצהרה
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. לולאה (חוזרת על משימות מספר קבוע של פעמים)
א לולאה מריץ גוש קוד מספר קבוע של פעמיםו הוא משמש בדרך כלל ל איטרציה על מערכים או שליטה על משימות חוזרות ונשנות.
תַחבִּיר
for (initialization; condition; increment) {
// Code to execute in each iteration
}
דוגמה: מהבהב LED 5 פעמים
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
}
דוגמה: ריצה דרך מערך
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. בזמן הלולאה (חוזרים על עצמם עד למקום מתנאי)
א בזמן לולאה מריץ גוש קוד כל עוד מצב מוגדר נשאר נכון.
תַחבִּיר
while (condition) {
// Code to execute while the condition is true
}
דוגמה: מחכה ללחץ לחיצה
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!");
}
דוגמה: טיימר הספירה לאחור
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. מארז מתג (טיפול בתנאים מרובים ביעילות)
א החלף הצהרת מקרה משמש כאשר יש לבדוק תנאים מרובים, מה שהופך את זה לאלטרנטיבה ל if-else if-else שרשראות.
תַחבִּיר
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
}
דוגמה: שליטה על LED עם מתג סיבוב
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;
}
}
דוגמה: שימוש בכפתור כדי לרכוב על מצבים
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;
}
}
מַסְקָנָה
- אם הצהרות אפשר ביצוע מותנה בהתבסס על קריאות חיישנים או לחיצות על כפתורים.
- לולאות מועילים למשימות חוזרות ונשנות עם ספירה ידועה, כמו מהבהב LED.
- בזמן לולאות בצע קוד ברציפות עד לעמידה בתנאי ספציפי.
- החלף הצהרות מקרה פשט את קבלת ההחלטות בעת הטיפול בתנאים מרובים ביעילות.
מבנים אלה שפר את תכנות Arduino על ידי הקל על ניהול לולאות, תנאים ובקרת מכשירים. 🚀