arduino ile ultrasonik sensör kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Merhabalar arkadaşlar,
Projemizde parallax ping sensörü üzerinden cisimlerin mesafe bilgilerini alacağız.Bunun için 7 numaralı pinimizi hem input hemde output olarak kullanacağız.Parallax ultrasonik sensör üzerinden veri okuyabilmemiz için, sensöre 5 mikrosaniye kadar dijital 1 yani HIGH değeri göndermemiz gerekiyor.Akabinde 7 numaralı pinimizi input pini olarak tanımlayacağız ve pulseIn() fonksiyonu dönen pulse süresi ile sensörün geribildirimi mesafe olarak alacağız.
Bu yazımızda ultrasonik sensörlerden ve bu sensörlerin arduino ile kullanılmasından bahsedeceğiz.
Ultrasonik sensörleri alarm sistemi olarak,engelden kaçan robot yapımında,mesafe uzaklığı ölçmede kullanabilirsiniz.
Nedir bu ultrasonik sensör ve nasıl çalışır ?
Ultrasonik sensörler, ultrasonik ses dalgaları göndererek bu dalgaların geri döünşleri yani eko yapmalarını beklerler.Bekleme süreleri sırasında eğer ki bir cisimden ses dalgası geri dönüyorsa bize geri bildirimde bulunurlar.Ultrasonic sensör içerisinde bulunan işlemci ile sesin ne kadar sürede geri döndüğü bilgisi tutulur ve bu bilgi bize pwm yani pulse olarak geri döndürülür.
const int sinyal=7; // sinyalimizin bize geleceği pini seçtik
void setup()
{
}
unsigned long ping()// sensörden dönen bilgiyi bize mesafe olarak döndürecek olan fonksiyonumuzu tanımladık
{
pinMode(sinyal,OUTPUT);//sinyal pinimizi çıkış olarak atadık
digitalWrite(sinyal,LOW);// 7 numaralı pinimize dijital 0 gönderdik
delayMicroseconds(2);// 2 mikro saniye gecikme
digitalWrite(sinyal,HIGH);// 7 numaralı pinimize dijital 1 gönderdik
delayMicroseconds(5);
digitalWrite(sinyal,LOW);//5 mikrosaniye boyunca sensöre dijital 1 verdik ve ölçüm yapmasını istedik.
pinMode(sinyal,INPUT);//7 numaralı pinimizi giriş olarak değiştirdik
digitalWrite(sinyal,LOW);// pinimizi dijital 0 yaptık ve pulse bekliyoruz
return pulseIn(sinyal,HIGH);//7 numaralı pinin lowdan high olana kadar olan zaman yani sensör değeri
}
void loop()
{
int range =ping() / 29;// sensörden dönen pulse süresini aldık
delay(50);//50 ms gecikme
}
Yukarıdaki koddar 29 ile neden böldüğümüz aklınıza gelebilir.Parallax sensörün bizen döndürdüğü her pulse 29 microsaniyesi 1 cm ye denk gelmektedir.Bizde gelen süreyi cm ye çevirmek için gelen değeri 29 ile bölmekteyiz.