Soru & Cevap

Arduino bir sensörün çalışıp çalışmadığını anlamak

30.05.2020 - 09:55

Başlıkta yazdığı gibi. Arduinoya mesela mpu6050 gyro taksak bunun veri göndermediği anları anlayabilirmiyiz? Her sensörün isworking() gibi fonksiyonları varmıdır? 2 Arduinoyu bağlasak ve bunlardan birisinin bozulmasını, görevini yerine getirememesini vs anlayabilip, diğerini aktif hale getirebilirmiyiz?

809 Görüntülenme

2 Cevap

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

Profile picture for user thorinmeekalkan
thorinmeekalkan
06.07.2022 - 07:28

Sensörün çalışıp çalışmadığını en hızlı çözüm olarak seri port ekranından takip edebilirsin eğer yanlış ama yine de değerler üretebiliyorsa bozuk değil demektir.Ancak seri port ekranın boş ise ya sensörün bağlantılarını arduino nun yanlış bacaklarına bağlamışsındır yada sensör arızalıdır.

picture-158072-1530701953.jpg
TGUNEYSU
17.07.2020 - 10:44

Sensörlerin çalışıp çalışmadığını kendi sürücü fonksiyonlarından anlamak her birinin teknik detayına bağlı bir şey. Dokümanları incelemeden cevap bulamak zor. Fakat genelde kullanılan bazı basit elektronik yöntemler bir cevap sunabilir. Mesela Arduino pinlerinin INPUT_PULLUP ayarı ile bağlantı pinine bir şey bağlı mı değil mi anlaşılabilir. 

Güvenilir bir çözüm, güçlü bir aşağı çekme (1-5k) ile GND'ye bağlı ikinci bir giriş kullanmak olacaktır. Böylece üç pinli bir konektör oluşturdunuz: GND, sinyal ve algılama. Şimdi pinMode'u INPUT_PULLUP olarak ayarlarsanız, dahili çekme direnci (genellikle yaklaşık 30k) pimi > 1.5V  çekmek için çok zayıftır, bu yüzden 5V Arduino için 1.5V) Pim üzerindeki DÜŞÜK okuma, sensörün bağlı olduğu anlamına gelir, bu pin üzerindeki YÜKSEK okuma, sensörün bağlı olmadığı anlamına gelir.

Fakat bunun bağlı ve çalışıyor, ya da bağlı ama çalışmıyor çözünürlüğünü verip vermeyeceğini deneyerek bulmanız gerekir.

2 Arduino arasında geçiş yapmak daha kolay olabilir. Sizin yazacağınız kodda, periodik olarak bir "heartbeat" yani nabız atışı gibi bir sinyal kullanarak var olan aygıtları devamlı olarak belli aralıklarla denetleyebilirsiniz. Sinyal kaybolduğunda ise gereken yapılabilir.