İçindekiler:

Raspberry Pi 3 FPV Lego Tankı: 5 Adım (Resimlerle)
Raspberry Pi 3 FPV Lego Tankı: 5 Adım (Resimlerle)

Video: Raspberry Pi 3 FPV Lego Tankı: 5 Adım (Resimlerle)

Video: Raspberry Pi 3 FPV Lego Tankı: 5 Adım (Resimlerle)
Video: Корпус лего для Raspberry Pi 3 2024, Temmuz
Anonim
Raspberry Pi 3 FPV Lego Tankı
Raspberry Pi 3 FPV Lego Tankı

Lego, çocuklara işlerin nasıl yürüdüğünü öğretmek ve aynı zamanda eğlenmelerini sağlamak için harikadır. Çocukken lego ile "oynamaktan" her zaman hoşlandığımı biliyorum. Bu talimat, lego ve bir Raspberry Pi 3'ten (Raspi 3) bir FPV (Birinci Kişi Görünümü) tankını nasıl inşa ettiğimi açıklar. Mümkün olduğunca basit tutmaya çalıştım, sadece motorları lego ile çalışacak şekilde uyarladığınız adım, alet ve biraz beceri gerektiriyor.

Tank temelde iki motor kullanır, bu yüzden bir tank istemiyorsanız Romba tipi bir robot yapabilirsiniz, yapı farklı olacaktır ancak kablolama ve programlar tamamen aynı olacaktır.

### Bu proje temelde bir sürüm 1'dir, bu yüzden onu geliştirmek istiyorsanız (yapılacak çok yer var) lütfen bir yorum bırakın. Ayrıca tüm kodlar mevcut olacak, Github sayfamda linkler adımlarda

İhtiyacınız olacak şeyler:

  • Biraz Lego, etrafta yattığım bir Lego Technic Arctic Truck kullandım. Yine de hayal gücünüzü kullanın, bu sette raylar ve bunların çalışmasını sağlayacak her şey vardı, bu yüzden bu proje için iyi oldu.
  • Bir Raspberry Pi, bir Raspberry Pi 3 kullandım çünkü sahip olduğum şey buydu, farklı bir modeliniz varsa onu çalıştırabilirsiniz ancak GPIO pinleri farklı olacaktır.
  • Raspi 3 için Raspian takılı bir mikro SD kart.
  • Bir Pi kamera olan Adafruit, çeşitli uzunluklarda farklı şerit kabloların yanı sıra birkaç tane satıyor. Aliexpress'ten aldığım bir ürün, balıkgözü lensi var ve ucuzdu. Bir web kamerası kullanabilirsiniz, ancak bir Pi kamera kutudan çıkar çıkmaz çalışır.
  • Raspi 3'ü çalıştırmak için bir USB Güç Bankası, sanırım benimki 8 dolara mal oldu, 2000 mah, bu yüzden Raspi 3'ü bir süre çalıştırıyor.
  • Motorlara güç sağlamak için bir pil, ucuz bir RC arabadan çıkardığım bir pil kullandım, 7,2 volt, 500mah ve şarj edilebilir, bu yüzden oldukça iyi çalışıyor. 9V pil iyi olurdu ama o zaman bir konektöre de ihtiyacınız olacak.
  • GPIO pinlerini birbirine bağlamak için atlama kabloları, en az 5 dişi dişi.
  • L298N Motor Sürücü Kartı oldukça ucuzdur ve motorları ayrı ayrı kontrol etmenizi sağlar. Bunlar da bu tür bir uygulama için oldukça standarttır.
  • 2 x DC şanzıman motoru, bunlar Adafruit'ten iyi, aynısı Aliexpress'den de satın alınabilir

Çeşitli

  • Çift taraflı köpük bant
  • Tel
  • ısıyla daralan
  • kaset
  • lastik bantlar
  • mikro USB kablosu

DC şanzıman motorlarını benim yaptığım gibi uyarlayacaksanız, ihtiyacınız olacak:

  • kutu kesici
  • dairesel testere bıçağı ile dremel
  • mini dosyalar
  • 5 dakikalık epoksi

Raspi 3'ü kontrol etmek ve programlamak için kendi PC/dizüstü bilgisayarınıza da ihtiyacınız olacak.

Adım 1: Tankı İnşa Edin

Tankı İnşa Et
Tankı İnşa Et
Tankı İnşa Et
Tankı İnşa Et
Tankı İnşa Et
Tankı İnşa Et

Yani bunlar gerçekten talimat değil çünkü bu adım gerçekten kendi tasarımınız olmalı. Bunu inşa ederken göz önünde bulundurmam gereken bazı şeylerden bahsedeceğim, ancak asıl eğlence (gerçek Lego gibi) kendiniz bulmakta yatıyor. Fotoğrafları yardımcı olurlarsa kullanın, bu tasarımı geliştirmem uzun zaman aldı, sonunda basit yol en iyisiydi.

  1. Önce arka aksları oluşturun

    1. ve motorlar için yeterli alan bıraktığınızdan ve bileşenlerinizin içine sığabileceği kadar geniş olduğundan emin olun. Her şeyin aksların içine oturmasını istediğim için benimkinin oldukça geniş olmasını istedim, bu da tankın oldukça düşük olmasına ve eşyaların altına oturmasına ve kediyi kovalamasına izin verdi.
    2. Buradaki paletlerdeki tekerlekler, Lego çapraz aksına uyan bir deliğe sahiptir, bu nedenle motorlarınızın monte edileceği yerin burası olduğunu unutmayın.
    3. Arka ve öndeki palet için yeterli boşluğa ihtiyacınız var. Resim 2'de "L" parçalarının semetrik olmadığını, bunun parkur odasına izin verdiğini görebilirsiniz. Başlangıçta onları semetrik yaptım ama palet sürtünmeye devam etti ve bir noktada sıkıştı ve motor adaptörünü kırdı.
  2. Aksları oluşturduktan sonra bunları bağlayabilirsiniz.

    1. düzenli aralıklarla çapraz destekli uzun bitler kullanmak. Çapraz destekleri, bileşenlerin aralarına sığacak şekilde yerleştirdiğinizden emin olun, bu düşük bir profil tutmaya yardımcı olur.
    2. uzunluk, ne kadar parçanız olduğuna göre belirlenir. Bu parçada esneme yok, bu yüzden biraz gevşeklik gerekiyor. Lastik bir paletiniz varsa daha sıkı yapabilirsiniz. Ayrıca çalışan bir tekerlek güzel bir fikir ama genel olarak gerekli değil.
    3. Bu adım çok basitti ve sadece biraz deneme yanılma içeriyor.
  3. Motorlar esasen çift taraflı köpük bantla yapıştırılmıştır, bu nedenle yapışmaları için geniş bir yüzey sağlar.
  4. Yaptığım kamera montajı oldukça çöp, kesinlikle kendin yapmaya çalışmalısın. Kamerada hızlı seyahat ediyormuşsunuz gibi göründüğü için alçaktan hoşlanıyorum. Bu, kamerayı hareketli hale getirmek için bir veya iki servo ile yükseltmek için harika bir yer olurdu.

Umarım bu notlar yardımcı olur. Bu şeyi talimatı yazmadan önce yaptım ve şimdi onu parçalamakta biraz tereddüt ediyorum. Daha iyi bir tasarımın yapılabileceğine gerçekten inanıyorum, bu yüzden kendi geliştirmenizin en iyisi olacağını düşünüyorum. Tam bir rehber haline getirmemi istiyorsanız yorum bırakın, yeterli talep olursa yaparım.

Adım 2: DC Şanzıman Motoru - Lego Adaptörü

DC Şanzıman Motoru - Lego Adaptörü
DC Şanzıman Motoru - Lego Adaptörü
DC Şanzıman Motoru - Lego Adaptörü
DC Şanzıman Motoru - Lego Adaptörü
DC Şanzıman Motoru - Lego Adaptörü
DC Şanzıman Motoru - Lego Adaptörü

Yine, bunu yazmadan önce yaptım ve fotoğraf çekmedim. Sanırım bunu yapan bir sürü farklı öğretici var. Adafruit aslında bir adaptör satıyor, bu en iyi yol, ayrıca motor takozlarınızı yok etmenize gerek yok. Yine de Yeni Zelanda'dayım, bu yüzden Adafruit mevcut değil, ancak DIY:-). Yaptığım şey buydu (kötü diyagramlar için üzgünüm):

  1. Tüm aletlerinizi hazırlayın, biz plastik keseceğiz, bu yüzden bu çok zor olmayacak. Bir çift atölye gözlüğü kullandım çünkü kişisel olarak göz kürelerimin her tarafında küçük plastik parçalardan nefret ediyorum. Masamı dağıtmamak için yeşil kesme tahtalarından birini de kullandım.
  2. Böylece diyagram bir üst ve yan görünümü gösterir. Temel olarak gri, DC şanzıman motorundaki küçük beyaz kısımdır ve kırmızı, kestiğimiz yerdir. Üst görünümdeki kırmızı, aslında bir Lego çapraz aksı için bir kesit olması gerekiyordu. O malzemeyi çıkaracağız, böylece aks içeri rahatça oturacak. Bunu merkeze mümkün olduğunca yakın ve neredeyse en alta doğru kesmeye çalışın. İlk önce dremel'imdeki dairesel testere ucuyla kabaca kesmeye başladım, ardından mükemmel bir uyum elde edene kadar bir maket bıçağıyla uçları traş etmeye başladım.
  3. O ucu kestikten ve aks aşağı yukarı düz bir şekilde oturduktan sonra (yarım çatalda garip bir şekilde katlanmış gibi görünmelidir) Lego çapraz aksını epoksiye sokabilirsiniz. Herhangi bir epoksi uygulamadan önce sarı kasanın üzerine maskeleme bandı uyguladığınızdan emin olun. Motorun, şaftı yanlışlıkla kasaya yapıştırmamanız için. 5 dakikalık epoksiyi iyice karıştırın ve beyaz bit ve çapraz aksın üzerine kalın bir tabaka uygulayın, 1-2 mm kalınlığında bir kat arıyoruz. 5 dakikalık epoksi oldukça çabuk yapışkanlaşır ve kullanılamaz hale gelir, bu yüzden burada hızlı çalışın.
  4. Üzerine desent bir kat sürdüğünüzde ve epoksi akmıyorsa, yapmanız gerekir. Biraz çalışıyor, o yüzden dikkatli ol. Kauçuğa benzer bir kıvama geldiğinde fazla epoksiyi kolayca düzeltebilirsiniz, bu şekilde benimkinde güzel bir düz uç elde ettim.
  5. Gece boyunca kurumaya bırakın ve sabaha Lego DC dişli kutusu motorunuz olacaktır.

Adım 3: Kablolama

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Bu proje için kablolama oldukça basittir. GPIO pinlerimizi L298N motor kontrol cihazına bağlamak için 4 dişiden dişiye atlama kablosu ve Raspi 3'ün toprağını L298N motor kontrol cihazının toprağına bağlamak için bir erkekten dişiye atlama kablosu kullanacağız. Motorları L298N motor kontrolörüne bağlamak için de bir miktar kablo kullanacağız.

Raspi'de bu pin kombinasyonunu kullanmayı seçiyorum çünkü bunlar birlikte kümelenmiş. Yine de herhangi bir GPIO pini ve GND setini kullanmaktan çekinmeyin. Sadece kodda değiştirmeyi unutmayın.

Bağlantı şemasını kullanabilir veya aşağıdaki adımları takip edebilirsiniz:

Raspi 3 L298N

GND (pim 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pim 15) IN2

GPIO23 (pim 16) IN3

GPIO24 (pim 18) IN4

Motorlar ve montaj şekilleri için onları bu şekilde bağladım.

Out2, Out3 negatif

Out1, Out4 pozitif

Esasen olumsuz arkaya doğruydu ve olumlu ileriye doğruydu. Onları tam tersi şekilde alırsanız, tank sadece yazılımda düzeltilmesi kolay olan ters yönde hareket eder.

Adım 4: Programlama

Bu adım için, henüz yapmadıysanız birkaç şey ayarlamamız gerekecek.

  • ahududu
  • Python 2 veya 3
  • Git
  • MJPG-Streamer

Raspian Kurulumu

Öncelikle bir micro SD kartta Raspian'a ihtiyacımız var, bu yüzden en az 8GB'lık formatlanmış bir SD'ye sahip olmamız gerekiyor (Yalnızca 4GB kartınız varsa NOOBS lite'ı da yükleyebilirsiniz).

Raspian'ı kurmak için NOOBS kullanmanızı tavsiye ederim. Resmi bağlantı burada. Zip dosyasını bilgisayarınıza indirin ve dosyaları sd karta çıkarın. Dosya ve klasörlerin orada olduğundan ve bir noobs klasöründe olmadığından emin olun.

Bunu yaptıktan sonra, SD kartı Raspi 3'e takın, bir ekran (monitörünüz yoksa HDMI'lı bir TV iyi çalışır) ve bir klavye ve fare bağlayın.

Kurulum ekranının yüklendiğini görmeli, wifi'ye bağlanmalı (bu projenin çalışması için wifi gereklidir) ve yüklemelisin, iyi çalıştıkları için sadece varsayılan ayarları kullanıyorum.

Başsız mod için yapılandırma

Raspian yüklendikten ve Raspi 3'te oturum açtıktan sonra, Raspi 3'ü başsız modda çalışacak şekilde yapılandırmaya başlayabilirsiniz (yani ekran ve klavye yerine SSH kullanın). Sadece bir not sudo kullanmanız gerekecek, bu yüzden root şifresini bildiğinizden emin olun.

Bir terminal açın ve 'sudo raspi-config' yazın, resimlerdeki gibi mavi ve gri bir ekrana sahip olmalısınız. 'Arayüz seçenekleri'ne gidin, enter'a basın, ardından 'P2 SSH'ye gidin, enter'a basın ve 'evet' için tekrar girin, 'tamam' için tekrar girin.

Şimdi 'arayüz seçeneklerine' geri dönün ve kamerayı etkinleştirin.

Menüye geri dönün ve 'bitir'i seçmek için sağa basın ve girin.

Daha sonra IP adresimizi bulmamız gerekiyor, bunu terminale 'ifconfig' yazarak yapabilirsiniz. wlan0 (genellikle sonuncusu) ile başlayan bloğu bulun ve IP adresinizi not edin. İkinci satırda olmalı ve ev wifi ağınızı kullanıyorsanız bu 192.168.1. XX gibi görünmelidir.

Yapılandırmanın sonu harika

Ek yazılım yükleme

Bu yüzden, sahip olduğum komut dosyalarını çalıştırmak için python 2 veya 3'ün kurulu olması gerekecek. Eğer python öğrenmek istiyorsanız python 3 öğrenmenizi tavsiye ederim, farklar küçük ama python 3 artık daha yaygın kullanılıyor. Raspian ile önceden yüklenmiş olarak gelmeli, ancak iki kez kontrol etmeliyiz.

'Python --version' yazın, 'Python 2.7.13' gibi bir çıktı almalısınız, bu da python 2'nin kurulu olduğu anlamına gelir. Python 3'ünüz olup olmadığını kontrol etmek için 'python3 --version' yazın ve benzer bir çıktı almalısınız. Python 2 veya 3'e sahip değilseniz, sırasıyla 'sudo apt-get install python' veya 'sudo apt-get install python3' yazabilirsiniz.

Kodu almak için Git'e de ihtiyacınız olacak, yine önceden yüklenmiş olmalıdır. Elinizde yoksa 'sudo apt-get install git'i kontrol etmek ve kullanmak için 'git --version' yazın.

MJPG-Streamer'ı Yükleme

MJPG-Streamer, Picamera'ya erişmemin yollarından biri. Bir tarayıcı aracılığıyla kameraya erişmenizi ve görüntüyü değiştirmenizi sağlar. Koddan rahatsızsanız, muhtemelen kamerayı kullanmanın daha güzel ve kolay yolu budur.

  1. Yine Git'i kullanacağız. Raspi 3 terminaline 'git klonu https://github.com/jacksonliam/mjpg-streamer.git' yazın. Yazılım indirilecek, çok uzun sürmüyor.
  2. Muhtemelen bu noktada yapılacak en iyi şey 'README.md' dosyasına bakmak ve kurulum talimatlarını takip etmektir. Benim için sorunsuz çalıştılar. Herhangi bir sorunuz varsa, yorumlarda bırakın, yardımcı olmaya çalışacağım

Kurulduktan sonra çalıştırabilirsiniz. Bunu nasıl yapacağımı aşağıda anlatacağım.

Hepsini bir araya koy

Harika, şimdi gitmeye hazır olmalıyız. Raspi 3'ünüzün açık olduğundan emin olun. PC'nizde/dizüstü bilgisayarınızda bir terminal açın (linux veya Mac kullandığınızı varsayıyorum, Windows kullanıyorsanız macun indirmeniz gerekecek. Bunun nasıl kullanılacağı hakkında çevrimiçi birçok öğretici var, endişelenmeyin, kolay) ve 'ssh [email protected]. XX (varsayılan kullanıcı adını değiştirmediğinizi varsayarak) veya daha önce bulduğumuz IP adresinizi yazın. Parolanızı yazın (bu kesinlikle varsayılan olmamalıdır). Harika, şimdi PC/dizüstü bilgisayarınız aracılığıyla Raspi 3'te bir terminal oturumundasınız.

Bu nedenle, 'git klonu https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… terminal türünde, dosyalar gerçekten küçük olduğundan bu işlem yalnızca birkaç saniye sürer. Daha sonra 'cd Raspi-3-FPV-Lego-Tank' kullanarak dizine gidebilir, şimdi 'ls' yazın ve şu 5 dosyayı gördüğünüzden emin olun: 'demo.py', 'drive.py', 'Picamera_tank. py, 'finished.jpg' ve 'README.md'. Herhangi bir güncelleme için benioku dosyasına baktığınızdan emin olun.

demo.py

Bu py betiği, kablolamanızın çalıştığını test etmek için harika. Sadece motorları ileri geri sürmek için farklı kombinasyonlardan geçer.

çalıştırmak için 'python demo.py' kullanın. Tamamlanması yarım dakika kadar sürer.

sürücü.py

Bu, tankı kontrol etmek için çalıştıracağınız py betiğidir. GPIO pin eşlemesini kurar ve hareket için def'ler oluşturur. Ayrıca, tankı kontrol etmek için tuşa basışları da yakalar.

Çalıştırmak için 'python drive.py' kullanın. Bir saniye verin, terminaliniz boş kalmalı.

hareket etmek için 'w, a, s, d' ve durdurmak için boşluk tuşunu kullanın. Programı kapatmaya hazır olduğunuzda 'n' tuşuna basın.

Picamera_tank.py

Bu benim kamera için bir yayıncı versiyonum. Bu yalnızca python 3 ile çalışır (yani çalıştırmak için 'python3 Picamera_tank.py' kullanın). Bu, ikinci bir terminal penceresinde çalıştırılabilir veya aynı terminalde arka planda çalıştırmak için ctrl-z tuşlarına basıp bg yazabilirsiniz. Şahsen ayrı bir terminal kullanmayı seviyorum.

Ekstra bir şey yüklemeniz gerekmez, ancak pip kullanıyorsanız. Herhangi bir sorunla karşılaşırsanız, yorum bırakın.

Bu Raspi 3'te çalıştığında, PC/dizüstü bilgisayarınızın tarayıcısına giriş yapın ve 192.168.1. XX:8000'e gidin (daha önce bulduğumuz IP). Kamera çıkışını görmelisiniz. Resmin döndürülmesi gerekiyorsa, py betiğini düzenlemeniz gerekecektir. Alt kısımda bir yorum var, aşağıda ihtiyacınız olan dönüş derecelerini girin. Benim için kameram baş aşağı olduğu için 180 oldu.

MJPG-Streamer'ı çalıştırmak için

MJPG-Streamer'ı çalıştırmak için 'mjpg-streamer/mjpg-streamer-experimental' klasörüne gidip './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"' komutunu çalıştırıyorum.

Bu çalıştığında 192.168.1. XX:8080'e (daha önce bulduğumuz IP) gidin ve akışa tıklayın. Diğer seçeneklerle biraz oynayın, işinize yarayabilir.

Ve bu kadar. Artık kendi FPV tankınızı, wifi'nizi alabileceğiniz her yere götürebilmelisiniz. İyi eğlenceler.

Adım 5: Bitmiş Ürün

Ve işte hepsinin çalıştığı bir video.

Bazı testler sırasında güç bankası bittiğinde videoda çalıştırmak için Raspi 3'ü dizüstü bilgisayarıma taktığıma dair bir not. Yaklaşık bir saat sürdü ve bu beni oldukça mutlu etti.

Lütfen varsa yorumlarınızı bırakın ve umarım bu Raspberry Pi 3 FPV Lego Tankını yapmaktan zevk alırsınız.

Teşekkürler, Ben

Önerilen: