Herkese merhabalar ! Bu yazımızda sizlere şu ana kadar yaptığımız tüm robotlardan çok daha farklı bir proje yapmaya karar verdik. Eğer “ben robot yapmayı biliyorum”, “Raspberry Pi konusunda da kendime güveniyorum” diyorsanız veya “ben bunları öğrenirim” diye düşünüyorsanız (eğer öyleyse sizi blog sayfamızdaki ve kanalımızdaki derslere davet ediyoruz) gelin beraber bu sağlam projenin nasıl yapıldığını öğrenelim.

Raspberry Pi Robot Yapımı

Öncelikle projeden kısaca bahsetmek istiyorum. Daha önce yaptığımız robot projelerinde olduğu gibi bir robot hazırlayacağız. Bu robotu Arduino ile değil, Raspberry Pi ile kontrol edeceğiz. Bunun sebebi, robotu WEB üzerinden kontrol etmek istememiz. Yani robot ile aynı internet ağına bağlanabildiğimiz her yerde kontrol etmeyi amaçlıyoruz. Peki bizden çok uzak, göremediğimiz bir alanda bunu nasıl başaracağız? Tabi ki kamera yardımı ile 🙂 Hadi kullanacağımız malzemeleri inceleyelim.

Malzeme Listesi

Raspberry Pi Robot Malzemeleri
Raspberry Pi Robot Malzemeleri

Robotun Montajı

Raspberry Pi ile işlerimiz tamamlandığında robotu hemen kontrol edebilmemiz için öncelikle robotumuzun gövde montajını ve devre elemanlarının bağlantılarını tamamlayalım. Daha önce Bluetooth Kontrollü Araç ve Kızılötesi Kumanda Kontrollü Robot projelerimizde kullandığımız robot gövdesinin aynı şekilde montajını yapıyoruz.

Montaj işlemine başlamadan önce motorların kablolarını lehimliyoruz. Lehimleme işlemi tamamlandıktan sonra aşağıdaki gibi montaj yapıyoruz. Motorların kablolarını karışıklık olmaması için aynı renkte ve renkleri aynı taraflarda lehimledik. Motorları gövdeye monte ettikten sonra aynı karşılıklı motorların aynı renkteki kablolarını birbirleriyle lehimliyoruz. (Sağ ön motor kırmızı-sağ arka motor kırmızı, sağ ön motor siyah-sağ arka motor siyah gibi)

Raspberry Pi Robot Montajı
Alt gövdeye motorlar monte edilir.

Alt gövdede şimdilik işimiz tamamlandı. Robotun üst gövdesine geçmeden önce pan/tilt sistemini 2 servo ile birleştiriyoruz. Pan/tilt sistemi hazır ise kamera modülünü sisteme sabitleyebiliriz. Bu işlem de tamamlandıktan sonra motor sürücü kartını sabitlediğimiz Raspberry Pi, Li-Po pil ve pan/tilt sistemini üst gövdeye yerleştirebiliriz.

Raspberry Pi Robot Montajı
Üst gövdeye kamera en önde duracak şekilde pan/tilt sistemi, Raspberry Pi ve Li-Po pil monte edilir.

Robotun son hali aşağıdaki gibi olacaktır.

Raspberry Pi Robot Montajı
Robotun son hali

Raspberry Pi Motor Sürücü Shield

Sitemizde özelliklerinden detaylı olarak bahsettiğimiz bu shield sayesinde motor kontrol işlemimiz fazlasıyla kolaylaşmış oluyor. Yapısında bulunan 2 adet klemens çifti ile ayrı ayrı iki motoru veya bu projede yaptığımız gibi paralel bağlanmış 2’şer motoru (toplam 4 motor) iki yönlü kontrol etmek mümkün. Kart üzerinde yer alan 5V regülatör sayesinde Raspberry Pi kartımız çalışması için gerek duyduğu 5V gerilimi USB konektörüne ihtiyaç kalmadan alabiliyor. Pi’mize giden bu 5V gücü kart üzerinde 8 numara ile gösterilen anahtar ile açıp kapatmamız mümkün. Motor sürücü kartımız shield yapısına sahip olduğundan, Raspberry Pi’nin pinlerine sabitlediğimizde kontrol etmek istediğimiz DC motorlar için ekstra bir kablolama yapmamıza ihtiyaç kalmıyor.

Raspberry Pi Motor Sürücü Shield
Raspberry Pi Motor Sürücü Shield

Aşağıdaki tabloda motor bağlantılarının motor sürücü karttaki ve Raspberry Pi pinlerindeki karşılıkları verilmiştir.

Motorların Pin Bağlantıları
Motorların Pin Bağlantıları

 

Motorların hareketlerine göre robotun davranışı
Motorların hareketlerine göre robotun davranışı
Raspberry Pi 3 Pinleri
Raspberry Pi 3 Pinleri

Devre Bağlantıları

Devre bağlantılarına geldiğimizde motor sürücü shield, Raspberry Pi pinlerine doğrudan oturmaktadır. Arka arkaya karşılıklı DC motorları aynı renkte kablolarla paralel olarak bağlamıştık. Sol taraftaki DC motorları, motor sürücüdeki M1 ve M2 klemenslerine bağlıyoruz; sağ taraftaki DC motorları, motor sürücüdeki M3 ve M4 klemenslerine bağlıyoruz. Ana güç bağlantımızı ise iki motor klemensi arasında yer alan VCC ve GND ile belirtilen bağlantılar aracılığıyla yapıyoruz. Aşağıdaki görselden de kontrol edebilirsiniz.

Kamera modülümüzü de Raspberry Pi’mize aşağıda gösterilen şekilde bağlıyoruz:

Motor sürücü kartımızda servolarımız için hazır bir soket bulunmuyor. Bu sebeple servo motorlarımızı jumper kablolar ile shield üzerinde yer alan GPIO pinlerine teker teker bağlamamız gerekiyor:

Sevo Raspberry Pi Bağlantısı

Robotun donanım kısmı tamamlandı ve programlanmaya hazır hale geldi. Yazının başında söylediğim gibi DC motorları ve servoları Raspberry Pi üzerinden kontrol edeceğiz, çevre kontrolünü de Raspberry Pi kamera modülü ile sağlayacağız. Bu işlemleri web ortamında yapabilmemiz için erişebileceğimiz bir web sunucuya ihtiyacımız olacak.

Web Arayüzü ile Robota Erişim

Sadece programda bulunan IP adresini kendi Pi’nizin IP adresi ile değiştirerek, aşağıdaki işlemleri yapmadan robotu kontrol etmek isterseniz her şeyin hazır olduğu imaj dosyasına buradan ulaşabilirsiniz.

Tüm işlemleri gerçekleştirmek için önce aşağıda paylaşılan dosyayı indiriyoruz:

Projemizin çalışması için Raspberry Pi kamera modülüne ihtiyacımız var. Modülü kartımıza güç kesiliyken taktıktan sonra Raspberry Pi’mizi çalıştırıyoruz. Ayrıca, kurulum aşamalarında çeşitli programlar yükleyeceğimiz için Pi’mizin aktif bir internet bağlantısına ihtiyacı vardır.

Pi’miz açıldıktan sonra terminal ekranına

sudo raspi-config

yazarak konfigürasyon programını çalıştırıyor ve aşağıdaki adımlar ile kamera modülünü aktif hale getiriyoruz:

Kamera arayüzünü aktifleştirdikten sonra, kameranın kullanımı için gerekli bcm2835-v4l2 isimli modülü /etc/modules dosyası altına ekliyoruz:

İndirdiğimiz gerekli kütüphaneler dosyasını ana klasörümüz olan /home/pi klasörüne taşıyıp dosyayı aşağıdaki komut ile açıyoruz:

tar xvf rpi-robot.tgz

Bir sonraki adımda projemizde gerekli olan webiopi programını ilgili klasöre geçtikten sonra

sudo ./setup.sh

komutu ile yüklüyoruz. Bu esnada Pi’mizin internet bağlantısına sahip olması gereklidir.

Webiopi kurulumu tamamlandıktan sonra, kameramızın web üzerinden görüntü aktarabilmesi için gerekli olan mjpg-streamer programını kuracağız. Öncelikle gerekli programları aşağıdaki komut ile sistemimize yüklüyoruz:

sudo apt-get install libv4l-dev libjpeg8-dev subversion

Daha sonra ilgili klasöre

cd ~/Rpi-Motor-Driver-Board-Demo-Code/mjpg-streamer/

komutu ile geçip

make USE_LIBV4L2=true clear all

komutu ile mjpg-streamer programını derliyor ve yüklüyoruz. Bu işlem esnasında “make: *** No rule to make target ‘clear’. Stop.” gibi bir hata alabilirsiniz, herhangi bir sorun olmayacaktır.

Kurulum bittikten sonra

sudo ./start.sh

komutu ile mjpg-streamer programını çalıştırıyoruz. Pi’mizin bağlı olduğu yerel ağa dahil olan başka bir bilgisayardan tarayıcımızı açarak http://raspberry_pi_ip_adresi:8080 adresine girerek kameranın yayınının başladığını görebilirsiniz.

Son aşamada ise robot kontrol programını çalıştıracağız. Programın yer aldığı klasöre

cd ~/Rpi-Motor-Driver-Board-Demo-Code/magpi-cambot

komutu ile geçerek

sudo nano index.html

komutu ile HTML dosyasını açarak içerisindeki bir satırda değişiklik yapmamız gerekiyor.I Burada yer alan IP adresini Pi’mizin yerel ağdaki IP adresi ile değiştiriyoruz:

Burada görmüş olduğunuz üzere, biz projemiz üzerinde çalışırken Pi’mizin IP adresi 192.168.1.114 idi. Sizlerin de kendi Pi’nizin IP adresine göre burada yer alan adresi değiştirmeniz gereklidir. Dosyada gerekli değişikliği yaptıktan sonra ise

sudo webiopi -d -c ./config

Komutu ile web sunucuyu çalıştırıyoruz. Artık Pi’miz ile aynı yerel ağda bağlı olan bir bilgisayar veya cep telefonu ile tarayıcımızdan Pi’mizin IP adresini yazarak robotumuzu kontrol edebiliriz 🙂

Giriş için şifre istendiğinde kullanıcı adı olarak webiopi şifre olarak ise raspberry girmeniz yeterlidir.

 

 

Proje hakkında yorumlarınızı aşağıdaki ‘Yorumlar’ kısmında bizimle paylaşabilirsiniz.

Siz de yaptığınız projeleri Twitter ve Instagram üzerinden #Robotistan hashtagi ile bizimle paylaşabilirsiniz.

Twitter ve Instagram Hesaplarımız: @Robotistan

CEVAP VER

Please enter your comment!
Please enter your name here