Kol Kontrolü - Bloklar
Şimdi robotumuz hareket edebiliyorken, kolumuzu hareket ettirmeye başlayalım!
Kol Kontrolüne Giriş

Bir kolu kontrol etmek, drivetrain’i kontrol etme sürecinden farklı bir düşünce gerektirir. Drivetrain, motorların döndürme hareketini kullanarak doğrusal mesafeyi kat ederken, kol bir merkezi nokta ya da eklem etrafında döner.
Drivetrain’imizden farklı olarak, kolumuzun dönebilmesi için fiziksel sınırlamaları vardır. Robotumuzun kendisini zarar vermemesi için, limit anahtarı olarak çalışacak dokunma sensörümüzü kullanacağız.
Bir Kolu Programlamanın Temelleri
Bu bölümde, HelloRobot_ArmControl adında yeni bir program oluşturarak başlayacağız. Bunu daha sonra drivetrain OpMode’umuza ekleyebiliriz, ancak şimdilik ayrı tutmak odaklanmamıza yardımcı olacaktır.
Kolumuzu kontrol etmek için, gamepad üzerindeki Dpad’i kullanacağız. Joystick’imiz, olası değerlerin veya kayan verilerin bir aralığını sağlarken, Dpad sadece 1 ya da 0 olarak okunur. Bizim için bu sayılar, doğru, butona basılmış veya yanlış, butona basılmamış olarak çevrilebilir.
Aktif döngümüze bir if/else if
bloğu ekleyerek başlayalım. Ayarlar menüsünü kullanarak bloğu if
bloğuna değiştirin.


Şimdi if/else if ifadesinin iskeleti hazır. Ardından
ve
bloklarını ekleyebiliriz.
Bu şekilde, robotumuz Dpad Up ya da Dpad Down butonlarının basılı olup olmadığını kontrol edecek ve ardından uygun hareketi yapacak. Peki kolumuz ne yapmalı?

Hareket Eklemek
Şimdilik, en kolay yolumuz, kolumuzu DpadUp ile yukarı, DpadDown ile aşağı hareket ettirmektir. İleride hangi butonların kullanıldığını değiştirmek isteyebilirsiniz, ancak burada bulunan mantık benzer olmalıdır.
Her "do" bölümüne bir
i bloğu ekleyelim. Hareketimizi test ederken, gücü daha yönetilebilir bir aralığa çekmek isteyeceğiz. Şimdilik, yukarıya 0.2 ve aşağıya -0.2 olarak ayarlayacağız.

Hızlı Kontrol!
OpMode’unuzu kaydedin ve deneyin! Programınızı test ederken aşağıdakileri göz önünde bulundurun:
Dpad’de yukarıya basarsanız ne olur?
Dpad’de aşağıya basarsanız ne olur?
Hiçbir butona aktif olarak basılmadığında ne olur?
Robot beklediğiniz gibi hareket etti mi?
"Else" Kurmak
Mevcut
ifadesi, robota motorun ne zaman hareket etmesi gerektiğini ve hangi yönde hareket edeceğini söylüyor, ancak motorun durması için hiçbir şey belirtmiyor, bu yüzden kol sınırsız bir şekilde hareket ediyor. İdeal olarak, kolumuzun YALNIZCA bir buton basıldığında hareket etmesini istiyoruz.
Bunu düzeltmek için,
bloğu ifadenin sonuna ekstra bir
ekleyecek şekilde düzenleyebiliriz.

Sonrasında yeni else bölümümüze bir
bloğu ekleyin.

Bu değişiklikle birlikte, programınızı kaydedin ve tekrar test edin!Boolean (Dpad, a/b/y/x düğmeleri, tamponlar)
Boolean verilerinin iki olası değeri vardır: True ve False . Bu iki değer ayrıca On ve Off veya 1 ve 0 ile de gösterilebilir .
Gamepad'deki düğmeler, tamponlar ve tetikleyiciler robotumuza boolean verisi sağlar! Örneğin, basılmayan bir düğme False (veya 0) değerini döndürecek ve basılan bir düğme True (veya 1) değerini döndürecektir.
Float (Joystick ve tetikleyiciler)
Kayan noktalı veriler, ondalık basamaklar ve pozitif veya negatif değerler içerebilen bir sayıdır.
Gamepad'de, döndürülen float verisi, joystick'in her eksendeki konumu için 1 ile -1 arasında olacaktır. Olası değerlerin bazı örnekleri 0,44, 0, -0,29 veya -1'dir.
Last updated