Menü
Kapat
Giriş Yap Kayıt Ol
Şifremi Unuttum
Kapat
Sepetim
11.08.2023

Trafik Lambası Yapımı (Arduino Projeleri)

Merhaba, bu blog yazımızda basit ama eğlenceli bir projeyle devam edeceğiz. Arduino ile trafik lambası uygulamasını gerçekleştireceğiz. Bu proje için bize gerekli malzemeler şunlar;

1-      1 adet Arduino

2-      1 adet Breadboard

3-      3 adet 220 Ohm direnç

4-      1 adet Kırmızı LED

5-      1 adet Sarı LED

6-      1 adet Yeşil LED

7-      Ve son olarak bağlantıları yapmak için bir miktar jumper veya kablo

 

Şimdi bu malzemeler ile bağlantıları nasıl yapacağımızı aşağıdaki şekilden inceleyelim.  

Arduinonun 13, 12 ve 11. Pinlerini kullanarak uçlarına dirençleri bağlayacağız. Ardından kırmızı, sarı, yeşil şeklinde sıralı olarak ledlerin anot(+) uçlarını her bir direncin diğer ucuna bağlayacağız. Ledlerin katot(-) uçlarını tek bir noktada toplayarak arduinonun GND ucu ile birleştireceğiz. Bu şekilde istenilen devre düzeneğini elde etmiş olacağız.

 

Devremizi kurduktan sonra kodumuzu yazmamız için öncelikle algoritmamızı belirlememiz gereklidir. Bunun için trafik lambalarının nasıl yandığını düşünebiliriz. Yandaki şekil ile algoritmamızı daha iyi açıklayabiliriz ve kodumuzu bunun üzerine kurulu bir düzen ile yazabiliriz.

Bilindiği gibi öncelikle kırmızı ışık yanacaktır. Ardından sarı ışık kırmızı ışıkla birlikte yanacak ve ardından yeşil ışık yanacaktır. Sonrasında ise sarı ışık tek başına yanacak ve tekrar kırmızı ışığa dönecektir. Bunu bir döngü şeklinde devam edecek şekilde yapacağız.

Bu işlemleri yaparken süreleri de göz önünde bulundurmak zorundayız. Örneğin kırmızı ışık ve yeşil ışık süreleri eşit olabilir ancak sarı ışığın daha bir kısa sürede belirlemeliyiz.

 

 

 

Kodumuz gösterilen döngüye göre aşağıdaki gibi olacaktır. Kısaca açıklamasını yapacak olursak hiçbir kütüphane yüklemeden sadece pin çıkışlarımızı tanımlıyoruz. 13, 12 ve 11. Pinlerimizi belirlediğimiz için bunları çıkış olarak pinMode fonksiyonu ile tanımlıyoruz. Ardından loop döngümüze geliyoruz ve burada öncelikle kırmızı ışığı yakıp diğer ledleri söndürüyoruz ve bu işlem yani kırmızı ışık süresini 3 saniye yanık kalmasını sağlıyoruz. Kırmızı ve sarı ışığı aynı anda HIGH yapıyoruz ve gerçek hayatta da sarı ışık kısa sürdüğü için bunu 1 saniye olarak yanık bırakıyoruz. Daha sonra yeşil ışığı yakıyoruz ve diğer ışıkları söndürme yani LOW komutunu veriyoruz bu işlemi de kırmızı ışıkta olduğu gibi 3 saniye yapıyoruz. Ve son olarak tekrar sarı ışığı bu sefer tek başına yanacak şekilde 1 saniyelik süreyle yakıyoruz. İşlemler Loop döngüsünde olduğundan en başa dönerek tekrar kırmızı ışık yanacaktır ve bu işlem sonsuza kadar devam edecektir.



 

//********************************************************************************

void setup()

{

  pinMode(13, OUTPUT); // KirmiziLED

  pinMode(12, OUTPUT); // Sari LED

  pinMode(11, OUTPUT); // Yesil LED

}

 

void loop()

{

  // Kırmızı

  digitalWrite(13, HIGH);

  digitalWrite(12, LOW);

  digitalWrite(11, LOW);

  delay(3000); // 3 saniye bekleme süresi

 

  // Kirmizi-Sari

  digitalWrite(13, HIGH);

  digitalWrite(12, HIGH);

  digitalWrite(11, LOW);

  delay(1000); // 1 saniye bekleme süresi

 

   // Yesil

  digitalWrite(13, LOW);

  digitalWrite(12, LOW);

  digitalWrite(11, HIGH);

  delay(3000); // 3 saniye bekleme süresi

  // Sari

  digitalWrite(13, LOW);

  digitalWrite(12, HIGH);

  digitalWrite(11, LOW);

  delay(1000); // 1 saniye bekleme süresi

 

}

//****************************************************************************

Eğer mevcut malzemeler elinizde yok ise TinkerCad gibi online simülasyon sitelerinden bu gibi basit projeleri online olarak deneyebilir kodta değişiklikler yaparak daha iyi anlamanıza yardımcı olabilirsiniz.

Ayrıca bu projeyi sitemizde bulunan "LED Trafik Işıkları Modülü - Trafik Lambası” ile de gerçekleştirebilrsiniz!

 

 

İster LEDler ile ister sizin için sunduğumuz trafik lambası modülü ile bu eğlenceli projeyi yaparak bizimle paylaşırsanız sosyal medya sayfalarımızda paylaşmaktan memnuniyet duyarız.

Bu kısa ve eğlenceli projemizde bizlerle olduğunuz için teşekkürler bir sonraki çalışmalarda görüşmek üzere!