Dokunma Sensörlerini Programlama

Bu bölüm, REV Dokunma Sensörü veya Limit Anahtarını kullanmaya yöneliktir. Farklı üçüncü taraf dokunma sensörleri kullanıldığında gereksinimler değişiklik gösterebilir.

  • REV Dokunma Sensörü, dijital port 1, 3, 5 veya 7’ye yapılandırılmalıdır.

  • Bu öğreticiyi takip ederken yeni bir OpMode oluşturmanız önerilir. Bizimkine "HelloRobot_TouchSensor" adını verdik!

Dokunma sensörü bloğu, artık "Sensors" (Sensörler) menüsünün altından erişilebilir:


Dokunma Sensörü Temelleri

Öncelikle, dokunma sensörünün nasıl çalıştığını inceleyelim:

Programınızda hangi sensörlerin ve motorların mevcut olduğu yapılandırmanıza bağlıdır. Eğer bir cihaz listesi göremiyorsanız doğru yapılandırmanın etkin olduğundan emin olun.

Dokunma sensöründen toplanan bilgi iki durumdan oluşur: TRUE (DOĞRU) veya FALSE (YANLIŞ). Bu bilgiler, bir if/else gibi koşullu ifadelerle kullanmak için mükemmeldir.

Dokunma sensörü bloğu, dokunma sensöründen gelen TRUE/FALSE durumunu toplar ve if/else ifadesinin koşulu olarak çalışır.

Dokunma sensörü bloğunu bloğuyla eşleştirdiğimizde:


Bu kodun robottan ne yapmasını istediğini düşünün. Bu satır şu şekilde okunabilir: "Dokunma sensörü basılıysa ____ yap, değilse ____ yap."


Telemetri Eklemek

Robotun Driver Hub ekranında ne yaptığını görebilmek her zaman faydalıdır. Bunun için, programımız aktifken robotun bazı telemetri verilerini paylaşmasını isteyelim.

  • "Telemetry" bloklarına, menüdeki "Utilities" (Araçlar) sekmesinden erişebiliriz.

  • Bu blok, if/else ifadesinin her bölümüne eklenmelidir.


Telemetriyi Özelleştirmek

Varsayılan "Telemetry" bloğu kullanıldığında sağlanan bilgiler genellikle bizimle iletişim kurmak için yeterli değildir. Bu nedenle, "key" ve "text" değerlerini istediğimiz bilgilere göre değiştirmemiz gerekir.

  • "Key": Hangi sensör, motor veya cihazdan bilgi aldığımızla ilgili bir şey olmalıdır.

  • "Text": Dokunma sensörünün durumuna ve if/else ifadesine göre ne olduğunu açıklamalıdır.


Limit Anahtarı Olarak Dokunma Sensörü

Dokunma sensörünün en yaygın kullanımlarından biri, bir limit anahtarı olarak çalışmasıdır. Bu, robotun bir mekanizmanın, örneğin bir kolun veya kaldıracın sınırına ulaştığında hareketini durdurması gerektiğini anlamasına yardımcı olur.

Mevcut if/else ifadesine ekleme yaparak bunu test edebiliriz. Bu sefer motorumuzun, sensör basılana kadar hareket etmesini isteyeceğiz.


Ters Çevirme

Yukarıdaki örnekte if/else ifadesi, önce dokunma sensörünün basılı olup olmadığını kontrol eder. Tam ifade şu şekilde okunabilir: "Eğer dokunma sensörü basılıysa motorun gücünü 0 yap, aksi takdirde gücü 0.3 yap."

Bazı durumlarda, programın öncelikle dokunma sensörünün basılı OLMADIĞINI kontrol etmesini isteyebiliriz. Bunun nasıl çalışacağını, "Logic" (Mantık) menüsünden bir bloğu kullanarak gözden geçirelim.

Last updated