Limit Switch Ekleme

Bir şey düşünülmesi gereken, kol mekanizmanızın fiziksel sınırlamalarıdır. Tıpkı sizlerin kollarınızı ne kadar hareket ettirebileceğinizin sınırlı olması gibi, robotumuzun kolu da yalnızca yukarı veya aşağıya belirli bir mesafeye kadar hareket edebilir. Ancak, sizlerin sınırınıza ulaştığınızı anlamanızı sağlayan sinirleriniz varken, robotumuzun kendisini veya etrafındaki nesneleri zarar görmemesi için bir şey eklememiz gerekecek.

İşte burada sensörlerin kullanımının önemi devreye giriyor. Mekanizmamızı sınırlamak için birkaç yol olabilir. Sizce bunlar ne olabilir?

Bu bölümde, robotumuzun kolunun fazla uzamasını engellemek için bir limit anahtarı eklemeyi ele alacağız. "Dokunma Sensörlerini Programlama" bölümümüzde, dokunma sensörünün programlandığında bir açma/kapama anahtarı gibi çalışabileceğini tartıştığımızı hatırlayabilirsiniz. Temelde, robotumuzun kolunun motoru, limit noktasına ulaşıldığında kapanacak!

Bu bölüm, REV Dokunma Sensörü veya Manyetik Limit Anahtarı düşünülerek tasarlanmıştır. Üçüncü taraf dokunma sensörleri için ek gereksinimler olabilir.

Bir Class Bot kullanıyorsanız, robotunuzun şasisine montelenmiş bir dokunma sensörünüz olmalıdır. Ayrıca bir Limit Anahtarı Bumper’ı da kurulmuş olmalıdır.

Şimdilik, önceki bölümdeki ifadesini bir kenara alıp daha sonra kullanmak üzere saklayalım.

Hızlı Kontrol!

"Dokunma Sensörlerini Programlama" bölümüne geri dönün ve aşağıdaki gibi temel bir limit anahtarı programı oluşturmayı öğrenmiştiniz:

Ayrıca dokunma sensörünün DOĞRU/YANLIŞ ikili verileriyle nasıl çalıştığını da öğrendik. Peki yukarıdaki program robotumuza ne yapmasını söylüyor?

Kodunuz ne yapıyor?

Dokunmatik sensöre basıldığında TRUE (Doğru) olarak raporlandığını, basılmadığında ise FALSE (Yanlış) olarak raporlandığını unutmayın.

Şu anda robotumuza, düğmeye basılmadığında motorun %20 güçte hareket etmesi gerektiği söylendi. Düğmeye basıldığında gücü 0'a ayarlayacak!

Denetleyici Denetimi Ekleme

else bölümündeki kodu tekrar kullanarak, motor hareketi bloğunu koda ekleyin.

Düzeltmeler Yapmak

Yukarıdaki kodu test ettiğinizde ne oldu? Dokunma sensörü basıldığında kol hareket etmiyordu. Bu muhtemelen ideal bir durum değildir, peki bu neden oldu?

Dokunma sensörü gibi bir limit anahtarının avantajlarından biri, varsayılan durumuna kolayca sıfırlanabilmesidir. Tek yapmanız gereken, düğmeden basıncın serbest bırakılmasıdır, ancak şu anda robotumuzun bildiği tek şey, anahtar basıldığında gücün kapatılması gerektiğidir!

Peki bunu nasıl düzeltebiliriz?

Bunu düzeltmek için, kolu limitin ters yönünde hareket ettirecek bir eylemi do ifadesine eklememiz gerekir. Dokunma sensörü, kol için alt limit görevi gördüğünden, dokunma sensöründen uzaklaşmak için yukarıya (ya da motoru ileri yönde) hareket etmesi gerekecek.

Bunu yapmak için, mevcut gamepad Gamepad if/else if ifademize benzer bir if/else ifadesi oluşturabiliriz. Bu durumda, dokunma sensörü ve DpadUp birlikte basıldığında kol, dokunma sensöründen uzaklaşacaktır. Dokunma sensörü artık doğru bildirmediğinde, normal gamepad işlemleri tekrar devreye girecektir!

Şimdi bunu do ifadesine ekleyerek kodumuzu tamamlayabiliriz!

Last updated