Bu içerik 13 Ocak 2017 Tarihinde Raspberry Pi 3 Uyumlu Olacak Şekilde Güncellenmiştir. Güncellenen kısımları daha kolay şekilde görebilmeniz için farklı renkte (lacivert) yazdık. Güncelliğini yitiren kısımların ise üzerini çizdik. Keyifle oku, bol bol üret!

Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Merhaba arkadaşlar. Bu yazıda Raspberry Pi kullanarak servo motor sürmeyi anlatacağım.

Gerekli malzemeler:

Servo motorlar, bildiğimiz üzere PWM ile çalışırlar. Çoğunlukla 0-180 derece arası açılarda çalışırlar. RC arabamızın direksiyonunda, helikopterlerin pervanelerine açı vermede ve uçakların kontrol yüzeylerini hareket ettirmede kullanılırlar.

servo_pwm

Servo motorlar hakkında daha detaylı bilgi edinmek isterseniz RC Servo Motor Nedir? isimli videomuzu izleyebilirsiniz.

Devre şemamız bu şekilde (fazla akım çekmemesi için küçük boy plastik dişlili bir servo motor kullanmanızı tavsiye ederim):

ders7_servo_bb

Devremiz ile birlikte kullanacağımız Pyhton kodu ise burada:

from Tkinter import *
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
pwm = GPIO.PWM(18, 100)
pwm.start(5)
GPIO.setwarnings(False)

class App:

    def __init__(self, master):
        frame = Frame(master)
        frame.pack()
        scale = Scale(frame, from_=0, to=180,
              orient=HORIZONTAL, command=self.update)
        scale.grid(row=0)


    def update(self, angle):
        duty = float(angle) / 10.0 + 2.5
        pwm.ChangeDutyCycle(duty)

root = Tk()
root.wm_title('Servo Control')
app = App(root)
root.geometry("200x50+0+0")
root.mainloop()

Python kodunu servo.py isimli bir dosyaya kaydedin ve

sudo python servo.py

komutu ile çalıştırın.

Raspbian’ın güncel sürümünde Python komutlarından önce sudo yazmamıza gerek yoktur.

ssEkranda çıkan “Servo Control” isimli penceredeki slider’ı kullanarak servo motorun açısını ayarlayabilirsiniz.

Programın detaylı bir şekilde anlatımı için aşağıdaki videoyu izleyebilirsiniz:

5 Yorumlar

  1. Merhabalar,
    Ben bu kodu raspberry pi 3 te denedim çalıştırdım fakat 180 derece dönüşü 360 yapınca raspberry takıldı. Şuan da usb portları kesinlikle çalışmıyor. Neden olduğu konusunda yardımcı olabilir misiniz lütfen. Bitirme projesi yapıyoruz.

CEVAP VER