🕹️ Daha İleri Bir Proje: Arduino ile Çoklu ve Akıllı Trafik Işıkları Sistemi (Kavşak Işık Modeli)
🕹️ Daha İleri Bir Proje: Arduino ile Çoklu ve Akıllı Trafik Işıkları Sistemi (Kavşak Işık Modeli)
Merhaba Arduino severler! Bu yazımızda, Arduino projelerinizi bir üst seviyeye taşıyacak, hem eğlenceli hem de bilgilendirici bir projeye adım atıyoruz: Çoklu ve akıllı trafik ışıkları sistemi. Bu proje, bir kavşaktaki trafik akışını simüle etmenizi ve trafik ışıklarının davranışlarını Arduino ile kontrol etmenizi sağlayacak.
Bu proje ile sadece elektronik bilginizi değil, aynı zamanda programlama becerilerinizi de geliştireceksiniz. Kavşaklardaki trafik akışını anlamak, algoritma oluşturmak ve bunları Arduino'ya aktarmak, problem çözme yeteneğinizi de artıracak.
Neden Bu Proje?
- Pratik Uygulama: Teorik bilgileri pratiğe dökmek için harika bir fırsat.
- Problem Çözme: Trafik akışını optimize etmek için farklı algoritmalar deneyebilirsiniz.
- Elektronik Bilgisi: LED'ler, dirençler ve Arduino arasındaki etkileşimi daha iyi anlayacaksınız.
- Programlama Becerisi: Arduino IDE'sinde kod yazma ve hata ayıklama becerilerinizi geliştireceksiniz.
- Eğlenceli ve İlgi Çekici: Kendi trafik ışığı sisteminizi oluşturmak oldukça keyifli olacak.
Gerekli Malzemeler
Bu projeyi gerçekleştirmek için aşağıdaki malzemelere ihtiyacınız olacak:
- Arduino Uno (veya benzeri bir Arduino kartı)
- LED'ler (Kırmızı, Sarı, Yeşil) - Her trafik ışığı için bir set (en az 3 set)
- 220 Ohm dirençler (Her LED için bir adet)
- Breadboard
- Jumper kabloları (erkek-erkek)
- (İsteğe bağlı) Potansiyometre (trafik yoğunluğunu simüle etmek için)
Devre Şeması ve Bağlantılar
Devre şeması oldukça basit. Her trafik ışığı seti için (Kırmızı, Sarı, Yeşil LED'ler), her bir LED'i bir direnç üzerinden Arduino'nun dijital pinlerine bağlayacağız.
Bağlantıları şu şekilde yapabilirsiniz:
- 1. Trafik Işığı Seti:
- Kırmızı LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 2'ye
- Sarı LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 3'e
- Yeşil LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 4'e
- LED'lerin katotları (kısa bacakları) GND'ye (toprağa) bağlanacak.
- 2. Trafik Işığı Seti:
- Kırmızı LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 5'e
- Sarı LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 6'ya
- Yeşil LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 7'ye
- LED'lerin katotları (kısa bacakları) GND'ye (toprağa) bağlanacak.
- 3. Trafik Işığı Seti (İsteğe Bağlı - Daha Karmaşık Kavşak Simülasyonu için):
- Kırmızı LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 8'e
- Sarı LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 9'a
- Yeşil LED: 220 Ohm direnç üzerinden Arduino Dijital Pin 10'a
- LED'lerin katotları (kısa bacakları) GND'ye (toprağa) bağlanacak.
- Potansiyometre (İsteğe Bağlı - Trafik Yoğunluğunu Simüle Etmek İçin):
- Potansiyometrenin bir ucu Arduino'nun 5V pinine
- Potansiyometrenin diğer ucu Arduino'nun GND pinine
- Potansiyometrenin orta ucu Arduino'nun Analog Pin A0'ına
Bağlantıları yaparken dikkatli olun ve doğru pinlere bağladığınızdan emin olun. Yanlış bağlantılar Arduino'nuza zarar verebilir.
Arduino Kodu
Şimdi sıra geldi Arduino kodunu yazmaya. Aşağıdaki kod, basit bir trafik ışığı döngüsünü simüle eder. Bu kodu temel alarak daha karmaşık algoritmalar geliştirebilirsiniz.
// LED pinlerini tanımla
const int redLed1 = 2;
const int yellowLed1 = 3;
const int greenLed1 = 4;
const int redLed2 = 5;
const int yellowLed2 = 6;
const int greenLed2 = 7;
//Bekleme süreleri
const int greenDuration = 5000; //5 saniye
const int yellowDuration = 2000; //2 saniye
const int redDuration = 7000; //7 saniye
void setup() {
// LED pinlerini çıkış olarak ayarla
pinMode(redLed1, OUTPUT);
pinMode(yellowLed1, OUTPUT);
pinMode(greenLed1, OUTPUT);
pinMode(redLed2, OUTPUT);
pinMode(yellowLed2, OUTPUT);
pinMode(greenLed2, OUTPUT);
}
void loop() {
// 1. Trafik ışığı yeşil, 2. trafik ışığı kırmızı
digitalWrite(greenLed1, HIGH);
digitalWrite(redLed2, HIGH);
delay(greenDuration);
// 1. Trafik ışığı sarı, 2. trafik ışığı kırmızı
digitalWrite(greenLed1, LOW);
digitalWrite(yellowLed1, HIGH);
delay(yellowDuration);
// 1. Trafik ışığı kırmızı, 2. trafik ışığı kırmızı
digitalWrite(yellowLed1, LOW);
digitalWrite(redLed1, HIGH);
delay(1000); //Kısa bir bekleme
// 1. Trafik ışığı kırmızı, 2. trafik ışığı yeşil
digitalWrite(redLed2, LOW);
digitalWrite(greenLed2, HIGH);
delay(greenDuration);
// 1. Trafik ışığı kırmızı, 2. trafik ışığı sarı
digitalWrite(greenLed2, LOW);
digitalWrite(yellowLed2, HIGH);
delay(yellowDuration);
// 1. Trafik ışığı kırmızı, 2. trafik ışığı kırmızı
digitalWrite(yellowLed2, LOW);
digitalWrite(redLed2, HIGH);
delay(1000); //Kısa bir bekleme
digitalWrite(redLed1, LOW); // 1. Trafik ışığı kırmızı
digitalWrite(redLed2, LOW);
}
Bu kodu Arduino IDE'sine kopyalayın ve Arduino kartınıza yükleyin. Trafik ışıklarınızın sırasıyla yanıp söndüğünü göreceksiniz.
İleri Seviye: Akıllı Trafik Işıkları
Bu temel projeyi daha da geliştirebilirsiniz. İşte size bazı fikirler:
- Trafik Yoğunluğu Sensörü: Bir sensör kullanarak trafik yoğunluğunu ölçün ve ışıkların sürelerini buna göre ayarlayın.
- Buton Kontrolü: Bir butona basıldığında yaya geçidi ışıklarını aktive edin.
- Zaman Ayarlı Sistem: Farklı zaman dilimlerinde farklı trafik akışlarına göre ışıkları ayarlayın.
- Daha Fazla Işık: Daha karmaşık bir kavşak simülasyonu için daha fazla trafik ışığı ekleyin.
- Potansiyometre ile Trafik Akışı Simülasyonu: Potansiyometreden aldığınız analog değeri kullanarak bekleme sürelerini değiştirin. Böylece potansiyometre ile bir nevi trafik yoğunluğunu simule etmiş olursunuz.
Bu proje ile Arduino dünyasına daha derinlemesine bir giriş yapmış oldunuz. Unutmayın, en iyi öğrenme yolu denemek ve yanılmaktır. Kendi projelerinizi geliştirirken yaratıcılığınızı kullanmaktan çekinmeyin!
Hepinize keyifli kodlamalar!
Etiketler: Arduino, trafik ışıkları, proje, elektronik, kodlama, kavşak, LED, sensör, otomasyon, akıllı sistemler
```