Doğan Kayadelen
Arduino trafik ışıkları projesi kodları

Arduino İle Trafik Işıkları Projesi ve Kodları

Arduino kullanarak trafik ışığı projesi yapımına başlayalım. Yapacağımız arduino trafik lambası ile birlikte günlük hayatta sıklıkla karşımıza çıkan trafik ışıklarının da mantığını anlamış olacağız. Arduino dersleri serimizin ilk yazısı ile karşınızdayız.

Arduino trafik lambası

Gelin öncelikle trafik ışıklarının nasıl çalıştığının mantığını kavradıktan sonra işlemlere beraber geçelim. Mantığımızı 2 adet yol üzerine kurabiliriz. 1. yoldan geçen araçlar için öncelikle yeşil yandığını varsayarsak diğer yoldaki trafik ışığı kırmızı yanacaktır belli bir süre sonra örneğin 20 saniye sonra trafik ışıkları değişip ikinci yol yeşil yanarak birinci yoldaki trafik ışığı kırmızı yanacak ve birinci yoldaki araçlar duracaktır.

Arduino trafik lambası
Arduino trafik lambası

Arduino trafik ışıkları kod

Bildiğiniz üzere arduino da bir program yazarken önce tanımlamaları yapmak gereklidir bu tanımlamalardan sonra kafanızdaki algoritmayı arduionoya enjekte etmeniz gereklidir. Yukarıda arduino trafik ışıkları projesinin çalışma prensibini anlattık bu mantıkla devam edelim. Ülkemizde sarı ışığın bir amacı olmadığı için bu projemizde sadece kırmızı ve yeşil ışıkları kullanacağız. Bu demek oluyor ki iki yol için bizim öncelikle 4 adet arduinoda pin girişi tanımlamamız gerekir.

Tanımlamalarımız bittikten sonra void setup kısmında tanımladığımız pinlerin giriş mi yoksa çıkış mı olduğunu belirtmemiz gereklidir. Kullandığımız pinleri arduino ekranımızda OUTPUT olarak yazalım. Projenin geliştirilebilmesi açısından bir adet fonksiyon yazıyoruz ki sonra üstüne bir şeyler eklemek istediğimizde kullanıcı dostu olsun.

Oluşturduğumuz fonksiyonun adına changeLigths diyelim burada çalışma mantığına göre low ve high olan pinleri belirtiyoruz örneğin ilk yol ile ikinci yol arasında ne kadar bir süre beklenilmesi gerektiğini arduino da delay(); komutu ile belirliyoruz. Biz delay’i 5000 olarak atadık yani 5 saniye. Daha sonra bu fonksiyonumuzu void loop içerisinde çağırıp kodumuzu tamamlıyoruz.
// light one
int red1 = 10;
int green1 = 8;

// light two
int red2 = 13;
int green2 = 11;

void setup(){
// light one
pinMode(red1, OUTPUT);
pinMode(green1, OUTPUT);

// light two
pinMode(red2, OUTPUT);
pinMode(green2, OUTPUT);
}
void changeLights(){

digitalWrite(green1, LOW);
digitalWrite(red2, LOW);
digitalWrite(green2, HIGH);
digitalWrite(red1, HIGH);
delay(5000);

digitalWrite(red1, LOW);
digitalWrite(green1, HIGH);
digitalWrite(red2, HIGH);
digitalWrite(green2, LOW);
delay(5000);

}
void loop(){

changeLights();
delay(5000);
}
Arduino trafik lambası kodları ve mantığını ilk arduino dersinde elimden geldiği kadar vermeye çalıştım anlamadığınız yerde soru sormaktan çekinmeyin.

Leave a Comment