🚦 ساخت چراغ راهنمایی با آردوینو — قدم به قدم

چراغ راهنمایی بهترین پروژه‌ی دوم است: از Blink سخت‌تر است ولی هنوز فقط سه LED می‌خواهد و مفهوم ترتیب زمانی را عالی جا می‌اندازد.

چه لازم داری

مدار

پایه‌ی بلند هر LED از طریق مقاومت به یک پایه‌ی آردوینو (مثلاً ۱۱، ۱۲، ۱۳) و پایه‌ی کوتاهش به GND. همین.

کد

const int red = 13, yellow = 12, green = 11;

void setup() {
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
}

void only(int pin) {              // فقط یکی روشن بماند
  digitalWrite(red, pin == red);
  digitalWrite(yellow, pin == yellow);
  digitalWrite(green, pin == green);
}

void loop() {
  only(red);     delay(5000);     // ایست
  only(green);   delay(5000);     // حرکت
  only(yellow);  delay(1500);     // آماده باش
}

چرا تابع only نوشتیم؟

بدون آن باید در هر مرحله سه خط digitalWrite بنویسی — ۹ خط تکراری. تابع کد را کوتاه‌تر و مهم‌تر از آن قابل اعتمادتر می‌کند: دیگر ممکن نیست فراموش کنی یکی را خاموش کنی.

نسخه‌ی پیشرفته: دکمه‌ی عابر پیاده

یک دکمه با INPUT_PULLUP اضافه کن. وقتی فشرده شد، چراغ سبز را زودتر تمام کن و به قرمز برو. برای اینکه دکمه در طول delay هم کار کند، باید سراغ millis() بروی — و این دقیقاً همان لحظه‌ای است که می‌فهمی چرا millis مهم است.

اشتباهات رایج

چراغ راهنمایی را همین حالا بساز 🚦

مقاله‌های دیگر

🤖

آردوینو چیست؟ راهنمای کامل برای شروع از صفر

بهترین شبیه‌ساز مدار آنلاین فارسی — چرا شبیه‌ساز، و چرا روبومیکر؟

💡

ساده‌ترین پروژه الکترونیک برای بچه‌ها: روشن‌کردن یک LED