#3Başlangıç

Trafik Lambası

4.8(122)
302 tamamlandı
Trafik Lambası
Kırmızı, sarı ve yeşil LED'lerle gerçek bir trafik lambası simülasyonu yapan proje. Zamanlama ve sıralı kontrol mantığını öğretir.

Video

Devre Şeması

Trafik Lambası - Circuit

Kaynak Kodu

Arduino (C++)
1void setup() {
2  pinMode(2,OUTPUT);
3  pinMode(3,OUTPUT);
4  pinMode(4,OUTPUT);
5}
6void loop() {
7  digitalWrite(2,HIGH);
8  digitalWrite(3,LOW); 
9  digitalWrite(4,LOW);  
10  delay(2000);
11  digitalWrite(2,LOW);  
12  digitalWrite(3,HIGH);
13  digitalWrite(4,LOW);  
14  delay(300);
15  digitalWrite(2,LOW);  
16  digitalWrite(3,LOW);  
17  digitalWrite(4,HIGH);
18  delay(2000);
19  digitalWrite(2,LOW);
20  digitalWrite(3,HIGH);
21  digitalWrite(4,LOW); 
22  delay(300);
23}

Sıkça Sorulanlar

Trafik lambasında sarı ışık ne kadar yanmalı?▾

Gerçek trafik lambalarında sarı ışık genelde 3–4 saniye yanar. Projede bu süre delay() ile ayarlanır; kırmızı ve yeşil daha uzun, sarı daha kısa tutulursa gerçeğe yakın bir döngü elde edilir.

Neden 220 Ω yerine 330 Ω direnç kullanılıyor?▾

330 Ω akımı biraz daha düşürür (yaklaşık 9–10 mA); LED'ler yine rahatça görünür ve pinlerden toplam daha az akım çekilir. 220 Ω ile de çalışır, sadece LED'ler biraz daha parlak olur.

Yaya butonu ekleyebilir miyim?▾

Evet. Bir push buton ve 10 kΩ pull-down direnç ekleyip digitalRead ile okuyabilirsin. Butona basıldığında döngüyü kırmızıya geçirip yaya için ayrı bir yeşil LED yakabilirsin; bunu yaparken delay yerine millis() kullanmak butonun anında algılanmasını sağlar.

LED'lerin sırası karışıyor, ne yapmalıyım?▾

Koddaki pin tanımlarını (kırmızı, sarı, yeşil) devredeki kablolarla tek tek karşılaştır. En kolayı her LED'i ayrı bir test koduyla yakıp hangi pine bağlı olduğunu doğrulamaktır.

Trafik Lambası | BlueGrays