Elektrik elektronik temrinleri

Ders Notlarý => Arduino Öðreniyorum => Projeler => Konuyu baþlatan: Hasan ERTÜRK - 05 Temmuz 2015, 19:35:08

Baþlýk: 1. Arduino ile mesafe sensörü uygulamasý
Gönderen: Hasan ERTÜRK - 05 Temmuz 2015, 19:35:08
Merhaba. Bu konumuzda HC-SR04 ultrasonic sensörünü tanýyýp cisim algýlama ve de mesafe ölçümü yapacaðýz. Ses dalgalarý sýnýflandýrýlmasýnda 20 KHz-1 GHz arasýndaki ses sinyalleri ultrasonic ses olarak tanýmlanmýþtýr. Kullanacaðýmýz sensörve bir çok ultrasonic sensör 40Khz frekansýnda ultrasonic ses üretmektedir.

http://www.youtube.com/watch?v=BHe8u5Ib_1o

(http://temrinlerim.org/images/mesafe.jpg)

HC-SR04 Mesafe Sensörü
(http://temrinlerim.org/images/hcsr04.jpg)

 Aslýnda HC-SR04 tüm haliyle bir transdüserdir. Transdüser ile sensör arasýndaki fark ise sensör herhangi fiziksel bir deðiþimi algýlayan bir eleman iken, transdüser bu deðiþimi algýlayýp elektrik,ýsý vs. bir çok enerji formuna dönüþtürebilen bir elektronik devredir.

HC-SR04'te 2 adet araba farýný andýran bir tanesi ses iletici diðeri de ses alýcý olan transdüser bulunmakta. Sol taraftan 40 KHz'de üretilen ses sinyal darbesi engele çarpýp sað tarafa gelir ve biz bu gidiþ-geliþ arasýndaki zamaný, cm'ye çevirerek uzaklýðý ölçeceðiz.

T=0 zamanýnda darbe iletilir(ultrasonic ses sinyali), cisimden yansýr, transdüser tarafýndan algýlanýr ve tekrar
gönderilir.Sonraki darbe ilk darbenin ultrasonik enerjisinin hepsi absorbe edildiðinde iletilmelidir.Bu yüzden sensöre bir pals gönderilir sensör okunur ve sensörün datasheetinde yazan süre kadar sensöre tekrar pals gönderilmez.Eðer bekleme yapmaksak sensör saçma deðerler döndürür.Çünkü ilk yolladýgýmýz sinyal bir yerden yansýyarak sensöre geri dönmeye devam eder.

 Sensör üzerinde 4 adet pin mevcut.Bunlar;vcc,gnd,trig,echo pinleri.Sensör kendi içerisinde 40khz frekansýnda bir sinyal üretip  8 pals verici transdüsere gönderiyor.Bu ses dalgasý 
havada, deniz seviyesinde ve 15 °C sýcaklýkta 340 m/s bir hýzla yol alýr.Bir cisme çarpar ve geri sensöre yansýr.Cismin sensörden uzaklýgý ile doðru orantýlý olarak echo pini bir süre lojik 1 seviyesinde kalýr ve tekrar lojik 0 olur.Bizim bu mesafeyi ölçmekiçin tek yapmamýz gereken echo pininin ne kadar lojik1 oldugunun süresini bulmaktýr.Bu yapý yukarýdaki resimden daha iyi görülebilir.

 Echo pininin lojik 1de kalma süresini mikrodenetleyici timerý ile ölçelim. Klasik yol=hýz*zaman dan ve sesin 340m/sn lik hýzýnýda 34000cm/1000000us (340000/1000000=1/29) olarak düzenlersek  formül x=t/29 olarak bulunur.Fakat burada önemli bir nokta sensörün bize döndürdüðü süre, ses sinyalinin gönderilmesi ile alýnmasý arasýndaki oluþan süre. Yani yol=zaman/29 ile aradaki mesafeyi iki ile çarpmýþ oluyoruz.Çünkü ses hem gitti hem geldi.Bu yüzden x=t/58 formulüyle aradaki mesafeyi ölçmüþ olacaðýz . Bazý yerlerde 58 yerine 58.2 veya 59 yazaný da gördüm artýk sizin kararýnýza kalmýþ birþey.

Devre þemasý:
(http://temrinlerim.org/images/mesafe-sema.png)

(http://temrinlerim.org/images/park-bord.png)

Arduino kodlarý:
Kod:
Kodlari sadece uyeler gorebilir. Lutfen Uye Olun ya da Giris Yapin.
Kodlarý derleyebilmek için ekteki sýkýþtýrýlmýþ klasörün içinden çýkan Animated-Sonic-Ruler-master.zip isimli kütüphaneyi arduinoya ekleyiniz.