Yorumlar
Yardımlarınız için teşekkür ederim. Ben şuan için çözümü iki farklı sensör için iki arduino kart kullanmakta bulabildim. Sizden son bir ricam olacak yardımcı olursanız mutlu olurum. Kullanmakta olduğum bu ses sensörü ve sharp sensörünün…
Mustafa
Mustafa
6 yıl 4 ay önce
Detayli araştırma için:
1. Ses sensör modeli
2. Uygulamanın bağlantı şemaları
3. Güç kaynak detayı
gerekir.
Çabucak bir araştırdığımda kullandığınız sensörün algılama mesafeleri bahsettiğinizin dışında:
SHARP IR RANGE COMPARISON
MODEL OUTPUT MIN. RANGE MAX RANGE
GP2D120/GP2Y0A41 Analog 1.5" 11.8"
GP2Y0A02 Analog 8" 59"
GP2Y0A21 Analog 4" 30"
GP2Y0A710 Analog 36" 216"
GP2D15 Digital 9.5"
Bu veriye göre sensörünüz yalnız 91.44cm ve 548.64cm arasında dogru algılama yapacaktır.
Bahsettiğiniz 20 - 40cm geçerli değildir.
Mustafa
6 yıl 3 ay önce
Mustafa Bey,
Ürün bilgileri için tşk. Yazacaklarım probleminize tam sonuç olacak mı bilmiyorum. Fakat galiba uygulamalarınızda bazı teknik yanlışlar var. Buraya ilk yüklediğiniz kodla çalıştığınızı farz ederek şu önerileri sunuyorum:
- Kodlamayı kolaylaştırmak için GITHUB dan SHARP kütüphanesini indirin ve uygulayın: https://github.com/guillaume-rico/SharpIR . Nasıl kullanılacağı kütüphane sayfasında yazılıdır. İsterseniz bunu kapasitör uygulamasından önce deneyin. Aldığınız sonuçlar uygunsa kapasitöre belki lüzüm kalmaz. Bu kütüphane hem okumayı 25 kere yapıp averajını aldığı için tek okuma problemini ortadan kaldırır, hem de analog ADC çıkışını voltaja orantıladığı için aşağıdaki orantı problemini çözer.
- analogRead(signalPin) işlem sonucu aldığınız veri IR ın ölçtüğü MESAFE değildir. Burada gördüğünüz rakamlar Arduino nun ADC çıkışlarıdır ve 0 ile 1023 arası değişir. Bunları doğru mesafe ortamına çevirmek için SHARP datasheet deki ( https://acroname.com/sites/default/files/assets/sharp_gp2y0a710yk0f_datasheet.pdf ) grafiklere göre bir orantı ayarlamanız ve okuduğunuz verilere uygulamanız gerekir: sensör 100cm de 2,5V ve 550cm de 1,55V verdiğine göre. Bu arada dıkkat ve kontrol etmeniz gereken bir nokta da Arduino nun ADC çıkış rakamlarının ne kadar doğru olduğudur. Bunu tespit için ufak bir döngüye analogRead(signalPin) kodunu yazarak ve bu pin e 0V ve 5V vererek aldığınız verileri kontrol edin. Eğer 0 ve 1023 alınmıyorsa, kütüphane uygulamasındaki orantı uygulama kodunda ufak değişiklik yapmak gerekebilir.
- Ayrıca bu tip sensörlerin okumalarındaki dalgalanmalardan dolayı tek okumayla doğru veri almak garantili bir şey değildir. Bu teknik problemi aşmak için ilk yapabileceğiniz şey 220mF kapasitörü okuma devresinin 5V ve GND bağlantıları arasına bağlamanız (lehimlemeniz). Bu uygulama güç devresini biraz daha kontrol altına alır. Eğer kapasitör uygulayacaksanız + ve - kutuplarına dikkat edin !
- Son olarak, her ortamda belli miktarda arka plan IR radyasyon olduğundan alacağınız sonuçlar 100% doğru olmayabilir. Bu olanağı da yok edebilmek için ufak bir kalibrasyonla sensörün normal ortamdaki IR okuma verisiyle ve içindeki LED ile yapılan mesafe okuma verisi arasındaki farkı da gözden geçirebilirsiniz. Bu uygulamayı yapabilmeniz için sensörün IR LED devresini direkt 5V a bağlamak yerine programla kontrol etmeniz gerekir.
Umarım bu uygulamalar projenizi düzeltmenize yardımcı olur.