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);
}