Arduino Trafik Işıkları - Lambası Uygulaması

Merhaba arkadaşlar.. Bugün ki uygulamamız sıkça yapılan kolay, okul projelerinde de sıkça karşılaşılan Trafik Lambası Uygulaması olacak. Biliyoruz ki evrensel olarak trafik lambaları/ışıkları Kırmızı, Sarı ve Yeşil ışıklardan oluşuyor. Projemizdeki temel elektronik elemanlar da bunlar olacak. Tabi dirençlerle beraber.. Şimdi uygulamamızın mantığını kuralım önce.. Biliyoruz ki trafik ışıklandırmalarında kırmızı ışık bir süre yanar sonra sarı ışık yanar bu ikisi bir süre birlikte yandıktan sonra ikisi birlikte sönerek yeşil ışık yanar. Yeşil ışık da bir süre yandıktan sonra bu döngü başa alır ve tekrarlanır.

Şimdi uygulamamızın devre şemasını oluşturalım..

Arduino Trafik Işıkları Uygulaması

Arduino Trafik Işıkları Uygulaması kodlarımıza gelecek olursak, standartlara göre yada kendi belirlediğimiz zaman aralıkları ile ışıkların yanma periyotlarını belirleyelim... Aşağıdaki örnekte 1 dakika süre ile yanan kırmızı ışık ve onu takip eden 5 saniye yanan sarı ışık ardından da 30 saniye yanan yeşil ışıkla sonlanan bir döngü oluşturacağız. Burada önemli olan tek ayrıntı kırmızı ışığın yanma süresinin son 5 saniyesinde sarı ışıkla birlikte yanma durumuna dikkat etmemiz gerekmektedir..

Bu koşullar altında yazacak olduğumuz arduino trafik ışıkları uygulaması kodları aşağıdaki gibidir.

#define KIRMIZI 10
#define SARI     9
#define YESIL    8

void setup()
{
  Serial.begin(9600);
  pinMode(KIRMIZI,OUTPUT);
  pinMode(SARI,OUTPUT);
  pinMode(YESIL,OUTPUT);
}
void loop()
{
  for(int sayac=0;;sayac++)
  {
  if(sayac==1)
  {
      digitalWrite(KIRMIZI,HIGH);
  }
  if(sayac==55)
  {
      digitalWrite(SARI,HIGH);
  }
  if(sayac==60)
  {
      digitalWrite(KIRMIZI,LOW);
      digitalWrite(SARI,LOW);
      digitalWrite(YESIL,HIGH);
  }
  delay(1000);
  if(sayac==90)
  {
      digitalWrite(YESIL,LOW);
      sayac=0;
  }       
}
}