Kendin YapRaspberry Pi

Hareket İle Kontrol Edilen Robot Kol Yapımı

Herkese merhabalar,

Bu yazımızda Internet üzerinden MQTT PubSub (gönderme-alma) servisini kullanan ve mesajları da Leap Motion API kullanarak gönderdiğimiz robot kol projesini inceleyeceğiz. Bu yazı elektronik alanında ve robotik alanında deneyimli geliştiriciler için uygundur. Giriş seviyesindeyseniz eğitimler sayfamızı takip etmenizi öneririz.

Bu proje için donanım temini aşamasında herhangi bir robot kol alabilir ya da kendiniz yapabilirsiniz. Parça temininde 4 serbestlik derecesi ve 4 yüksek torklu servo motor kullanmanız faydalı olacaktır, çünkü robotu Leap Motion ile elle kontrol edeceğimizden koordinat eksenlerinin matematiksel çevirmelerinde zorlanmamış olursunuz.

iot türkiye robot kol
Arka plan matematiği için Robotik dersi aldıysanız, kinematik kullanmanız faydalı olur. Gerçi tüm kodlar açık kaynak, oradan istediğiniz gibi değiştirebilirsiniz.

https://github.com/orhaneee/iot-robotarm adresinden projede kullanabileceğiniz kodlara ulaşabilirsiniz. İçinde aynı zamanda robot kolu sürmeniz için değişik platformlar da mevcut.

Yazılım kısmında Python 2.7 dilini kullanmanız gerekiyor. Nedeni ise Paho MQTT modülü daha kolay bir syntaxa sahip. Java’dan da import edebilirsiniz fakat Python, psuedocode’a benzer yapısıyla daha kolay kullanabileceğiniz bir programlama dili. Python’dan öncelikle pip ile paho-mqtt-client‘ı indirin.

Yazılımla ilgili yapılması gerekenler tamam, ama bu sistem nasıl çalışıyor?

Öncelikle anlamamız gereken yine IoT’de sunucu ile mesajlaşma biçimimiz. Tüm arkaplan işlemler Publish-subscribe şeklinde yapılıyor. Siz Leap Motion ile bilgisayardan koordinat değerlerini publish (gönderiyorsunuz), sizin Amazon, PubNub ya da Azure’da tanımladığınz nesne (IoT’deki Things’e denk geliyor :)) onu subscribe ediyor (alıyor).aws iot

Daha sonra biraz elektronik bilgimizi kullanmamız gerekiyor. Arduino, Raspberry ve PIC vs. mikroişlemcilern bu tip projelerde çözüm olarak kullanıldığını görmüşsünüzdür. Biz Raspberry Pi 3’ü uygun gördük çünkü kendi içinde WiFi alıcısı dahili olarak var ve ekstra USB WiFi Dongle kullanmamıza gerek kalmıyor. Bir de Raspberry Pi ile servo motor süreceğiz fakat servo motorların çalışması normal fırçasız DC motorlara göre biraz farklı. DC motorlarda +5V gibi bir gerilim verdiğinizde motor dereceye veya zamana dikkat etmeden dönecektir. Peki belirli bir hızda kontrol eklemek isterseniz ne olacak? İşte o zaman servolar devreye giriyor. İçlerinde closed-loop feedback (kapalı devre geribeslemesi) olduğundan (içinde bir PCB var ona bakınız), kesin açılarda dönme sağlıyoruz. Peki 2V verince 10 derece, 3V verince 15 derece mi dönüyor? Orada da devreye sinyal işleme giriyor. PWM denilen (pulse-width modulation) sinyal işleme biçimini kullanıyoruz. Yani bir kare dalganın (logic sinyal oluyor genelde) 0 ve +5 olduğu anlarının zaman verilerini değiştiriyoruz. Raspberry Pi, analog sinyal almadığını göz önünde bulundurularak bu işlemi sadece tek pin’e vermiş. Tabii biz 4 servo sürüyoruz bu biraz dert olabileceği için bir motor sürücüsü ile bunu desteklememiz lazım.

Raspberry Pi’da Raspbian (Debian) adında işletim sistemi bulunuyor. İçinde otomatik bir Python GNU C Compiler ile geliyor. Ayrıca bunun yanı sıra sizin kullanmanız için rpi-gpio Python modülü de var.

Bizim projemize dönersek; her şey aslında bu kadar basit. Programlama bildiğinizi de varsayarak ucuz maliyet ve kısa zamanda bu projeyi tamamlayabilirsiniz. 🙂

İyi günler.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Buna da göz atın

Close
Close