Arduino ve mBlock ile Servo Motor Kontrolü

Bu uygulamamızda Arduino kartımıza bağladığımız bir potansiyometreyi analog olarak okuyup, gelen veriye göre servo motor kontrolünü yapacağız. Bu uygulamada kullanacağımız malzemelerimiz;

  • Arduino UNO

  • Potansiyometre

  • Servo Motor

  • Jumper Kablolar (E-E)

  • Breadboard




Kodumuza geçmeden önce Servo Motorlar nedir, nasıl çalışır inceleyelim;

Servo Motorlar, kapalı devre sistemine sahip motorlardır. Servo motor içerisinde motor kontrol devresi, motor, dişli yapı, enkoder bulunmaktadır. Servo motorlar içerisindeki enkoder ve dişli yapı sayesinde açısal olarak kontrol edilebilir. Motorun genelde 3 kablo çıkışı vardır. Bu kablolardan 2 tanesi motorun çalışması için gerekli olan Voltaj ve Toprak kablolarıdır diğer kablo ise sinyal kablosudur. Sinyal kablosuna Arduino üzerinden dijital veya analog sinyal gönderilir. Bu sinyalin periyodunu değiştirerek Servo motorumuzun açı değerini ayarlayabiliriz. Servo motorlar robot teknolojilerinde en çok kullanılan motorların başında gelmektedir.

Şimdi uygulama kodumuza bakalım. Kodumuza Mblock uygulamamızdaki ‘Veri &Blok’ tan ‘pos’ değişkenini oluşturarak başlıyoruz.

Kodlamada dikkat etmemiz gereken bir nokta daha var. Potansiyometreden gelen değerler 0-1023 arasında. Ancak ihtiyacımız olan değerler servo motorun dönüş açısı 0-180 derece arasındadır. Bunun için potansiyometreden gelen değerin servo motorun değerine dönüştürmemiz gerekiyor.Bunun için potansiyometre 1023 değerindeyken servo motor 180 derecede olacaktır. 1023den 180 değerini elde etmek için 1023/180=5,68 oran var arada. Yani biz potansiyometreden gelen değeri 5,68 böldüğümüzde servo motorun açı değerini oluşturabiliriz.







Kodunuzu oluşturduktan sonra üst menüde yer alan BOARD menüsünden Arduino UNO kartının seçili olduğundan emin olun. Sonrasında CONNECT menüsünden Serial Port a tıklayarak kartınızın bağlı bulunduğu COM portunu seçin ve kodunuzu yükleyin.



 



Son Paylaşımlar