Alışverişlerinizi Robotistan’dan Yapın

Faydalı içerikler oluşturarak size yardımcı olmak istiyoruz. Aynı zamanda hızlı teslimat ve müşteri memnuniyetini ön planda tutarak malzeme satışı yapıyoruz. Alışverişlerini robotistan.com‘dan yaparak sen de bize yardımcı olabilirsin 🙂

Raspberry Pi 3 İle Servo Motor Kontrolü Nasıl Yapılır? #12

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:

Projedeki Malzemeler Bu Sette. Şimdi İncele >

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 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):

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

from Tkinter import *import RPi.GPIO as GPIOimport timeGPIO.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(“200×50+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.

Ekranda çı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:

Yorumları Görüntüle

  • Merhaba,
    Yazdıklarınızdan hiçbirşey anlamadım.

    ('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.' gibi)

    Bana yardımcı olabilir misiniz?

    Bu arada kanalıma "Arduino Türk Batu'ya" abone olur ve sitem olan "arduinoturkbatu.wordpress.com'u" ziyaret eder misiniz???

    İyi çalışmalar...
    Saygılarımla...

    • Bir Opera kullanıcısı...
      Bu cevap Opera Brower tarafından gönderildi.

  • Buradaki ürünler gerçekten çok kaliteli okuluma her zaman burdan alıyorum. Ama keşke Tübitak dönemlerinde kampanyalar yapsanız

  • selamlar
    pi zero w kullanmaya yeni basladım
    yukarda verdğiniz kodu masa ustune bir dısya açarak isminişde servo.py olarak açıp dosya içine kodları yazıyorum ancak asagıdaki hatayı alıyorum bunu nasıl duzeltebilirim

    shell kısmında ki hata:
    Python 3.5.3 (/usr/bin/python3)
    >>> %Run servo.py
    Traceback (most recent call last):
    File "/home/pi/Desktop/servo.py", line 1, in
    from Tkinter import *
    File "/usr/lib/python3/dist-packages/thonny/backend.py", line 317, in _custom_import
    module = self._original_import(*args, **kw)
    ImportError: No module named 'Tkinter'
    >>> %Run servo.py
    Traceback (most recent call last):
    File "/home/pi/Desktop/servo.py", line 1, in
    from Tkinter import *
    File "/usr/lib/python3/dist-packages/thonny/backend.py", line 317, in _custom_import
    module = self._original_import(*args, **kw)
    ImportError: No module named 'Tkinter'

  • iki servoyu rasberryde aynı anda kullanamazsınız bunun sebebi rasberry arduino gibi ek bir pwm sabitleyiciye sahip değildir bundan dolayı ek olarak bir pwm modülü kullanabilirsiniz PCA9685 16 KANALLI YADA DAHA AZ OLABİLİR

  • merhabalar ben 2 servo motoru aynı anda kontrol etmek istiyorum bunu nasıl kodlayabilirim yardımcı olur musunuz

  • 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.

  • Bende bu aralar Raspberry Pi ' ye merak salanlardanım. Çok teşekkürler buradaki yazılar çok işime yarıyor.

En Son İçerik

Arduino’nun Korkulu Rüyası: ESP8266

Herkese merhabalar! Daha önce hiç kablosuz internet bağlantısı ile proje yaptınız mı? IoT projelerine ilginiz var mı? Sizi bu yazımızda…

3 gün Önce

Arduino ve C# ile LCD Ekrana Yazı Gönderme – 7. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu dersimizde C# ile hazırlayacağımız form uygulaması üzerinden Arduino'ya bağlı LCD ekranımızı…

3 hafta Önce

3D Printer Yapımı – 553TL’ye Kendi 3D Yazıcını Yap

Herkese merhabalar! Bu yazımızda üç boyutlu yapımı için hangi adımları uygulamak gerekiyor, 3D yazıcı yapımı için gerekli olan malzemelerden ve…

4 hafta Önce

Arduino ile Nabız Ölçer

Herkese merhabalar, bu yazımızda medikal sensörlerden biri olan Pulse nabız sensörünü kullanarak nabız verisini okumayı ve elde ettiğimiz sonucu Nokia…

2 ay Önce

Lipo Pil Nedir? Çeşitleri ile Kapsamlı Lipo Batarya Rehberi

Birçok RC araçta ve robot projelerinde kullanılan Li-Po batarya çeşitlerini, güvenli kullanım ve şarj yöntemlerini bu videomuzu izleyerek öğrenebilirsiniz.

2 ay Önce

Arduino ve C# Haberleşmesi: Bluetooth ile Servo Motor Kontrolü – 6. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu derste hazırladığımız arayüz üzerinden seri haberleşmeyi kullanarak servo motor kontrolünü göreceğiz.…

2 ay Önce