5 Temmuz 2014 Cumartesi

Arduino ile Park Sensörü

Bu yazımızda SR04 sensörü ile park sesnörü yapımına çalışacağız. Daha önceki yazımızda SR04 sensörü hakkında ve nasıl kullanılacağı hakkında detaylı bilgiyi vermiştir. Bu çalışmada sadece ek olarak 1 adet korna kullanılmıştır.

Çalışma videosu :  http://www.youtube.com/watch?v=Ft0ERHyXEuQ&feature=youtu.be



Çalışma kodu:


//ultrasonik sensör ile mesafe ölçümü

#include <LiquidCrystal.h> //okunan mesafe değerinin 16*2 lcd ekrana basıması için
//lcd ekran ktürüphanesi çağrıldı
#define backlight A3 // LCD arka aydınlatmasını kontrol etmek için A3 pini tanımlanıyor

#define trigPin 3 //sensör üzerindeki pinlerin arduino üzerine takıldığı pin numaraları
#define echoPin 2
#define korna 11

LiquidCrystal lcd(9, 8, 7, 6, 5, 4);

void setup() {
  
  pinMode (backlight, OUTPUT); 
  lcd.begin(16, 2); //lcd tipi
  Serial.begin (9600); //seri haberleşme hızı=baud rate
  pinMode(trigPin, OUTPUT); //sinyalin gönderildiği pin
  pinMode(echoPin, INPUT); //yansıyan sinyalin alındığı pin
  digitalWrite (backlight,HIGH);
  lcd.print("golmuhendis.blog");
  lcd.setCursor(0,1); //satır,sütün
  lcd.print("spot.com.tr");
  
  analogWrite(korna,0);
  delay(3000);
}

void loop() {
  
  lcd.clear();
  analogWrite(korna,0);
  long duration, distance;
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH); //SR04 sensörü için 10 us lik lojik 1 sinyali trigger a gönderilir.
  delayMicroseconds(10); 
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  Serial.println(duration);
  distance = (duration/2) / 29;  //29*2=58
  //340 m/sn yani 34000cm/1000000us = 1/29
    
  Serial.print(distance);
  Serial.println(" cm");
    
  lcd.print ("Mesafe: ");
  lcd.print(distance);
  lcd.print("  cm");
  lcd.setCursor(1,1);
  lcd.print("golmuhendis");
  
  if(distance<=20 && distance>=10)
  {
    analogWrite(korna,100);
  }
    
  if(distance<10)
  {
    analogWrite(korna,200);
  }
   
  delay(500);
}