Mündəricat:

Raspberry Pi 3 FPV Lego Tankı: 5 addım (şəkillərlə birlikdə)
Raspberry Pi 3 FPV Lego Tankı: 5 addım (şəkillərlə birlikdə)

Video: Raspberry Pi 3 FPV Lego Tankı: 5 addım (şəkillərlə birlikdə)

Video: Raspberry Pi 3 FPV Lego Tankı: 5 addım (şəkillərlə birlikdə)
Video: Build a Raspberry Pi RC Tank driven by an 8BitDo Controller - GoBILDA Outlaw Chassis Kit Assembly 2024, Iyul
Anonim
Raspberry Pi 3 FPV Lego Tankı
Raspberry Pi 3 FPV Lego Tankı

Lego, uşaqlara eyni zamanda əylənmələrinə icazə verərkən işlərin necə işlədiyini öyrətmək üçün əladır. Bilirəm ki, uşaqkən lego ilə "oynamaq" həmişə xoşuma gəlirdi. Bu təlimat, lego və bir Raspberry Pi 3 (Raspi 3) dən bir FPV (First Person View) tankı necə qurduğumu təsvir edir. Mümkün qədər sadə saxlamağa çalışdım, yalnız motorları lego ilə işləməyə uyğunlaşdırdığınız addım alətlər və bir az bacarıq tələb edir.

Tank əsasən iki mühərrikdən istifadə edir, buna görə də bir tank istəmirsinizsə, Romba tipli bir robot edə bilərsiniz, quruluş fərqli olacaq, ancaq naqillər və proqramlar eyni olacaq.

### Bu layihə əsasən 1 -ci versiyadır, ona görə də onu yaxşılaşdırmaq istəyirsinizsə (bunun üçün çox yer var) zəhmət olmasa bir şərh yazın. Həm də bütün kodlar mövcud olacaq, Github səhifəmdə bağlantılar addımlardadır

Ehtiyac duyacağınız şeylər:

  • Bəzi Lego, ətrafında yatdığım bir Lego Technic Arctic Truck istifadə etdim. Təsəvvürünüzdən istifadə edin, bu dəstin parçaları və bunları işlətmək üçün hər şey var idi, buna görə də bu layihə üçün yaxşı idi.
  • Raspberry Pi, mən Raspberry Pi 3 istifadə etdim, çünki məndə belə idi, fərqli bir modeliniz varsa onu işlədə bilərsiniz, ancaq GPIO pinləri fərqli olacaq.
  • Raspi 3 üçün Raspian quraşdırılmış mikro SD kart.
  • A Pi kamerası olan Adafruit, müxtəlif uzunluqlarda bir neçə, eləcə də fərqli lent kabelləri satır. Aliexpress -dən alınan mina, balıq gözü lensinə malikdir və ucuz idi. Bir veb kameradan istifadə edə bilərsiniz, ancaq bir Pi kamerası qutudan işləyir.
  • Raspi 3 -ü gücləndirmək üçün USB Güc Bankı, mənim fikrimcə, 8 dollara başa gəlir, 2000mahı bir müddət Raspi 3 -ü idarə edir.
  • Mühərrikləri gücləndirmək üçün bir batareya, ucuz bir RC avtomobilindən çıxardığım bir batareyadan istifadə etdim, 7.2 volt, 500 mah və şarj edilə bilər, buna görə də olduqca yaxşı işləyir. 9V -lik bir batareya yaxşı olardı, ancaq bir konnektora ehtiyacınız olacaq.
  • GPIO sancaqlarını bir -birinə bağlamaq üçün ən azı 5 dişi ilə dişi keçid kabelləri.
  • L298N Motor Sürücü Kartı, bunlar olduqca ucuzdur və ayrı -ayrı mühərrikləri idarə etməyə imkan verir. Bunlar da bu tip tətbiqlər üçün olduqca standartdır.
  • 2 x DC sürət qutusu motoru, Adafruit -dən olanlar yaxşıdır, eynisini Aliexpress -dən də almaq olar

Müxtəlif

  • İki tərəfli köpük lent
  • tel
  • istilik daralır
  • tape
  • rezin lentlər
  • mikro USB kabeli

DC sürət qutusu mühərriklərini mənim kimi uyğunlaşdıracaqsınızsa, sizə lazım olacaq:

  • qutu kəsici
  • dairəvi mişar bıçağı olan dremel
  • mini fayllar
  • 5 dəqiqəlik epoksi

Raspi 3 -ü idarə etmək və proqramlaşdırmaq üçün öz PC/dizüstü kompüterinizə də ehtiyacınız olacaq.

Addım 1: Tankı qurun

Tankı qurun
Tankı qurun
Tankı qurun
Tankı qurun
Tankı qurun
Tankı qurun

Beləliklə, bunlar həqiqətən təlimat deyil, çünki bu addım həqiqətən öz dizaynınız olmalıdır. Bunu qurarkən düşünməli olduğum bəzi şeylərdən bəhs edəcəyəm, amma əsl əyləncə özünüz üçün tapmaqdır (əsl Lego kimi). Fotoşəkillər köməkçi olarsa istifadə edin, bu dizaynı inkişaf etdirmək üçün illər lazım oldu, nəticədə sadə yol ən yaxşısı idi.

  1. Əvvəlcə arxa oxları düzəldin

    1. və mühərriklər üçün kifayət qədər yer buraxdığınızdan və komponentlərin içəriyə sığması üçün onları kifayət qədər geniş etdiyinizə əmin olun. Aksların içərisində oturan hər şeyi istədiyim kimi, mənimki də olduqca geniş olmasını istədim, bu, tankın əşyaların altına düşməsinə və pişiyi qovmasına imkan verdi.
    2. Buradakı yollardakı təkərlərdə Lego çarpaz oxuna uyğun bir çuxur var, buna görə də mühərriklərinizin buraya quraşdırılacağını unutmayın.
    3. Parçanın arxa və ön hissəsində kifayət qədər boşluq lazımdır. Şəkil 2 -də "L" peetsinin semetrik olmadığını görə bilərsiniz, bu, trek otağına icazə vermək üçündür. Əvvəlcə semetrik idi, amma iz sürtməyə davam etdi və bir anda sıxışdı və motor adapterini sındırdı.
  2. Aksları qurduqdan sonra onları birləşdirə bilərsiniz

    1. müntəzəm olaraq çarpaz dayaqlı uzun bitlərin istifadəsi. Kompozisiyaların aralarına sığması üçün çarpaz dayaqların arasına boşluq qoymağınızdan əmin olun ki, bu da aşağı profili saxlamağa kömək edir.
    2. uzunluğu nə qədər iziniz olduğuna görə təyin olunacaq. Bu trekin heç bir uzanması yoxdur, buna görə bir az gevşekliyə ehtiyac var. Bir rezin iziniz varsa, onu daha sıx edə bilərsiniz. Qaçış təkəri də gözəl bir fikirdir, amma ümumiyyətlə buna ehtiyac yoxdur.
    3. Bu addım çox kiçik idi və yalnız bir az sınaq və səhvdən ibarətdir.
  3. Mühərriklər əsasən iki tərəfli köpük bantla yapışdırılır, buna görə də yapışdırılmaları üçün geniş bir səth təmin edilir.
  4. Hazırladığım kamera yuvası olduqca zibildir, mütləq özünüz sınamalısınız. Kamerada sürətlə səyahət etdiyiniz kimi göründüyü üçün çox bəyənirəm. Kameranı hərəkətə gətirmək üçün bir və ya iki servo ilə təkmilləşdirmək üçün sərin bir yer olardı.

İnşallah bu qeydlər faydalı olar. Təlimatlı yazmadan əvvəl bu şeyi qurdum və indi gedərkən onu ayırmaqda bir az tərəddüd edirəm. Daha yaxşı bir dizayn edilə biləcəyinə həqiqətən inanıram, buna görə öz inkişafınızın ən yaxşı olacağını düşünürəm. Tam bir bələdçi halına gətirmək istəsəniz şərh yazın, tələbat kifayət qədər olarsa bunu edəcəm.

Addım 2: DC Şanzıman Motoru Lego Adaptörünə

DC Şanzıman Motoru Lego Adaptörünə
DC Şanzıman Motoru Lego Adaptörünə
DC Şanzıman Motoru Lego Adaptörünə
DC Şanzıman Motoru Lego Adaptörünə
DC Şanzıman Motoru Lego Adaptörünə
DC Şanzıman Motoru Lego Adaptörünə

Yenə də bunu yazmazdan əvvəl etdim və heç bir şəkil çəkmədim. Düşünürəm ki, bunu edən bir çox fərqli dərs var. Adafruit əslində bir adapter satır, bu, ən yaxşı yoldur, üstəlik, motor dayaqlarınızı məhv etməyinizə ehtiyac yoxdur. Mən NZdayam, buna görə Adafruit mövcud deyil, amma DIY:-). Etdiyim budur (pis diaqramlara görə üzr istəyirəm):

  1. Bütün alətlərinizi hazırlayın, plastik kəsəcəyik, buna görə çətin olmayacaq. Bir neçə atelye eynəyi istifadə etdim, çünki şəxsən gözümün hər tərəfindəki kiçik plastik parçalara nifrət edirəm. Mən də yaşıl kəsmə lövhələrindən birini istifadə etdim, buna görə masamı qarışdırmadım.
  2. Beləliklə, diaqram üst və yan görünüşü göstərir. Əsasən, boz DC şanzıman motorunun kiçik ağ hissəsidir və qırmızı kəsdiyimiz yerdir. Üst görünüşdəki qırmızı, əslində bir Lego çarpaz oxu üçün bir kəsişmə olduğu güman edilir. Bu materialı çıxaracağıq ki, ox içəriyə möhkəm otursun. Bunu mərkəzə yaxın və mümkün qədər aşağıya doğru kəsməyə çalışın. Əvvəlcə dremelimdəki dairəvi mişar ucu ilə təxminən kobud kəsmə ilə başladım, sonra mükəmməl uyğunlaşana qədər bir qutu kəsici ilə bit qırxmağa başladım.
  3. Bir az kəsildikdən və ox az və ya çox düz oturduqdan sonra (yarım çəngəl qatlanmış qəribə bir görünüşə bənzəməlidir) Lego çarpaz oxunu epoksiyaya sala bilərsiniz. Hər hansı bir epoksi tətbiq etməzdən əvvəl sarı korpusun üzərinə maska bantı tətbiq etdiyinizə əmin olun. mili gövdəyə yapışdırmamaq üçün. 5 dəqiqəlik epoksi yaxşıca qarışdırın və ağ parçaya və eninə oxa qalın bir təbəqə tətbiq edin, 1-2 mm qalınlığında bir palto axtarırıq. 5 dəqiqəlik epoksi yapışqan və yararsız hala düşür, buna görə də burada tez işləyin.
  4. Üzünüzə layiqli bir palto geyindiyinizdə və epoksi işləmədikdə bunu etməlisiniz. Bir az işləyir, buna görə diqqətli olun. Kauçuk kimi bir tutarlılığa qurulduqdan sonra, artıq epoksi parçalarını asanlıqla kəsə bilərsiniz, mənim üzərimdə gözəl bir düz uc var.
  5. Gecə qurudun və səhərə qədər Lego DC sürət qutusu motorunuz olmalıdır

Addım 3: Kabel bağlayın

Bağlama
Bağlama
Bağlama
Bağlama
Bağlama
Bağlama

Bu layihənin naqilləri olduqca sadədir. GPIO sancaqlarımızı L298N mühərrik nəzarətçisinə bağlamaq üçün 4 dişi -dişi tullanan kabelindən istifadə edəcəyik və Raspi 3 -ün torpağını L298N motor nəzarətçisinin torpağına bağlamaq üçün kişidən dişi tullanan kabelini istifadə edəcəyik. Mühərrikləri L298N motor nəzarətçisinə bağlamaq üçün bir az tel istifadə edəcəyik.

Raspi -də bu sancaqlar birləşməsini istifadə etməyi seçirəm, çünki onlar bir yerə yığılır. Hər hansı bir GPIO pin və GND istifadə etməkdən çekinmeyin. Yalnız kodu dəyişdirməyi unutmayın.

Bağlama sxemindən istifadə edə və ya aşağıdakı addımları izləyə bilərsiniz:

Raspi 3 L298N

GND (pin 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pin 15) IN2

GPIO23 (pin 16) IN3

GPIO24 (pin 18) IN4

Mühərriklər və montaj üsulları üçün onları bu şəkildə bağladım.

Çıxış2, Çıxış3 mənfi

Çıxış1, Çıxış4 müsbət

Əslində mənfi arxa tərəfə, müsbət isə irəli idi. Onları digər tərəfdən alsanız, tank sadəcə proqramda düzəldilməsi asan olan əks istiqamətdə hərəkət edir.

Addım 4: Proqramlaşdırma

Buna görə də, bu addımı atmaq üçün bir neçə şeyi qurmalıyıq.

  • Raspian
  • Python 2 və ya 3
  • Git
  • -j.webp" />

Raspianın quraşdırılması

Birincisi, bir mikro SD kartda Raspian -a sahib olmalıyıq, buna görə ən az 8 GB formatlı bir SD -yə sahib olmalısınız (yalnız 4 GB kartınız varsa NOOBS lite də quraşdıra bilərsiniz).

Raspian qurmaq üçün NOOBS istifadə etməyi məsləhət görürəm. Rəsmi link burada. Zip faylını kompüterinizə yükləyin və faylları sd kartına çıxarın. Faylların və qovluqların noobs qovluğunda olmadığından əmin olun.

Bunu etdikdən sonra, SD kartı Raspi 3 -ə qoşun, bir ekranı (monitorunuz yoxdursa HDMI ilə TV yaxşı işləyir) və klaviatura ilə siçanı bağlayın.

Quraşdırma ekran yükünü görməlisiniz, wifi -yə qoşulmalısınız (bu layihənin işləməsi üçün wifi lazımdır) və quraşdırın, yaxşı işlədikləri üçün standart parametrləri istifadə edirəm.

Başsız rejim üçün konfiqurasiya

Beləliklə, Raspian quraşdırıldıqdan və Raspi 3 -ə daxil olduqdan sonra Raspi 3 -ü başsız rejimdə işləməyə başlaya bilərsiniz (yəni ekran və klaviatura yerinə SSH istifadə edin). Sadəcə bir sudo istifadə etməyiniz lazım olacaq, buna görə kök parolunu bildiyinizə əmin olun.

Bir terminal açın və 'sudo raspi-config' yazın, şəkillərdəki kimi mavi və boz bir ekrana sahib olmalısınız. 'Interfacing options' a keçin, enter düyməsini basın, sonra 'P2 SSH' ə keçin, enter düyməsini basın və 'yes' üçün yenidən daxil edin, 'OK' üçün yenidən daxil edin.

İndi 'interfeys seçimlərinə' qayıdın və kameranı işə salın.

Menyuya qayıdın, sağa basın və 'bitirməyi' seçin.

Sonra IP ünvanımızı tapmalıyıq, bunu terminala 'ifconfig' yazaraq edə bilərsiniz. Wlan0 ilə başlayan bloku tapın (ümumiyyətlə sonuncu) və IP ünvanınızı qeyd edin. İkinci sətirdə olmalı və ev wifi istifadə edirsinizsə 192.168.1. XX kimi bir şeyə bənzəməlidir.

Konfiqurasiyanın sonu əladır

Əlavə proqram təminatının quraşdırılması

Beləliklə, əlimdəki skriptləri işə salmaq üçün python 2 və ya 3 yüklü olmalısınız. Python öyrənmək istəyirsinizsə, python 3 öyrənməyi məsləhət görürəm, fərqlər azdır, amma python 3 indi daha geniş istifadə olunur. Raspian ilə əvvəlcədən quraşdırılmalıdır, ancaq iki dəfə yoxlamalıyıq.

'Python -versiya' yazın, 'Python 2.7.13' kimi bir çıxış almalısınız, bu da python 2 -nin quraşdırıldığını bildirir. Python 3 -ün olub olmadığını yoxlamaq üçün sadəcə 'python3 --version' yazın və oxşar bir nəticə əldə etməlisiniz. Python 2 və ya 3 yoxdursa, müvafiq olaraq 'sudo apt-get install python' və ya 'sudo apt-get install python3' yaza bilərsiniz.

Kodu əldə etmək üçün Git -ə də ehtiyacınız olacaq, yenə də əvvəlcədən quraşdırılmalıdır. Əgər yoxsa 'sudo apt-get install git' yoxlamaq və istifadə etmək üçün 'git --version' yazın.

MJPG-Streamer-in quraşdırılması

MJPG-Streamer, Picameraya daxil olmağın yollarından biridir. Brauzer vasitəsilə kameraya daxil olmaq və görüntünü idarə etmək imkanı verir. Koddan narahat olsanız, yəqin ki, kameradan istifadə etmək daha gözəl və asan bir yoldur.

  1. Yenə Git -dən istifadə edəcəyik. Raspi 3 terminalına 'git clone https://github.com/jacksonliam/mjpg-streamer.git' yazın. Proqram yüklənəcək, çox vaxt çəkmir.
  2. Yəqin ki, bu nöqtədə ediləcək ən yaxşı şey 'README.md' faylına baxmaq və quraşdırma təlimatlarına əməl etməkdir. Mənim üçün problemsiz işlədilər. Hər hansı bir sualınız varsa, bunları şərhlərdə buraxın və çalışacam və kömək edim

Quraşdırıldıqdan sonra işə sala bilərsiniz. Bunu necə edəcəyimi aşağıda izah edəcəyəm.

Hamısını bir araya gətirmək

Əla, indi getməyə hazır olmalıyıq. Raspi 3 -ün açıldığından əmin olun. Kompüterinizdə/dizüstü kompüterinizdə bir terminal açın (linux və ya Mac istifadə etdiyinizi düşünürəm, əgər Windows istifadə edirsinizsə macun yükləməli olacaqsınız. Ondan necə istifadə olunacağına dair onlayn dərsliklər çoxdur, narahat olmayın, asandır) və yazın 'ssh [email protected]. XX (varsayılan istifadəçi adını dəyişmədiyinizi güman edirik) və ya əvvəllər tapdığımız IP ünvanınız nə idi. Şifrənizi daxil edin (bu, mütləq olaraq defolt olmamalıdır). Əla, indi PC/dizüstü kompüteriniz vasitəsilə Raspi 3 -də bir terminal sessiyasındasınız.

Beləliklə, 'git clone' tipli terminalda https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Bu fayllar həqiqətən kiçik olduğu üçün bir neçə saniyə çəkməlidir. Daha sonra 'cd Raspi-3-FPV-Lego-Tank' istifadə edərək qovluğa gedə bilərsiniz, indi 'ls' yazın və bu 5 faylı gördüyünüzdən əmin olun: 'demo.py', 'drive.py', 'Picamera_tank. py, 'bitmiş.jpg' və 'README.md'. Hər hansı bir yeniləmə üçün oxumağa baxdığınızdan əmin olun.

demo.py

Bu py skript, kabellərinizin işlədiyini yoxlamaq üçün əladır. Yalnız mühərrikləri geri və irəli sürməyin fərqli birləşmələrindən keçir.

çalıştırmak üçün 'python demo.py' istifadə edin. Tamamlanması yarım dəqiqə çəkir.

sürücü.py

Bu, tankı idarə etmək üçün işləyəcəyiniz py skriptidir. GPIO pin xəritəsini qurur və hərəkət etmək üçün defs yaradır. Tankı idarə etmək üçün əsas düymələri də ələ keçirir.

İşlətmək üçün 'python drive.py' istifadə edin. Bir saniyə verin, terminalınız boş qalmalıdır.

hərəkət etmək üçün 'w, a, s, d' və dayandırmaq üçün boşluq istifadə edin. Proqramı bağlamağa hazır olduğunuzda 'n' düyməsini basın.

Picamera_tank.py

Bu kamera üçün bir axın versiyasıdır. Bu yalnız python 3 ilə işləyir (yəni çalıştırmak üçün 'python3 Picamera_tank.py' istifadə edin). Bu ikinci bir terminal pəncərəsində işlədilə bilər və ya eyni terminalda arxa planda çalıştırmak üçün ctrl-z düymələrini basa və bg yaza bilərsiniz. Şəxsən mən ayrı bir terminaldan istifadə etməyi sevirəm.

Əlavə bir şey yükləməməlisiniz, ancaq pip istifadə edirsinizsə. Hər hansı bir problemlə qarşılaşsanız, şərh yazın.

Bu Raspi 3 -də işlədikdən sonra PC/dizüstü kompüterinizin brokerinə daxil olun və 192.168.1. XX: 8000 (əvvəllər tapdığımız IP) ünvanına daxil olun. Kamera çıxışını görməlisiniz. Şəklin döndürülməsinə ehtiyac varsa, py skriptini düzəltməlisiniz. Aşağıya yaxın bir şərh var, aşağıda ehtiyacınız olan fırlanma dərəcələrini daxil edin. Kameram tərs olduğu üçün mənim üçün 180 idi.

MJPG-Streamer-i işə salmaq üçün

-j.webp

İşlədikdən sonra 192.168.1. XX: 8080 -ə (əvvəllər tapdığımız IP) gedin və axını vurun. Digər variantlarla oynayın, bunlar sizin üçün faydalı ola bilər.

Və bu qədər. Wi -Fi -nı əldə edə biləcəyiniz yerdə öz FPV tankınızı idarə edə biləcəksiniz. Əylənin.

Addım 5: Hazır məhsul

Və burada hamısının işlədiyi bir video var.

Bəzi testlər zamanı güc bankı tükəndiyi üçün videoda onu gücləndirmək üçün dizüstü kompüterimə Raspi 3 -ü qoşduğumu qeyd etmək kifayətdir. Təxminən bir saat davam etdi və çox sevindim.

Zəhmət olmasa, şərhlərinizi buraxın və inşallah bu Raspberry Pi 3 FPV Lego Tankını etməkdən zövq alırsınız.

Təşəkkürlər, Ben

Tövsiyə: