Arduino Proje 8 – Ledli Park Sensörü

Merhaba arkadaşlar, bu yazımda sizlere Arduino ile ledli park sensörü yapımını anlatacağım. Mesafe sensörümüzden gelen verilere göre yanmaları için 3 farklı renkte led kullandım. Mesafe derecelerine göre ledleri yaktım. Siz dilediğiniz mesafe değerlerini kullanarak aynı devre ve algortimayı tekrar kurabilirsiniz. Öncelikle hangi malzemelere ihtiyaç duyduğumuzdan başlayalım.

Kullanacağımız Malzemeler

  1. 1 x Arduino Uno
  2. 1 x A’dan B’ye USB Kablo
  3. 1 x Orta Boy BreadBoard
  4. 10 x Erkek Erkek Jumper Kablo
  5. 3 x 330 Ohm Direnç
  6. 1 x Kırmızı LED (5 mm)
  7. 1 x Sarı LED (5 mm)
  8. 1 x Yeşil LED (5 mm)
  9. 1 x HCSR-04 Mesafe Sensörü

Haydi Başlayalım!

Öncelikle daha önceki projelerimizde olduğu gibi HCSR-04 mesafe sensörümüzün 4 adet terminalini uygun pinlere bağlıyoruz. Bu pinlerden ikisi 5v ve GND, diğer iki pinimiz ise digital pinlere bağlanacak olan trig ve echo pinlerimiz olacak. Daha sonra kırmızı, sarı ve yeşil ledlerimizi breadboardumuzun üzerine dilediğimiz gibi yerleştiriyoruz. Burada önemli olan her ledimize akım sınırlayıcı dirençlerimizi bağlamayı unutmamak. Dilerseniz kullanacağınız ledlerin renklerini değiştirebilir ya da hiç 3 tane led ile uğraşmak istemiyorum diyosanız 1 tane RGB led kullanabilirsiniz. Ama sonu değişmez çünkü RGB ledde de her bir bacağa akım sınırlayıcı led bağlamanız gerekecektir. Sonrasında ledlerimizi istediğimiz digital pinlere ve GND hattına bağladıktan sonra devremiz artık hazır.

Yukarıdaki adımları izledikten sonra oluşacak olan devreyi hemen aşağıda verdim. Sizde aynı devreyi kurabilir ya da simülasyonn yapabilirsiniz.

Bu devremizi çalıştıracak olan algoritmamızı ise hemen aşağıda paylaştım. İnceleyebilirsiniz.

#define red 10
#define yellow 9
#define green 8
#define trig 12
#define echo 13

void setup()
{
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  
  
}

void loop()
{
  float zaman;
  float mesafe;
  
  digitalWrite(trig, HIGH);
  delayMicroseconds(2);
  digitalWrite(trig, LOW);
  
  zaman = pulseIn(echo, HIGH);
  mesafe = zaman / 58.2;
  
  delay(2);
  
  
  
  if(mesafe < 100){
    digitalWrite(green, HIGH);
    digitalWrite(red, LOW);
    digitalWrite(yellow, LOW);
  }
  else if(mesafe < 200 && mesafe > 100){
  	digitalWrite(yellow, HIGH);
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
  }
  else
    digitalWrite(red, HIGH);
  	digitalWrite(green, LOW);
  	digitalWrite(yellow, LOW);
}

Koddan da anlaşılacağı üzere sensörümüzün ölçtüğü mesafenin 0 – 100 aralığında olması durumunda yeşil, 100 – 200 aralığında olması durumunda sarı ve diğer ihtimallerde yani 200′ den fazla ölçümlerde kırmızı ledimizin yanmasını sağlamış olduk. Siz dilerseniz bu değerlerle oynayabilirsiniz.

Kafanıza takılan soruları ve anlamadığınız kısımları bize sormak için yorum bölümünden bizimle iletişime geçebilirsiniz.