Uzaklık Sensörü hakkında

Başlatan emre1512, 29 Eylül 2012, 16:35:41

emre1512

Arkadaşlar biraz araştırma yaptım ama istediğim soruların cevabını alamadım.

Benim bir uzaklık sensörü kullanmam gerekiyor.Örneğin max. menzil 40 cm olsun.Ben bu sensör ile 30 cm ilerideki bir cismin bilgisini nasıl alıcam.
Yani sensör 30 cm ilerideki cismi sadece "ileride bir cisim=1" şeklinde mikroişlemciye iletmeyecekmi?Kaç cm uzaklıkta olduğunu nasıl algılayacak?
Bana "30 cm ileride" bilgisi gerekiyor.Bunu hangi çeşit sensörle ve nasıl yapabilirm acaba?

Şimdiden teşekkürler.

mdargut

Sharp marka optik sensörler var uzaklık bilgisi veren.
Bunun dışında ultrasonik sensörleri araştır onlarda işini görür.

emre1512

Cevabın için teşekkür ederim.Fakat benim sormak istediğim aslında tam olarak marka değildi.

Yani tamam mesela bu sensörden aldım diyelim ama bu sensörü kullanmayı bilmiyorumki.Mesela sıradan bir CNY70 gibi mi bağlayacağım bunlarıda.
Bana biraz garip geliyor bu,CNY70 ler sadece +5V Ve 0V üreten bir sensör bildiğim kadarıyla.Bu Sharp'larda böyleyse uzaklık bilgisini nasıl vericekki.Esas öğrenmeye çalıştığım bu aslında.

mdargut

Anlaşılan biraz acemisin henüz. Öncelikle katalog okumayı öğrenmelisin. Sensör kataloğunda elektriksel bağlantılar, haberleşme için sinyal yapıları gibi gerekli olabilecek herşey verilir. Sanada bu bilgileri kullanmak kalır.
Hatırladığım kadarıyla sharp sensörlerin analog çıkış verenleri vardı. Yani çıkışta okuduğun gerilim uzaklık verisiyle orantılı oluyordu. Sen biraz daha araştır bu sensörleri.

polleme

Ultrasonic sensörler mesafe bilgisini almayi şöyle sağlıyorlar: Ses verici olan modülden çıkan ses karşıdaki engele çarpıp geri dönüyor, sesin çıkışı ile dönüşü arasındaki süre ölçülüyor, bu süre ile sesin hızı olan 340 metre/saniye çarpılınca mesafe elde edilmiş oluyor. Engel ne kadar yakınsa sesin dönüş süresi o kadar az oluyor.

XX_CİHAN_XX

Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

emre1512

Cevaplarınız için teşekkür ederim.Daha fazla araştırma yaptım ve sorunumun bir kısmını çözdüm.Öncelikle analog çıkış veren bir sensörle çalışmam gerekiyormuş.
Tek sorun bu analog çıkışdan mikroişlemciye gelen veriyi nasıl bir programla alıcam :D Daha önce hep sensörden gelen bilgi +5 mi 0 mı diye kontrol eden programlar yazdığım için biraz acemiyim.
Bu konudada yardımcı olabilrmsiniz acaba.yapılmış bir örnek mesela?(Tercihen assembly veya basic)

XX_CİHAN_XX

#7
Peki Türkçe ve asm kod içeren bir link vereyim öyleyse :)

https://www.picproje.org/index.php/topic,13617&highlight=ultrasonik

mesaj birleştirme:: 30 Eylül 2012, 09:22:46

Alıntı yapılan: emre1512 - 30 Eylül 2012, 01:19:51
Cevaplarınız için teşekkür ederim.Daha fazla araştırma yaptım ve sorunumun bir kısmını çözdüm.Öncelikle analog çıkış veren bir sensörle çalışmam gerekiyormuş.
Tek sorun bu analog çıkışdan mikroişlemciye gelen veriyi nasıl bir programla alıcam :D Daha önce hep sensörden gelen bilgi +5 mi 0 mı diye kontrol eden programlar yazdığım için biraz acemiyim.
Bu konudada yardımcı olabilrmsiniz acaba.yapılmış bir örnek mesela?(Tercihen assembly veya basic)
Analog bir girişe ihtiyacın yok yine 1-0 okuyacaksın. Önce gönderecek sonrada 40Khz lik sinyali bekleyeceksin girişten...
Sinyal gidip nesneye çarpıp geri gelecek ve arada geçen süre sana mesafeyi verecek.
Verdiğim linki detaylıca okursan mantığı yazıyor. Kodlardan da olayı çıkarabilirsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

emre1512

Cihan hocam açıklama için teşekkür ederim.Verdiğiniz linkede baktım.Peki ultrasonik sensör yerine IR sensör kullanırsak yine 1-0 mı okumamız gerekiyor.Ben IR sensör kullanmak istiyorum çünkü.

Yada ben sorunumu açıkça yazayım en iyisi :D

Bir robot yapıcam ve bu robot 80 cm yakınında bir cisim algılarsa o cisme doğru hareket edicek.Bunuda IR sensörle yapmak istiyorum.

XX_CİHAN_XX

Sharp gp2d12 veya türevlerini kullanabilirsin.
Bu yazdığım analog versiyonu. Dijital olanları da var aynı ürünün.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

emre1512

#10
dijital olanlada mesafe ölçümü yapabilirmym peki.

bu arada bildiğim kadarıyla proteusta sensör kullanamıyoruz.sensör kullanabildiğimz bir simulasyon programı varmı acaba?

XX_CİHAN_XX

Mesela bu dijital olanlarından birisi bunun gibi birkaç çeşit daha var. Proteus ta simulasyon şansınız yok.
http://www.elektrovadi.com/GP2Y0D340K-10-60cm,PR-874.html

Alıntı yapılan: emre1512 - 30 Eylül 2012, 12:40:24
dijital olanlada mesafe ölçümü yapabilirmym peki.

Sizi bilemem ama yapan yapıyor :)
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

emre1512

teşekkür ederim hocam.bu kod benim işimi görür sanırım.Mesafe bilgisini "uzaklik" değişkenine atadık.Yalnız "uzaklik" değişkenindeki hexadecmal sayıyı belli bir orantı formülü kullanarak motorlara yollamam gerek sanırım :D Bunu nasıl yapabilirm bilmiyorum.Acemi olunca böyle şeyler dağ gibi büyüyor insanın gözünde.

uzaklik var byte
i var byte 

cl con 14
dt con 15 

INPUT dt 
HIGH cl 

FOR i = 1 TO 100 
GOSUB oku 
DEBUG dec uzaklik, CR 
PAUSE 100 
NEXT 
END 

oku:
LOW cl 
rl:
IF IN15 = 0 THEN rl 
SHIFTIN dt, cl, MSBPOST, [uzaklik]
HIGH cl 
PAUSE 1
RETURN



XX_CİHAN_XX

tam olarak mesafe bilgisi ile yapmak istediğin hareketi söylersen algoritma hakkında daha detaylı yardımcı olabilirim.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

emre1512

Mesafe bilgisi aldıktan sonra,o mesafe kadar robot ilerleyecek.Yani motor hareket edecek.

Mesela uzaklik değişkenine atıyorum 00101101 bilgisi geldi.Bu bilgiye göre mesela motorun 25 cm hareket etmesi gereksin.Bunu nasıl yapabilirim.