🚸 چراغ عابر پیاده
ماشین حالت با دکمهی عابر — بدون هیچ delay.
سطح: متوسط ⭐⭐ · مود: آردوینو (سهبعدی + کد)
قطعات لازم
کد کامل پروژه
const int red = 13, yellow = 12, green = 11, button = 2;
int state = 0;
unsigned long changed = 0;
bool requested = false;
void setLights() {
digitalWrite(green, state == 0);
digitalWrite(yellow, state == 1);
digitalWrite(red, state == 2);
}
void setup() {
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(button, INPUT_PULLUP);
changed = millis();
setLights();
Serial.begin(9600);
}
void loop() {
if (digitalRead(button) == LOW) requested = true;
unsigned long now = millis();
if (state == 0 && requested && now - changed > 2000) {
state = 1; changed = now; setLights();
} else if (state == 1 && now - changed > 1500) {
state = 2; changed = now; setLights();
} else if (state == 2 && now - changed > 5000) {
state = 0; changed = now; requested = false; setLights();
}
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «چراغ عابر پیاده» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!