📋 درس 62: منوی سریال با switch-case
از کامپیوتر فرمان بفرست: ۱، ۲، ۳ — و آردوینو اطاعت میکند.
سطح: متوسط · زمان: حدود 15 دقیقه · مفاهیم: switch، case، سریال
قدمهای این درس
- چرا منو؟
- قدم ۱ — دو LED و یک بازر
- قدم ۲ — switch روی یک حرف
- اشتباه رایج: break فراموششده
- چالش: فرمانهای بیشتر
نمونهای از کد این درس
const int RED = 13, GREEN = 12, BUZZER = 8;
bool redOn = false, greenOn = false;
void showMenu() {
Serial.println("--- MENU ---");
Serial.println("1 = red LED on/off");
Serial.println("2 = green LED on/off");
Serial.println("3 = beep");
Serial.println("0 = all off");
}
void setup() {
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
showMenu();
}
void loop() {
if (Serial.available() > 0) {
char c = Serial.read(); // one character
switch (c) {
case '1':
redOn = !redOn;
digitalWrite(RED, redOn);
Serial.println(redOn ? "red ON" : "red OFF");
break;
case '2':
greenOn = !greenOn;
digitalWrite(GREEN, greenOn);
Serial.println(greenOn ? "green ON" : "green OFF");
break;
case '3':
tone(BUZZER, 880, 200);
Serial.println("beep!");
break;
case '0':
redOn = false;
greenOn = false;
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
Serial.println("all off");
break;
case '\n':
case '\r':
break; // ignore Enter
default:
Serial.println("?? unknown command");
showMenu();
break;
}
}
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓