Programlama Servo Temelleri

Servo Bloklarını Bulma

Hadi, Blocks içindeki servolara nasıl erişileceğini inceleyerek başlayalım. Kategorize Bloklar bölümünün üst kısmında bir Actuators (Aktüatörler) açılır menüsü vardır. Bu menü seçildiğinde iki seçenek açılır: DcMotor veya Servo. Servo seçildiğinde, servo ile ilgili çeşitli bloklarla dolu bir yan pencere açılır.

Yukarıdaki blok, bir yapılandırma dosyasındaki servonun adına bağlı olarak farklı isimlerde görünebilir. Eğer yapılandırma dosyasında birden fazla servo varsa, test_servo yanındaki ok, yapılandırmadaki tüm servoları içeren bir menü açar.

Sürekli dönen servo kullanırken farklı blok seçenekleri ortaya çıkacaktır.


Pozisyon Hareketlerini Programlama

Hadi, servomuzu varsayılan 1 pozisyonuna dönecek şekilde programlayalım!

Servo menüsünden aşağıdaki bloğu kullanacağız:

Bu bloğu op mode kodunun içine ekleyin.

Numara bloğuna tıklayarak pozisyonu 1 olarak değiştirin.

Programlama arayüzünün sol üst köşesindeki Save OpMode (OpMode Kaydet) seçeneğine tıklayın.


Hızlı Kontrol! Programımızı deneyelim. Bir süre gözlemleyin.

Programı ilk kez çalıştırdığımızda, servomuzun kendisini 1 pozisyonuna döndürdüğünü ve bu pozisyonda kaldığını görmeliyiz. Ancak, programı tekrar çalıştırdığımızda ne olur? Servo hareket ediyor mu?

programımızı ikinci kez mahvediyor

Muhtemelen, ikinci bir çalıştırmada servomuz zaten doğru konumda olduğu için hareket etmedi. Şimdi robot devre dışıyken servoyu manuel olarak döndürürseniz ne olacağını kontrol edin. Kod play tuşuna basılarak tekrar etkinleştirildiğinde tekrar hareket ettiğini görmeliyiz!

Not: Servolar, robotun programı etkin olduğu sürece konumlarını koruyacak şekilde tasarlanmıştır. AÇIK durumdayken servoyu zorla hareket ettirmeye çalışmak servoya zarar verebilir ve tavsiye edilmez.

Eğer servonuz beklenildiği gibi hareket etmediyse, kablolama ve portun yapılandırmanıza uygun olup olmadığını kontrol edin.


Sıfıra Geri Döndürme

set test_servo Position to 1 bloğunun amacı, servonun pozisyonunu ayarlamaktır. Eğer servo zaten belirtilen pozisyondaysa, kod çalıştırıldığında pozisyonunu değiştirmez. Hadi başka bir bloğu ekleyelim ve nelerin değiştiğine bakalım.

Bu durumda, kodumuz her tekrar ettiğinde servonun sıfıra dönmesini istemiyoruz. Bu yüzden setPosition bloğunu nereye eklememiz gerektiğini düşünün.

Programlama Temelleri sırasında ile işaretlenmiş bölümden bahsettiğimizi hatırlayın. Servonun sadece bir kez sıfırlanmasını istediğimiz için, bunu yalnızca kod ilk kez aktif olduğunda, ancak play tuşuna basılmadan önce talep edeceğiz.

Aşağıdaki koda uygun şekilde bir bloğunu yerine oturtun:


Birçok uygulamada, mekanizmanın çalışması için servonun bilinen bir durumda başlaması (örneğin, sıfır pozisyonunda) faydalıdır. Servoyu başlangıçta bilinen bir duruma ayarlamak, OpMode çalıştırıldığında doğru pozisyonda olmasını sağlar.

Sonraki bölüme geçmeden önce, servoyu başlatma sırasında bilinen bir duruma ayarlamanın nerelerde faydalı olabileceğini düşünün!

Last updated