Съдържание:

Raspberry Pi 3 FPV Lego Tank: 5 стъпки (със снимки)
Raspberry Pi 3 FPV Lego Tank: 5 стъпки (със снимки)

Видео: Raspberry Pi 3 FPV Lego Tank: 5 стъпки (със снимки)

Видео: Raspberry Pi 3 FPV Lego Tank: 5 стъпки (със снимки)
Видео: Build a Raspberry Pi RC Tank driven by an 8BitDo Controller - GoBILDA Outlaw Chassis Kit Assembly 2024, Юли
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Lego е чудесно за обучение на децата как работят нещата, като им позволява да се забавляват едновременно. Знам, че винаги съм обичал да играя с лего, когато бях малък. Тази инструкция описва как изградих резервоар за FPV (изглед от първо лице) от лего и Raspberry Pi 3 (Raspi 3). Опитах се да го направя възможно най -опростен, само стъпката, в която адаптирате двигателите за работа с лего, изисква инструменти и малко умения.

Резервоарът използва основно два двигателя, така че ако не искате резервоар, можете да направите робот тип Romba, конструкцията ще бъде различна, но окабеляването и програмите ще бъдат абсолютно еднакви.

### Този проект е основно версия 1, така че ако искате да го подобрите (за което има много място за правене), моля, оставете коментар. Също така целият код ще бъде достъпен, на моята страница Github, връзките са в стъпките

Нещата, от които се нуждаете:

  • Някакво Lego, използвах Lego Technic Arctic Truck, който лежах наоколо. Използвайте въображението си обаче, този комплект имаше писти и всичко, за да работят, така че беше добре за този проект.
  • Raspberry Pi, използвах Raspberry Pi 3, защото това е, което имах, ако имате различен модел, може да го накарате да работи, но GPIO щифтовете ще се различават.
  • Микро SD карта с инсталиран Raspian, за Raspi 3.
  • Камера Pi, Adafruit продава няколко, както и различни лентови кабели с различна дължина. Купена мина от Aliexpress, има обектив с рибено око и беше евтина. Възможно е да можете да използвате уеб камера, но Pi камерата работи нестандартно.
  • USB Power Bank за захранване на Raspi 3, мисля, че моята струва 8 долара, нейната 2000mah, така че работи Raspi 3 за известно време.
  • Батерия за захранване на двигателите, използвах батерия, която извадих от евтина RC кола, тя е 7,2 волта, 500 мач и се презарежда, така че работи доста добре. 9V батерия би била добра, но тогава ще ви трябва и конектор.
  • Джъмперни кабели, за свързване на GPIO щифтове заедно, поне 5 женски към женски.
  • L298N Board Driver Driver, те са доста евтини и ви позволяват да управлявате отделно двигателите. Те също са доста стандартни за този тип приложения.
  • 2 x DC скоростна кутия, тези от Adafruit са добри, точно същият може да се купи и от Aliexpress

Разни

  • Двустранна лента от пяна
  • тел
  • термосвиваемо
  • лента
  • гумени ленти
  • микро USB кабел

Ако ще адаптирате моторите на DC скоростната кутия, както аз направих, ще ви трябва:

  • резачка за кутии
  • dremel с диск за циркулярен трион
  • мини файлове
  • 5 -минутен епоксид

Ще ви е необходим и собствен компютър/лаптоп за управление и програмиране на Raspi 3.

Стъпка 1: Изградете резервоара

Изградете резервоара
Изградете резервоара
Изградете резервоара
Изградете резервоара
Изградете резервоара
Изградете резервоара

Така че това всъщност не са инструкции, защото тази стъпка наистина трябва да бъде ваш собствен дизайн. Ще говоря за някои от нещата, които трябваше да взема предвид при изграждането на това, но истинското забавление се крие в това да разберете сами (подобно на действителното Lego). Използвайте снимките, ако са полезни, отне ми години, за да разработя този дизайн, в крайна сметка простият път беше най -добрият.

  1. Първо изградете задните оси

    1. и не забравяйте да оставите достатъчно място за двигателите и да ги направите достатъчно широки, за да можете компонентите да се поберат вътре. Исках моята да е доста широка, тъй като исках всичко, което се намира вътре в осите, това позволи на резервоара да е доста нисък и да гони под котките.
    2. Колелата на коловозите тук имат отвор, който пасва на напречна ос Lego, така че имайте предвид, че тук ще монтират вашите двигатели.
    3. Нуждаете се от достатъчно пространство за пистата отзад и отпред. Можете да забележите на снимка 2, че пиковете "L" не са семетрични, това е, за да се даде възможност за място за песни. Първоначално ги имах семетрични, но пистата продължаваше да се търка и в един момент се задръсти и счупи адаптера на двигателя.
  2. След като направите осите, можете да ги свържете

    1. използване на дълги битове с кръстосани опори на редовни интервали. Уверете се, че сте поставили напречните опори, така че компонентите да се поберат помежду им, това помага да се запази нисък профил.
    2. дължината ще се определя от това колко писта имате. Тази писта няма разтягане, така че е необходимо малко отпускане. Ако имате гумена писта, можете да я направите по -стегната. Също така бягащото колело е добра идея, но като цяло не е необходимо.
    3. Тази стъпка беше дребнаво напред и просто включва малко опити и грешки.
  3. Двигателите по същество са залепени с двустранна лента от пяна, така че да се осигури голяма повърхност, върху която да се залепят.
  4. Монтажът на камерата, който направих, е доста боклук, определено трябва да опитате и да направите свой собствен. Харесва ми ниско, тъй като изглежда, че пътувате бързо с камерата. Това би било готино място за надграждане със серво или две, за да направи камерата подвижна.

Дано тези бележки са полезни. Създадох това нещо, преди да напиша инструкциите и малко се колебая да го разглобя сега, когато върви. Наистина вярвам, че може да се направи по -добър дизайн, така че мисля, че вашето собствено развитие би било най -доброто. Оставете коментар, ако искате да го направя в пълно ръководство, ако има достатъчно търсене, ще го направя.

Стъпка 2: DC мотор на скоростната кутия към Lego адаптер

DC мотор на скоростната кутия към адаптер Lego
DC мотор на скоростната кутия към адаптер Lego
DC мотор на скоростната кутия към адаптер Lego
DC мотор на скоростната кутия към адаптер Lego
DC мотор на скоростната кутия към адаптер Lego
DC мотор на скоростната кутия към адаптер Lego

Отново направих това преди да пиша и не направих никакви снимки. Мисля, че има куп различни уроци, които правят това. Adafruit всъщност продават адаптер, това е най -добрият начин, плюс това не е нужно да разрушавате опорите на двигателя. Аз съм в НЗ, въпреки че Adafruit не е наличен, но DIY е:-). Ето какво направих (съжалявам за лошите диаграми):

  1. Подгответе всичките си инструменти, ще режем пластмаса, така че това няма да е трудно. Използвах чифт очила за работилници, защото лично мразя малки пластмасови частици по очните ябълки. Използвах и една от тези зелени дъски за рязане, за да не объркам масата си.
  2. Така че диаграмата показва изглед отгоре и отстрани. По принцип сивото е малката бяла част на двигателя на DC скоростната кутия, а червеното е мястото, където режем. Червеният изглед отгоре всъщност трябва да бъде напречно сечение за напречна ос Lego. Ще премахнем този материал, така че оста да приляга плътно вътре. Опитайте се да изрежете това възможно най -близо до центъра и почти точно до дъното. Започнах първо с грубо рязане с циркулярния трион на моя дремел, след това започнах да бръсна парченца с резачка за кутии, докато постигна перфектно прилягане.
  3. След като изрежете тази част и оста се впише повече или по -малко права (тя трябва да изглежда като странно сгъната наполовина вилица), можете да нанесете епоксидната смола на напречната ос Lego. Преди да нанесете епоксидна смола, не забравяйте да поставите маскираща лента върху жълтия корпус на двигателя, така че да не прилепвате внимателно вала към корпуса. Смесете добре 5-минутния епоксид и нанесете дебел слой върху бялата част и напречната ос, търсим слой с дебелина 1-2 мм. 5 -минутен епоксид бързо става лепкав и неизползваем, така че работете бързо тук.
  4. След като нанесете десентен слой и епоксидът не тече, трябва да сте готови. Работи малко, така че бъдете внимателни. След като се настрои на консистенция като гума, можете лесно да отрежете излишната епоксидна смола, така получих хубав плосък край на моя.
  5. Оставете го да изсъхне през нощта и до сутринта трябва да имате мотор на редуктор Lego DC

Стъпка 3: Окабеляване

Окабеляване
Окабеляване
Окабеляване
Окабеляване
Окабеляване
Окабеляване

Окабеляването за този проект е доста просто. Ще използваме двата джъмперни кабела от женски към женски, за да свържем нашите GPIO щифтове към контролера на двигателя L298N и кабел от джъмпер от мъжки към женски, за да свържем земята на Raspi 3 към земята на контролера на двигателя L298N. Също така ще използваме малко проводник за свързване на двигателите към контролера на двигателя L298N.

Избирам да използвам тази комбинация от щифтове на Raspi, защото са групирани заедно. Чувствайте се свободни да използвате всеки набор от GPIO щифтове и GND. Само не забравяйте да го промените в кода.

Можете да използвате електрическата схема или да следвате стъпките по -долу:

Raspi 3 L298N

GND (щифт 14) GND

GPIO27 (щифт 13) IN1

GPIO22 (щифт 15) IN2

GPIO23 (извод 16) IN3

GPIO24 (щифт 18) IN4

За двигателите и начина на монтиране ги свързах по този начин.

Out2, Out3 отрицателни

Out1, Out4 положителен

По същество негативът беше отзад, а положителният беше напред. Ако ги получите обратно, резервоарът просто се движи в обратната посока, което е лесно да се поправи в софтуера.

Стъпка 4: Програмирането

Така че за тази стъпка ще трябва да настроим няколко неща, ако вече не сте го направили.

  • Распиан
  • Python 2 или 3
  • Git
  • MJPG-стример

Инсталиране на Raspian

Първо трябва да имаме Raspian на микро SD карта, така че да имате подготвен форматиран SD от поне 8 GB (Можете също да инсталирате NOOBS lite, ако имате само 4 GB карта).

За да инсталирате Raspian, бих препоръчал да използвате NOOBS. Официалната връзка е тук. Изтеглете zip файла на вашия компютър и извлечете файловете в sd картата. Уверете се, че файловете и папките са там, а не в папка noobs.

След като направите това, включете SD картата в Raspi 3, свържете екран (телевизор с HDMI работи добре, ако нямате монитор) и клавиатура и мишка.

Трябва да видите зареждането на екрана за инсталиране, да се свържете с wifi (wifi е необходим, за да работи този проект) и да инсталирате, просто използвам настройките по подразбиране, тъй като те работят добре.

Конфигуриране за режим без глава

Така че след като Raspian е инсталиран и сте влезли в Raspi 3, можете да започнете да конфигурирате Raspi 3 да работи в режим без глава (т.е. използвайте SSH вместо екран и клавиатура). Само бележка, която ще трябва да използвате sudo, така че се уверете, че знаете паролата за root.

Отворете терминал и напишете „sudo raspi-config“, трябва да имате син и сив екран като на изображенията. Придвижете се до „Опции за взаимодействие“, натиснете enter, след това преминете към „P2 SSH“, натиснете enter и въведете отново за „да“, отново за „добре“.

Сега се върнете в „опциите за взаимодействие“и активирайте камерата.

Назад в менюто натиснете надясно и влезте, за да изберете „финал“.

След това трябва да намерим нашия IP адрес, можете да направите това, като въведете „ifconfig“в терминала. Намерете блока, започващ с wlan0 (обикновено последният) и запишете вашия IP адрес. Трябва да е на втория ред и да изглежда нещо подобно на 192.168.1. XX, ако използвате домашния си wifi.

Страхотно, че това е краят на конфигурацията

Инсталиране на допълнителен софтуер

Така че, за да стартирате скриптовете, които имам, ще трябва да имате инсталиран python 2 или 3. Ако искате да научите python, бих препоръчал да научите python 3, разликите са незначителни, но python 3 вече се използва по -широко. Трябва да е предварително инсталиран с Raspian, но просто трябва да проверим отново.

Въведете „python --version“, трябва да получите изход като „Python 2.7.13“, което означава, че имате инсталиран python 2. За да проверите дали имате python 3, просто напишете „python3 --version“и трябва да получите подобен изход. Ако нямате python 2 или 3, можете да напишете „sudo apt-get install python“или „sudo apt-get install python3“, съответно.

Ще ви е необходим и Git, за да получите кода, отново трябва да е предварително инсталиран. Въведете „git --version“, за да проверите и използвате „sudo apt-get install git“, ако го нямате.

Инсталиране на MJPG-Streamer

MJPG-Streamer е един от начините да получа достъп до Picamera. Тя ви позволява достъп до камерата чрез браузър и манипулиране на изображението. Вероятно това е по -хубавият и лесен начин да използвате камерата, ако не се чувствате добре с кода.

  1. Отново ще използваме Git. Въведете „git clone https://github.com/jacksonliam/mjpg-streamer.git“в терминала Raspi 3. Софтуерът ще бъде изтеглен, не отнема много време.
  2. Вероятно най -доброто нещо, което трябва да направите в този момент, е да погледнете файла 'README.md' и да следвате инструкциите за инсталиране. Те работеха безпроблемно за мен. Ако имате въпроси, оставете ги в коментарите и аз ще се опитам да помогна

След като бъде инсталиран, можете да го стартирате. Ще разгледам по -долу как го правя.

Събирайки всичко заедно

Чудесно, сега трябва да сме готови да тръгнем. Уверете се, че вашият Raspi 3 е включен. На вашия компютър/лаптоп отворете терминал (предполагам, че използвате Linux или Mac, ако използвате Windows, ще трябва да изтеглите замазка. Има много уроци онлайн за това как да използвате това, не се притеснявайте, лесно е) и въведете 'ssh [email protected]. XX (ако приемете, че не сте променили потребителското име по подразбиране) или каквото и да е ваш IP адрес, който открихме по -рано. Въведете паролата си (това определено не трябва да е по подразбиране). Чудесно, сега сте в терминална сесия на Raspi 3 чрез вашия компютър/лаптоп.

Така че в терминала въведете „git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Това трябва да отнеме само няколко секунди, тъй като файловете са наистина малки. След това можете да навигирате в директорията с помощта на „cd Raspi-3-FPV-Lego-Tank“, сега въведете „ls“и се уверете, че виждате тези 5 файла: „demo.py“, „drive.py“, „Picamera_tank. py, 'finished.jpg' и 'README.md'. Не забравяйте да погледнете readme за всякакви актуализации.

demo.py

Този py скрипт е чудесен за тестване на всички кабели, които работят. Той просто преминава през различни комбинации от задвижване на двигателите назад и напред.

използвайте 'python demo.py' за изпълнение. Отнема около половин минута за завършване.

drive.py

Това е py скриптът, който ще стартирате, за да контролирате резервоара. Той настройва картографиране на пино GPIO и създава defs за преместване. Той също така улавя натискането на клавиши за управление на резервоара.

Използвайте „python drive.py“, за да стартирате. Дайте му секунда, терминалът ви трябва да остане празен.

използвайте 'w, a, s, d' за преместване и интервал за спиране. Когато сте готови да затворите програмата, натиснете 'n'.

Picamera_tank.py

Това е моята версия на стример за камерата. Това работи само с python 3 (т.е. използвайте 'python3 Picamera_tank.py' за изпълнение). Това може да се изпълни във втори прозорец на терминала или можете да натиснете ctrl-z и да въведете bg, за да го стартирате във фонов режим на същия терминал. Лично аз обичам да използвам отделен терминал.

Не трябва да инсталирате нищо допълнително, но ако използвате pip. Ако срещнете проблеми, оставете коментар.

След като това стартира на Raspi 3, влезте в браузъра на вашия компютър/лаптоп и отидете на 192.168.1. XX: 8000 (IP, който открихме по -рано). Трябва да видите изхода на камерата. Ако изображението трябва да се завърти, ще трябва да редактирате py скрипта. В долната част има коментар, по -долу въведете необходимите ви степени на въртене. За мен беше 180, тъй като камерата ми е с главата надолу.

За да стартирате MJPG-Streamer

За да стартирам-j.webp

След като това стартира, отидете на 192.168.1. XX: 8080 (IP, който открихме по -рано) и кликнете върху стрийминг. Поиграйте с другите опции, те може да са ви полезни.

И това е. Сега би трябвало да можете да карате собствения си резервоар за FPV навсякъде, където можете да получите своя wifi. Забавлявай се.

Стъпка 5: Готов продукт

И ето видео на всичко, което работи.

Само забележка, че имам Raspi 3 включен в моя лаптоп, за да го захранвам във видеото, тъй като банката за захранване се изчерпи по време на някои тестове. Това продължи почти час, от което бях много щастлив.

Моля, оставете коментари, ако имате такива и се надявам да ви хареса да направите този Raspberry Pi 3 FPV Lego Tank, ако го опитате.

Благодаря, Бен

Препоръчано: