Akıllı Trafik Lambaları, arduino kodları (Arduino Projeleri, 3) Featured

Rate this item
(0 votes)

Bu dersimizde  arduino kullanarak akıllı trafik lambaları yapacağız.

Akıllı Trafik Lambaları projesi nedir?
AKıllı Trafik Lambaları projesinin temel amacı anayolda sürekli akan bir trafik sağlamaktadır. Bunun için de anayol ile tali yolun kesiştiği kavşaklarda ana yol için kırmızı ışığın gereksiz yanmasının önüne geçmek gerekmektedir. Yani tali yoldan gelen bir araç veya anacaddeden karşıdan karşıya geçecek bir yaya yoksa, ana yol için kırmızı ışığın yanması gereksizdir. Karşıdan karşıya geçecek bir yaya yokken ve tali yoldan ana yola dönecek olan bir araç yokken, otomatik olarak tali yola yeşil, ana yola kırmızı yanan ışıklar, ana yoldan gelen araçlar için zaman ve yakıt kaybına neden olmaktadır. Ayrıca ana yolda gereksiz yere bekleyen bir araç sürücüsü tali yoldan hiçbir aracın gelmediğini ve karşıdan karşıya hiçbir yayanın geçmediğini gördüğünde kırmızı ışık ihlali yapabilmektedir. Oysa  tali yoldan gelen bir aracı ultrasonik mesafe sensörüyle görebilir ve karşıdan karşıya geçecek yaya için bir buton yapılabiir. Böylelikle kavşakta bir araç veya yaya algılandığında tali yol için yeşil ışık, ana yol için kırmızı ışık yanabilir. Tek yapmamız gereken trafik lambalarını biraz akıllandırmak. Şimdi başlayalım!

 

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet breadboard
16 adet direnç (1 adet 10K ve 15 adet 220 ohm)
1  adet buton
1 adet HC SR04 Ultrasonik Mesafe Sensörü
Yeteri kadar jumper kablo ve zil teli 
Maket için gerekli malzemeler 

 

Akıllı Trafik Lambaları  Devresi  

Öncelikkle devremizi oluşturalım. 

 

Akıllı Trafik Lambaları Arduino Kodları

const int kirmizi = 2,sari = 3,yesil = 4, kirmizi2 = 7,sari2 = 8,yesil2 = 9;
int trigPin = 12; /* Sensorun trig pini Arduinonun 6 numaralı ayağına bağlandı */
int echoPin = 11;
long sure;
long uzaklik;
#define Buton 6
void setup()
{
  /* LED pinleri çıkış olarak ayarlandı */
  pinMode(kirmizi,OUTPUT);
  pinMode(sari,OUTPUT);
  pinMode(yesil,OUTPUT);
    pinMode(kirmizi2,OUTPUT);
  pinMode(sari2,OUTPUT);
  pinMode(yesil2,OUTPUT);
  pinMode(trigPin, OUTPUT); /* trig pini çıkış olarak ayarlandı */
  pinMode(echoPin,INPUT); /* echo pini giriş olarak ayarlandı */
    Serial.begin(9600); /* Seri haberlesme baslatildi */
  pinMode(Buton, INPUT);

}

/* Sadece kırmızı ışığı yakan fonksiyon */
void kirmiziIsik(){
  digitalWrite(kirmizi,HIGH);
  digitalWrite(sari,LOW);
  digitalWrite(yesil,LOW); 
}
void kirmiziIsik2(){
  digitalWrite(kirmizi2,HIGH);
  digitalWrite(sari2,LOW);
  digitalWrite(yesil2,LOW); 
}

/* Sadece sarı ışığı yakan fonksiyon */
void sariIsik(){
  digitalWrite(kirmizi,LOW);
  digitalWrite(sari,HIGH);
  digitalWrite(yesil,LOW); 
}
void sariIsik2(){
  digitalWrite(kirmizi2,LOW);
  digitalWrite(sari2,HIGH);
  digitalWrite(yesil2,LOW); 
}

/* Sadece yeşil ışığı yakan fonksiyon */
void yesilIsik(){
  digitalWrite(kirmizi,LOW);
  digitalWrite(sari,LOW);
  digitalWrite(yesil,HIGH); 
}
void yesilIsik2(){
  digitalWrite(kirmizi2,LOW);
  digitalWrite(sari2,LOW);
  digitalWrite(yesil2,HIGH); 
}

void trafik()
{
  sariIsik();
  sariIsik2();
  delay(1000);
  
  kirmiziIsik();
  yesilIsik2();
  delay(4000);
  
  sariIsik();
  sariIsik2();
  delay(1000);
  
  yesilIsik();
  kirmiziIsik2();
  delay(4000);
  
  }


void yesilyak()
{
yesilIsik();
kirmiziIsik2();
delay(1000);
}



void mesafee()
  {
    
digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin,LOW);
  sure=pulseIn(echoPin,HIGH);
  uzaklik=(sure/2)/29.1;
  Serial.print("Mesafe: ");
  Serial.print(uzaklik);
  Serial.println("cm");
    Serial.print(Buton);
        Serial.print("-");
  delay(250);
  }

void loop()
{

  while (3<4)
  {
  yesilyak();
  
  
  mesafee();
  if ((uzaklik<20) || digitalRead(Buton) == 1)
    trafik(); 
    
  }
 
  
  
 
  
}

 

Akıllı Trafik Lambaları Projesi
Öğrencilerimiz TÜBİTAK 4006 Bilim Fuarları için yaptıkları projeyi anlatıyor.

 

 

CTRL Bizde

Kendi halinde bir kaç kişiyiz,. Karşılaştığımız sorunları çözmek için bazen "çok zaman" harcadığımızı fark edip

devamı

Yeni Eklenenler