Malzemeler
- Arduino UNO ve USB kablosu
- Kırmızı, sarı ve yeşil LED
- 3 adet 220 ohm direnç
- Breadboard ve jumper kablolar
Neden direnç kullanıyoruz?
LED'ler çok akım çekerse yanar ve bozulur. 220 ohm'luk direnç, akımı güvenli bir seviyede tutar. Her LED'in kendi direnci olmalıdır.
Breadboard'u tanıyalım
Breadboard'un ortasındaki beşli dikey delik grupları kendi içinde birbirine bağlıdır. Kenarlardaki uzun şeritler ise güç (+) ve toprak (-) hattı olarak kullanılır.
Bağlantı
- LED'lerin uzun bacağı (+) direnç üzerinden sırasıyla 11, 12 ve 13. pinlere
- LED'lerin kısa bacakları (-) GND hattına
Kod
// Codebil Campus - Proje 2: Trafik Işığı
const int KIRMIZI = 11;
const int SARI = 12;
const int YESIL = 13;
void setup() {
pinMode(KIRMIZI, OUTPUT);
pinMode(SARI, OUTPUT);
pinMode(YESIL, OUTPUT);
}
void yak(int pin, int sure) {
digitalWrite(pin, HIGH);
delay(sure);
digitalWrite(pin, LOW);
}
void loop() {
yak(KIRMIZI, 5000); // dur
digitalWrite(KIRMIZI, HIGH); // kırmızı + sarı: hazırlan
yak(SARI, 1500);
digitalWrite(KIRMIZI, LOW);
yak(YESIL, 5000); // geç
yak(SARI, 1500); // yavaşla
}
Fonksiyon ne işe yarar?
yak() adında kendi fonksiyonumuzu yazdık. "Bir LED'i yak, bekle, söndür" işini her seferinde üç satırla yazmak yerine tek satırla yapıyoruz. Kod hem kısalır hem okunması kolaylaşır.
Geliştir
Devreye bir buton ve iki LED daha ekleyerek yaya geçidi yapın: butona basıldığında araçlara kırmızı yansın, yayalara yeşil yansın.
Konuyu pekiştir
3 soruluk kısa test. Bir seçeneğe dokunduğunuzda doğru cevap ve açıklaması görünür.
-
LED'e seri bağlanan direncin görevi nedir?
Direnç, LED'in fazla akımla bozulmasını önler.
-
LED'in hangi bacağı artı (+) uçtur?
Uzun bacak anot (+), kısa bacak katot (-) ucudur.
-
Kodda yak() fonksiyonunu yazmanın faydası nedir?
Fonksiyon, tekrar eden komutları bir isim altında toplar.