İçindekiler:

Köpek Botu: Web Kameralı Lego Robot Rover: 17 Adım (Resimlerle)
Köpek Botu: Web Kameralı Lego Robot Rover: 17 Adım (Resimlerle)

Video: Köpek Botu: Web Kameralı Lego Robot Rover: 17 Adım (Resimlerle)

Video: Köpek Botu: Web Kameralı Lego Robot Rover: 17 Adım (Resimlerle)
Video: EVİNİZDE ROBOT İLE YAŞASAYDINIZ NE OLURDU ? 2024, Temmuz
Anonim
Image
Image

Wi-Fi üzerinden herhangi bir ekrandan kontrol edebileceğiniz bir Lego robotunun nasıl yapılacağı aşağıda açıklanmıştır. Ayrıca nereye gittiğinizi görebilmeniz için bir web kamerası ve gözler için LED ışıklar var! Bu, logo oluşturmayı yapabildikleri için çocuklarınızla birlikte yapabileceğiniz harika bir projedir ve siz de onları mutlu oldukları kadar elektroniğe dahil edebilirsiniz. Bu projeyi nasıl uygulayacağınız konusunda çok fazla esneklik vardır ve bu, siz kolayca parçalara ayırabilir ve yeniden tasarlayabilir. Tekrar başlamak için sıkışıp kaldığımda faydalı buldum. Bunu birkaç kez yaptıktan sonra, sıfırdan yeniden inşa etmek oldukça kolay ve hızlıdır. Bununla ilgili harika olan şey, kolayca yeniden inşa etme becerilerini geliştireceğiniz için herhangi bir şeyi "kırmak" konusunda endişelenmenize gerek olmamasıdır.

Neye ihtiyacın var

  • Ahududu Pi B+
  • Taban ve motor kiti
  • Lego taban plakası
  • Endüstriyel mukavemetli süper yapıştırıcı
  • Delmek
  • zanaat bıçağı
  • Lehimleme ekipmanları
  • hafıza kartı
  • SD kart okuyucu
  • Motor kontrol kiti
  • 2 LED
  • orta fiyatlı Web Kamerası (ucuz bir tane deneyebilirsiniz)
  • PC ve tablet/telefon
  • Yönetici erişimine sahip olduğunuz Wifi Yönlendirici
  • Bir sürü Lego parçası
  • Acil durum telefon şarj cihazı
  • Her biri en az 1 dişi terminale sahip 4 atlama kablosu
  • 4 adet AA pil (şarj edilebilirlik iyidir)

Adım 1: Tabanı Hazırlayın

Amazon'da bu motor seti gibi bir taban ve 2 motorla başladım

Perspeks tabanı alın ve üzerine ince bir Lego taban plakası yapıştırın. Bunun için dakikalar içinde kuruyan ve süper güçlü olan endüstriyel mukavemetli süper yapıştırıcı kullandım. Tutkal sabitlendiğinde, fazla Lego taban plakasını, perspex taban plakasının çizgisini takip edecek şekilde kesin. ardından Lego plakasına perspex tabanla eşleşen delikler açın. Delikleri gerektiği gibi ve gerektiğinde açtım. Artık kendi Lego yapınızı oluşturmak için temeliniz var.

Adım 2: Tekerlekleri Birleştirin

Tekerlekleri Birleştirin
Tekerlekleri Birleştirin

Şimdi tekerlekleri birleştirin. Buradaki üretici talimatlarını izleyin. Satın aldığım jantlar, okuyamadığım tüm talimatları Çince olarak içeriyordu, ancak resimlerden anlamak oldukça kolaydı. Monte edildikten sonra telleri küçük bir lehim bloğu ile motorlara takın.

Adım 3: Tekerlekleri Tabana Takın

Tekerlekleri Tabana Takın
Tekerlekleri Tabana Takın

Ardından tekerlekleri taban plakasına takın, gerekirse tabanda delikler açabilirsiniz. Muhtemelen projenin sonuna doğru, kabloların tabandan başka bir yere geçmesini istediğinizi öğreneceksiniz, ancak her zaman yeni bir delik açıp daha sonra yer değiştirebilirsiniz.

Adım 4: Pi'yi Hazırlayın

Pi'yi hazırlayın
Pi'yi hazırlayın

Şimdi PI'yi hazırlayın. USB wifi dongle'lı bir model B+ kullandım. Raspbian Pi sitesinden indirebileceğiniz Debian Jessie tabanlı Tam masaüstü görüntüsünü kullandım. SD kartı sıfırdan oluşturmaya değer ve yeniden kolayca başlayabileceğiniz için disk görüntüsünü el altında tutun. PC'nizde disk görüntüsünün nasıl oluşturulacağını bulmak için biraz googling yapmanız gerekebilir. Resmimi Ubuntu kullanarak şu şekilde oluşturdum: Disk görüntüsüne sağ tıklayın ve "disk görüntü yazıcısıyla aç" seçeneğini seçin. Resmi SD karta yazın. Disk görüntüsü oldukça küçüktür, bu nedenle daha büyük bir SD kartınız varsa (örneğin: 30GB), mevcut tüm alanı kullanmak için GParted gibi bölümleme yazılımlarını kullanabilirsiniz. Bunu nasıl yapacağınızı öğrendikten sonra yaklaşık 5 dakika sürer ve yazılımı bozarsanız yeniden yükleyebilirsiniz.

Adım 5: Denetleyici Kartını Monte Edin

Denetleyici Kartını Monte Edin
Denetleyici Kartını Monte Edin

Daha sonra bir motor kontrol kartına ihtiyacınız var. RyanTek'in kitini kullandım. Mükemmel bir lehimleme kılavuzu ile birlikte gelir, ancak bence önceden lehimlenmiş olarak da alabilirsiniz. Daha önce hiç lehimleme yapmadıysanız endişelenmeyin, sadece yavaşça alın ve motor kartına başlamadan önce biraz alıştırma yapın.

Şimdi pil takımını (4 adet AA pil ile) ve motorları kontrol kartına takın, ardından kontrol kartını Pi'nin GPIO pinlerine takın. Yine denetleyici kartı size daha fazla ayrıntı verecektir. DC güç yuvalarına bağlı olmadıkları sürece, doğru motor kablolarını doğru yuvalara yerleştirme konusunda endişelenmeyin. Lego gövdesini tasarlarken size daha fazla esneklik sağladığı için Pi'yi veya Pil takımını Lego panosuna yapıştırmıyorum veya vidalamıyorum. Ayrıca tasarımınızı ilerledikçe kolayca değiştirebilirsiniz.

Adım 6: Lego Gövdesini Oluşturmaya Başlayın

Lego Gövdesini İnşa Etmeye Başlayın
Lego Gövdesini İnşa Etmeye Başlayın
Lego Gövdesini İnşa Etmeye Başlayın
Lego Gövdesini İnşa Etmeye Başlayın

Şimdi biraz Lego yapma zamanı. Bu noktada, bir parça Lego tutabildikleri sürece, gerçekten küçük çocukları dahil edebilirsiniz! Her şey çalışana kadar basit bir kare konutla başladık, ardından köpek botuyla daha maceracı olduk. Buradaki harika şey, robot gövdesini istediğiniz kadar yeniden oluşturabilmenizdir. Pi için bir ev oluşturarak başlayın. USB bağlantı noktaları ve güç kabloları için yer bırakmayı unutmayın. İnşa ettiğiniz herhangi bir konutta makul miktarda gevşeklik oluşturun. İşlerin biraz sallanması sorun değil ve Lego ile çok doğru olamazsınız.

Daha sonra ihtiyaç duyacağınız USB bağlantı noktalarına erişim sağlamak için Lego pencerelerini kullandık.

Adım 7: Pi'yi Hazırlayın

Şimdi Pi'yi çalıştırmanın ve robotu hareket ettirmenin tam zamanı.

Git hub'ında bu projeyle kullanılacak kodu geliştiriyordum. Git hub sayfalarındaki Beni oku, tüm yazılımların Pi'ye nasıl kurulacağına ilişkin talimatlarda size yol gösterir, ancak ben de adımlarda size yol göstereceğim. Burada.

Önce güç kablosunu takarak Pi'yi çalıştırın. HDMI kablosunu bir TV'ye bağlamanız ve bir USB klavye ve fare kullanmanız gerekir. İlk şey, Wifi'nize bağlanmak. Bunu Raspian masaüstünün sağ üst köşesindeki simgeye tıklayarak ve detayları kanıtlayarak yaparsınız. Wifi'ye bağlandıktan sonra komut satırından diğer her şeyi yapabilirsiniz, yani isterseniz ssh kullanarak Pi'ye bağlanabilirsiniz, ancak şimdilik bir TV'ye bağlı olduğumuz için Raspian masaüstünden bir terminal açabiliyoruz.

Adım 8: Yazılımı Pi'ye yükleyin

Pi üzerindeki terminali açın ve aşağıdaki komutları yazın.

sudo apt-get güncellemesi

Bu, Raspian'ı en son yazılımla günceller.

Ardından, web kamerası yazılımını yükleyin

sudo apt-get yükleme hareketi

Bu noktada hareketi de yapılandırmanız gerekir. Github sayfalarında hangi dosyalarda nelerin güncellenmesi gerektiğini listeledim. Pi'niz üzerinde çalışan bir web kamerası edinme konusunda da bir talimat var. Ayarları öğrenin ve kurulum konusunda rahat olduğunuzda onlarla oynayın.

sudo apt-get kurulum python-dev python-pip

Bu, Python kitaplıklarını ve ayrıca python yazılım paketleme yöneticisini kurar.

sudo pip kurulumu 'pubnub>=4.1.2'

Bu, kontrol paneli ve kablosuz robotunuz arasındaki mesajlaşmayı yöneten yazılım olan Pubnub'u yükler.

Bu parçayı takmak biraz zaman alıyor, o yüzden gidin ve bir fincan çay yapın !!

9. Adım: Robot Yazılımını Kurun

Artık tüm bağımlı yazılım bitlerini ve parçalarını kurdunuz, robotu çalıştırmak için gereken kodu yükleme zamanı.

git klonu

bu, ana dizininizde bir lego-robot klasörü oluşturacaktır.

Robot kodunu çalıştırmadan önce bir PubNub hesabı oluşturmanız ve bir yayınlama ve abone olma anahtarı almanız gerekir. Bunu, PubNub'daki şimdi başlama talimatlarını izleyerek yapabilirsiniz. Kurulduktan sonra iki dosyayı açmanız gerekir:

  • lego-robot/sunucu/keys.py
  • lego-robot/client/keys.js

ve pubnub kontrol panelinden alabileceğiniz anahtarlarınızla pub ve alt anahtarlarını değiştirin.

İstemci ve sunucuda eşleştiği sürece kanal değerinin herhangi bir şey olabileceğini unutmayın.

Adım 10: Denetleyici Yazılımını Kurun ve Her Şeyin Çalıştığını Kontrol Edin

Denetleyici Yazılımını Kurun ve Her Şeyin Çalıştığını Kontrol Edin
Denetleyici Yazılımını Kurun ve Her Şeyin Çalıştığını Kontrol Edin
Denetleyici Yazılımını Kurun ve Her Şeyin Çalıştığını Kontrol Edin
Denetleyici Yazılımını Kurun ve Her Şeyin Çalıştığını Kontrol Edin

Bir bilgisayarda, robotta yaptığımız gibi git hub kodunu klonlayın.

git klonu

Bilgisayarınızda git yüklü olmayabilir. Değilse, lütfen git hub'daki talimatları izleyin.

Ayrıca, kodu bir zip dosyası olarak indirme seçeneğiniz de vardır, ancak GIT'i kurmanızı ve dosyaları depoyu klonlayarak kopyalamanızı tavsiye ederim.

lego-robot/client/keys.js dosyasını kişisel yayınlama ve abone olma anahtarlarınızla güncellemeniz gerekir.

İşiniz bittiğinde, lego-robot/client/buttons.html dosyasını bir web tarayıcısında açın. Artık kontrol düğmelerini kullanarak robotunuzu kontrol edebilmeniz gerekir.

Yukarıdaki şema neler olduğunu göstermektedir:

  • Bir düğmeye tıkladığınızda pubnub'a bir mesaj gönderilir (yayınlama anahtarınızı kullanarak)
  • PubNub daha sonra robota iletir.
  • Mesajları dinliyor (abone ol tuşunu kullanarak)
  • Robot daha sonra bir eyleme dönüşür.

pubNub'u ücretsiz, hızlı (gerçek zamanlı) olarak kullandım ve gerçekten güzel bir API kullanarak mesajların gönderilmesini ve alınmasını büyük ölçüde basitleştirdim.

İstemci ve sunucu kodunu inceleyebilir ve "ileri" ve "geri" gibi basit tuşlar kullanılarak gönderilen mesajları görebilirsiniz.

Ayrıca lego-robot/client/joystick.html adresinde bir joystick tarzı kontrolör bulunmaktadır.

Bu denetleyicileri geliştireceğim ve her zaman yenilerini ekleyeceğim, bu nedenle yazılımı güncellemek isterseniz "git pull" komutunu kullanabilirsiniz. Lütfen git deposuna katkıda bulunmaktan ve daha kullanıcı dostu kontroller oluşturmaktan çekinmeyin.

Artık hareketin düzgün çalıştığını kontrol etmeye hazırsınız. Pi terminalinde dizini lego-robot/server olarak değiştirin ve şunu yazın:

sudo python robot.py

bu, Pubnub'dan gelen mesajları dinlemek için bir python betiği başlatır.

Şimdi kontrolördeki bazı düğmelere basmayı deneyin, Pi Terminalinde alınan bu yanıtları görmelisiniz (yukarıdaki resimde gösterildiği gibi) ve robot.py bu mesajları Pi GPIO'daki sinyallere eşleyerek hareketlere çevirir.

Robotu hareket ettirebilmelisiniz.

Adım 11: Web Kamerasını ve LED Işıklarını Hazırlayın

Web Kamerasını ve LED Işıklarını Hazırlayın
Web Kamerasını ve LED Işıklarını Hazırlayın
Web Kamerasını ve LED Işıklarını Hazırlayın
Web Kamerasını ve LED Işıklarını Hazırlayın

Linux uyumlu herhangi bir web kamerasını kullanabilirsiniz (çoğu öyledir). Gerçekten ucuz bir tane denediğim ve ondan net bir görüntü alamadığım için orta menzilli bir tane (yaklaşık 15 £) seçerdim. İlk adım, web kamerasını sökmektir, böylece sadece temel tahtaya ve kameraya sahip olursunuz.

Işık takmak istiyorsanız, bir LED ışık alın ve her terminale iki atlama kablosu bağlayın. Bir ucunda dişi terminali olan atlama kabloları kullandım, böylece daha sonra kolayca Pis GPIO pinlerine takabilirsiniz. Terminali çıkarmak için telin diğer ucunu soymanız gerekir. Güvenli bir bağlantı yapmak için burada da lehimleyebilirsiniz. Ayrıca, her bir teli örtmek için kullanabileceğiniz ısıyla daralan bir sargı kullandım, ancak her şeyin çalıştığından memnun olana kadar çok iyi bir iş yapmaktan endişe etmem, sonra bitirebilir ve geliştirebilirsiniz. LED'inizin yanmasını durdurmak için bir direnç kullanmak da iyi bir fikirdir.

LED'lerin nasıl kablolanacağını detaylandıran burada ayrıntılı bir talimat var.

Resimde görüldüğü gibi, LED'i robot kafasına monte etmenin kolay bir yolu olarak, içinde delik olan bir Lego bloğu kullanıyorum.

Adım 12: Burun Kameralı ve Işıklı Kafayı Oluşturun

Burun Kamerası ve Işıklarla Kafayı Oluşturun
Burun Kamerası ve Işıklarla Kafayı Oluşturun
Burun Kamerası ve Işıklarla Kafayı Oluşturun
Burun Kamerası ve Işıklarla Kafayı Oluşturun
Burun Kamerası ve Işıklarla Kafayı Oluşturun
Burun Kamerası ve Işıklarla Kafayı Oluşturun

Kamera için bir kafa muhafazası oluşturun. Yaratıcı olmanızın zamanı geldiğinden burada çok spesifik olmayacağım. Ancak kameranın etrafında inşa etmeniz gerekiyor. Dog bot, kamerayı burnuna entegre ediyor ve gözleri LED'ler olarak kullanıyor. Kabloları dışarı çıkarmak için başın arkasında bir delik bıraktığınızdan emin olun.

Adım 13: Gövdeyi Tamamlayın

Gövdeyi Tamamla
Gövdeyi Tamamla
Gövdeyi Tamamla
Gövdeyi Tamamla
Gövdeyi Tamamla
Gövdeyi Tamamla

Artık köpek botunun temelde hareket etmesinden memnunsunuz, pil paketleri için bir yuva oluşturabilirsiniz. Bir paket 4 adet AA pil (tekerlekler ve tabanla birlikte verilir) ve bir acil durum telefon şarj cihazı paketi kullandım. AA piller, tekerlekler için DC motorlar içindir ve cep telefonu paketi Pi içindir. Yeniden şarj etmek ve değiştirmek için bunlara erişmeniz gerekeceğinden pilleri kolayca erişilebilir hale getirmek iyi bir fikirdir.

Mutlu olduktan sonra Pi'nin üzerine bir çatı koyun. Robot görüntüsünün bir parçası olduğu için kabloları ve devreleri gizleme konusunda çok fazla endişelenmiyorum. Ancak bu noktada her şey size kalmış. Botunuzun ne kadar ağırlaştığını düşünmek isteyebilirsiniz, ne kadar ağır olursa o kadar yavaş hareket eder.

Adım 14: Kafayı Monte Edin

Kafayı Monte Et
Kafayı Monte Et
Kafayı Monte Et
Kafayı Monte Et
Kafayı Monte Et
Kafayı Monte Et

Her şeyi birbirine bağlamanın zamanı geldi.

Oluşturduğunuz erişim deliklerini kullanarak Webcams USB kablosunu botun önüne bağlayın. Bazı Lego muhafazaları oluşturarak kabloyu robota sabitleyebilirsiniz. USB kablosunu da kesip yeniden lehimleyerek kısalttım, ancak bunu yalnızca 4 küçük kabloyu birbirine lehimleme isteğiniz varsa yapın. Kısa bir USB kablosu satın almak ve onu kameranın arkasına yeniden bağlamak daha kolay olabilir.

Ayrıca LED ışıklarını motor kartı denetleyicisi tarafından alınmayan Pis GPIO pinlerine bağlamanız gerekir. Bunlar GPIO pinleri 20 ve 21 ve yakındaki iki yedek topraklama pinidir. Yakındaki yedek topraklama pimlerini kullanın. Işık çalışmıyorsa, GPIO çıkışıyla yuvarlak zemini değiştirmeyi deneyin. Google'a hangi pinlerin bağlanacağını bulmak için iyi bir GPIO şeması.

Adım 15: LED'leri ve Burun Kamını test edin

LED'leri ve Burun Kamerasını test edin
LED'leri ve Burun Kamerasını test edin

Web kamerası yazılım türünü başlatmak için:

sudo hareketi

Ayrıca robot.py betiğini başlattığınızdan emin olun (önceki talimatta ayrıntılı olarak anlatıldığı gibi):

sudo python robot.py

Artık ışıkları açıp kapatmak için kumanda üzerindeki ışık anahtarını kullanabilmelisiniz.

Web kamerası 8080 numaralı bağlantı noktasındaki Pis IP adresinizde yayın yapmalıdır, bu nedenle örneğin aşağıdakileri web tarayıcınıza yazın.

192.168.1.2:8081

Yönlendiricimde yönetici olarak oturum açarak ve bağlı cihazlara bakarak Pi IP adresini buldum. Bunun nasıl yapılacağına ilişkin talimatlar genellikle yönlendiricinin arkasında bulunur veya yönlendiricinizin çevrimiçi talimatlarına bakın.

önceki adımda açıklandığı gibi hareket yazılımının yapılandırma ayarlarını inceleyebilirsiniz. Bazen akışın durakladığını görüyorum, ancak genellikle sorunsuz çalışıyor.

Bu video akışına, Wifi ağınıza bağlı bir tarayıcı çalıştıran herhangi bir yerden erişebilirsiniz.

Adım 16: Bitirme

Çevrimiçi erişim

Artık robotu bir PC'deki bir tarayıcıdan kontrol edebilmeniz gerekir. Ancak botu Ipad veya telefon gibi herhangi bir dokunmatik cihazdan kontrol edebilmek güzel.

Bunu yapmak için istemci dosyalarını (buttons.html vb.) bir web sunucusunda barındırmanız gerekir.

Pi'ye sorunsuz çalışan bir web sunucusu kurarak başladım. Ancak HTML dosyasını başka bir web sunucusuna yüklemek daha kolaydır. HTML dosyasını genel mavi ana bilgisayar hesabıma kopyaladım. Pub nub kanalınızın pub alt anahtarlarını içerdiklerinden bu dosyalara dosya koruma erişimi sağlamak isteyebilirsiniz. Bunu yaptığınızda, kontrol cihazına evinizin dışından bile herhangi bir cihazdan erişebilirsiniz.

Otomatik başlatma

Yapılması gereken bir başka yararlı şey de ahududu Pi'nizdeki \etc\rc.local betiğini güncellemektir; bu iki satırı ekleyerek:

  • sudo hareketi
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Bunlar, Pi her başlatıldığında çalışır, bu nedenle komutu manuel olarak çalıştırmanız gerekmez.

Adım 17: Eğlenin

İyi eğlenceler !
İyi eğlenceler !

Bu kadar.

Lütfen takılırsanız yorum yapmaktan çekinmeyin ve herhangi bir yazılımı geliştirmek istiyorsanız lütfen github deposuna katkıda bulunun. Bu proje üzerinde çalışmaya devam edeceğim ve işte bazı fikirler:

  • "Sol 10, ileri 6, geri 2…" gibi bir dizi komut programladığınız ve ardından "çalıştır" düğmesine bastığınız ve robotun komutları uyguladığı "büyük iz" tarzı bir denetleyici.
  • Web kamerası ile yukarı bakabilmeniz için eğilebilen boyun
  • Metni denetleyiciden konuşmaya çeviren bir hoparlör
  • Ses kontrollü kontrol

Şerefe

Peter

Önerilen: