Soru & Cevap

Arduino Nesne Boyut Hesaplama ...

23.12.2019 - 07:43

Merhaba

Benim kafamdaki proje çöp toplayan bir robot fakat karşıdaki nesnenin boyutunu hesaplamam gerekiyor.

Mesela karşısındaki nesnenin boyutunu cm cinsinden ölçüp eğer ağızdan  (30 cm Çöp girişi ağızı olacak) büyük ise etrafından geçmesini eğer ağızdan (30 cm) den küçük ise bunu almasını söyleyeceğim. motorlar ve kol konusunda kafamda bir şey var fakat karşısındaki nesnenin bu şekilde boyutunu hesaplattırabileceğim bir sensör biliyor musunuz ?

  • HC-SR04 Sensörünü düşünmüştüm başlarda fakat hem bu sensör çok stabil değil hemde iki nesnenin yan yana olma durumunda bunları tek nesneymiş gibi ölçüm yaptığı için bu sensör dışında aklınıza gelen bir şey varsa çok daha iyi olur. (Bu sensörü de stabil bir şekilde kullanmama yardım edebilirseniz tabiki bu da olabilir fakat araştırdığım kadarıyla fazla yetersiz kalıyor.)
  • HC-SR04 haricinde MZ80 gibi bir çok sensör araştırdım fakat hiçbirinde bu çeşit bir hesaplama yapamadım.

Cevaplarınızı bekliyorum. Şimdiden Teşekkürler.

175 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-158072-1530701953.jpg
TGUNEYSU
04.01.2020 - 12:54

Can bey,

Probleminizi mesafe sensörlerinin normal kulanımıyla çözmeniz imkansız. Bu sensörlerin mesafe ölçme yeteneğini daha değişik bir uygulama tekniği ile kullanırsanız, sonuca ulaşmanız mümkün olabiliir. Şöyle düşünün:

HC-SR04 2cm - 4m arası ve 30 derece alan içinde algılıyor,  MZ80 ise 3cm - 80cm arası düz bir çizgiye yakın alanda algılıyor.

İlk uygulamanız gereken teknik sensörlerinizi sabit değil TARAMA modunda çalıştıracak bir donanım hazırlamanız. Belki servo motorlara bağlı olarak gereken açıda sağa sola dönebilecek bir platform kurun ve sensörlerinizi buna bağlayın. Servolar 180 derece içinde çalışabildiği için gayet uygun olabilirler.

HC-SR04 kullanarak kendinize bir hedef mesafesi belirleyin: mesela 1m mesafedeki  hedefleri algılamak istiyoruz. Bu sensörü kullanarak bir tarama yaptığınız zaman okuduğunuz değerler hedef mesafeniz değerlerinde ise önünüzde bir nesne olduğunu algılamış olacaksınız.

Şimdi de bunun size bakan kenar uzunluğunu tesbit etmeniz gerekiyor. Bunun için yakın mesafede çalışan fakat çok dar açıda ışın kullanan bir sensör gerekir, ör: MZ80 gibi.

Bu ikinci aşamada, MZ80 sensörü de tarama modunda kullanmamız gerekir. MZ80 genelde birşey algılamadığı zaman "1", algıladığı zaman ise "0" dijital sinyali verir. Bu çalışma prensibini kullanarak bir tarama yaptığımızda SIFIR değerlerin algılanmaya başlandığı SERVO açısı ile bittiği servo açısı arasındaki fark bize nesnenin sensörün algılama alanındaki açı değerini verir. Bu açı değerini ve nesneye olan uzaklığımızı da kullanarak (HC-SR04 dan gelen değer) kolay bir şekilde nesnenin gözüken yüz ebadını hesaplayabilirsiniz. Referans olarak şu linke bakın: https://www.blocklayer.com/trig/angles.aspx

İyi çalışmalar.