Trafik Lambası
Başlangıç20 dkÜç LED'le gerçek bir trafik lambası: kırmızı, kırmızı + sarı, yeşil ve sarı ışıklar Türkiye'deki sırayla yanar, her aşama Seri Monitöre de yazılır. Birden çok çıkışı sırayla yönetmeyi, digitalWrite ve delay ile zamanlamayı, tekrarlanan işi kendi fonksiyonuna toplamayı öğretir. Işıkların sürelerini koddaki sabitlerden değiştirebilirsin. Ek kütüphane gerekmez.
Uygulamada adım adım yapGerekli malzemeler
1 × Arduino Uno R3
1 × Breadboard 830 Pin (MB-102)
1 × LED - Kırmızı (5mm)
1 × LED - Sarı (5mm)
1 × LED - Yeşil (5mm)
3 × Direnç 220 Ω (1/4W)
4 × Jumper Kablo - Erkek/Erkek
Bağlantı adımları
- 1
Ortak toprağı (GND) bağla

Siyah jumper kabloyu Arduino'nun dijital başlığında, 13 numaralı pinin yanındaki GND pinine tak. Diğer ucunu breadboard'un üstteki mavi çizgili (−) güç sırasına bağla. Üç LED'in dirençleri de bu sıraya bağlanacak; böylece hepsi aynı toprağı paylaşır.
- Arduino GND → üstteki mavi çizgili (−) sıra (siyah kablo)
- 2
Kırmızı LED'i ve direncini tak

Kırmızı LED'in uzun bacağını (+) breadboard'un üst yarısında 11. sütuna, kısa bacağını (−) 12. sütuna tak. 220 Ω direncin bir ucunu 12. sütuna, öbür ucunu üstteki (−) güç sırasına tak. Sonra kırmızı jumper kabloyla Arduino'nun 11 numaralı pinini 11. sütuna bağla (RED_PIN 11). Direnç LED'den geçen akımı sınırlar; o olmadan hem LED hem Arduino'nun pini zarar görebilir.
- kırmızı LED uzun bacak (+) → 11. sütun, üst yarı
- kırmızı LED kısa bacak (−) → 12. sütun, üst yarı
- kırmızı LED'in direnci (1. bacak) → 12. sütun, üst yarı
- kırmızı LED'in direnci (2. bacak) → üstteki mavi çizgili (−) sıra
- Arduino pin 11 → 11. sütun, üst yarı (kırmızı kablo)
- 3
Sarı LED'i ve direncini tak

Sarı LED'in uzun bacağını (+) üst yarıda 14. sütuna, kısa bacağını (−) 15. sütuna tak. İkinci 220 Ω direnci 15. sütun ile üstteki (−) güç sırası arasına tak. Sarı jumper kabloyla Arduino'nun 10 numaralı pinini 14. sütuna bağla (YELLOW_PIN 10).
- sarı LED uzun bacak (+) → 14. sütun, üst yarı
- sarı LED kısa bacak (−) → 15. sütun, üst yarı
- sarı LED'in direnci (1. bacak) → 15. sütun, üst yarı
- sarı LED'in direnci (2. bacak) → üstteki mavi çizgili (−) sıra
- Arduino pin 10 → 14. sütun, üst yarı (sarı kablo)
- 4
Yeşil LED'i ve direncini tak

Yeşil LED'in uzun bacağını (+) üst yarıda 17. sütuna, kısa bacağını (−) 18. sütuna tak. Üçüncü 220 Ω direnci 18. sütun ile üstteki (−) güç sırası arasına tak. Yeşil jumper kabloyla Arduino'nun 9 numaralı pinini 17. sütuna bağla (GREEN_PIN 9). Böylece devre tamamlanır.
- yeşil LED uzun bacak (+) → 17. sütun, üst yarı
- yeşil LED kısa bacak (−) → 18. sütun, üst yarı
- yeşil LED'in direnci (1. bacak) → 18. sütun, üst yarı
- yeşil LED'in direnci (2. bacak) → üstteki mavi çizgili (−) sıra
- Arduino pin 9 → 17. sütun, üst yarı (yeşil kablo)
Arduino kodu
// Trafik lambasının pinleri
const int RED_PIN = 11;
const int YELLOW_PIN = 10;
const int GREEN_PIN = 9;
// Her ışığın yanık kalma süresi (ms)
const unsigned long RED_TIME = 5000;
const unsigned long YELLOW_TIME = 2000;
const unsigned long GREEN_TIME = 5000;
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(YELLOW_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
Serial.begin(9600);
}
// Üç ışığı birlikte ayarlar: HIGH yanık
void lights(int red, int yellow, int green) {
digitalWrite(RED_PIN, red);
digitalWrite(YELLOW_PIN, yellow);
digitalWrite(GREEN_PIN, green);
}
void loop() {
// Dur: yalnızca kırmızı
lights(HIGH, LOW, LOW);
Serial.println("Kırmızı: dur");
delay(RED_TIME);
// Hazırlan: kırmızı ve sarı birlikte
lights(HIGH, HIGH, LOW);
Serial.println("Kırmızı + sarı: hazırlan");
delay(YELLOW_TIME);
// Geç: yalnızca yeşil
lights(LOW, LOW, HIGH);
Serial.println("Yeşil: geç");
delay(GREEN_TIME);
// Dikkat: yalnızca sarı
lights(LOW, HIGH, LOW);
Serial.println("Sarı: dikkat, duracak");
delay(YELLOW_TIME);
}
Seri Monitörde göreceğin
Kırmızı: dur Kırmızı + sarı: hazırlan Yeşil: geç Sarı: dikkat, duracak Kırmızı: dur Kırmızı + sarı: hazırlan
Sonuç
Kırmızı LED 5 saniye yanar, ardından kırmızı ve sarı 2 saniye birlikte yanar, sonra yalnızca yeşil 5 saniye, en son yalnızca sarı 2 saniye yanar ve döngü baştan başlar. Bir LED hiç yanmıyorsa önce bacak yönüne (uzun bacak Arduino'nun pinine) ve direncin (−) sırasına oturduğuna bak.
Uygulamada her bağlantıyı tek tek işaretle, envanterindeki parçalarla eşleştir ve kaldığın yerden devam et.
Uygulamada adım adım yap