Мазмуну:

Raspberry Pi 3 FPV Lego танкы: 5 кадам (сүрөттөр менен)
Raspberry Pi 3 FPV Lego танкы: 5 кадам (сүрөттөр менен)

Video: Raspberry Pi 3 FPV Lego танкы: 5 кадам (сүрөттөр менен)

Video: Raspberry Pi 3 FPV Lego танкы: 5 кадам (сүрөттөр менен)
Video: Remote controlling LEGO Mindstorms EV3 robot through Raspberry Pi with PC 2024, Июль
Anonim
Raspberry Pi 3 FPV Lego танкы
Raspberry Pi 3 FPV Lego танкы

Lego балдарга нерселердин кантип иштээрин үйрөтүү үчүн сонун, ошол эле учурда көңүл ачууга мүмкүнчүлүк берет. Мен бала кезимде лего менен "ойногонду" жакшы көрөрүмдү билем. Бул көрсөтмө менин легодон FPV (First Person View) танкасын жана Raspberry Pi 3 (Raspi 3) кантип курганымды сүрөттөйт. Мен аны мүмкүн болушунча жөнөкөй сактоого аракет кылдым, моторлорду лего менен иштөөгө ылайыкташтырган кадам гана шаймандарды жана бир аз чеберчиликти талап кылат.

Танк негизинен эки моторду колдонот, андыктан эгер сиз танкты каалабасаңыз, анда Romba тибиндеги робот жасай аласыз, түзүлүшү башкача болот, бирок зымдары жана программалары так эле окшош болот.

### Бул долбоор негизинен 1 -версия, андыктан аны жакшыртууну кааласаңыз (анын ичинде орун көп), комментарий калтырыңыз. Ошондой эле бардык коддор жеткиликтүү болот, менин Github баракчамда шилтемелер кадамдарда

Сизге керектүү нерселер:

  • Кээ бир Lego, мен өзүм жаткан Lego Technic Арктикалык жүк ташуучу машинаны колдондум. Өзүңүздүн фантазияңызды колдонуңуз, бул топтомдун тректери жана баарын иштетүү үчүн баары бар болчу, ошондуктан бул долбоор үчүн жакшы болду.
  • Raspberry Pi, мен Raspberry Pi 3 колдондум, анткени менде бар болчу, эгерде башка моделиңиз болсо, аны иштете аласыз, бирок GPIO казыктары айырмаланат.
  • Raspi 3 үчүн Raspian орнотулган микро SD карта.
  • Pi камерасы, Adafruit бир нече, ошондой эле ар кандай узундуктагы ар кандай ленталуу кабелдерди сатат. Aliexpressтен мина сатып алдым, анын балык көз линзасы бар жана арзан болчу. Сиз веб -камераны колдоно аласыз, бирок Pi камерасы кутудан иштейт.
  • Raspi 3ти иштетүү үчүн USB Power Bank, менимче, меники 8 доллар турат, анын 2000mah Raspi 3 бир аз иштейт.
  • Моторлорду иштетүү үчүн батарея, мен арзан RC машинасынан суурулган батареяны колдондум, ал 7.2 вольт, 500мАч жана кайра заряддалат, ошондуктан ал абдан жакшы иштейт. 9В батарейкасы жакшы болмок, бирок сизге дагы туташтыргыч керек болот.
  • Jumio кабелдери, GPIO төөнөгүчтөрүн бириктирүү үчүн, жок дегенде 5 ургаачыдан ургаачыга.
  • L298N Motor Driver Board, бул абдан арзан жана моторлорду өзүнчө башкарууга мүмкүнчүлүк берет. Булар дагы ушул типтеги колдонмолор үчүн абдан стандарттуу.
  • 2 x DC редукторунун мотору, булар Adafruitтен жакшы, дал ошолорду Aliexpressтен деле сатып алса болот

Ар кандай

  • Эки тараптуу көбүк тасмасы
  • зым
  • жылуулук кыскарат
  • скотч
  • резина боолор
  • микро USB кабели

Эгерде сиз DC редукторунун моторун меникине окшоштура турган болсоңуз, анда сизге керек болот:

  • куту кескич
  • тегерек араа бычагы менен dremel
  • мини файлдар
  • 5 мүнөт эпокси

Ошондой эле Raspi 3ти көзөмөлдөө жана программалоо үчүн сизге жеке компьютериңиз/ноутбугуңуз керек болот.

1 -кадам: Танкты куруңуз

Танкты куруу
Танкты куруу
Танкты куруу
Танкты куруу
Танкты куруу
Танкты куруу

Бул чындыгында көрсөтмө эмес, анткени бул кадам чынында сиздин жеке дизайныңыз болушу керек. Мен муну куруп жатканда ойлонушум керек болгон нерселердин айрымдары жөнүндө сүйлөшөм, бирок чыныгы көңүл ачуу - бул өзүңүздүн табууңуз (чыныгы Lego сыяктуу). Сүрөттөрдү колдонуңуз, эгер алар пайдалуу болсо, бул дизайнды иштеп чыгуу үчүн мага көп жылдар керек болду, акырында жөнөкөй жол эң жакшы болду.

  1. Биринчи арткы окторду куруңуз

    1. жана моторлор үчүн жетиштүү орун калтырып, аларды тетиктериңиздин ичине батыш үчүн аларды кенен кылып коюңуз. Мен октун ичинде отургандардын бардыгын каалаганымдай эле кенен болушун кааладым, бул танкка нерселердин астына батпай, мышыкты кууп жетүүгө мүмкүндүк берди.
    2. Бул жердеги тректердеги дөңгөлөктөрдө Lego крест огуна туура келген тешик бар, андыктан моторуңуз ушул жерге орнотулаарын унутпаңыз.
    3. Арткы жана алдыңкы трек үчүн жетиштүү уруксаат керек. Сиз 2 -сүрөттөн байкасаңыз болот, "L" peices семетрикалык эмес, бул трек бөлмөсүнө уруксат берүү үчүн. Менде башында семетикалык болчу, бирок трек ушалап турду жана бир убакта тыгылып, мотор адаптерин сындырды.
  2. Окторду кургандан кийин, аларды туташтыра аласыз

    1. үзгүлтүксүз кайчылаш таянычы бар узун биттерди колдонуу. Компоненттердин ортосуна туура келиши үчүн, кайчылаш тирөөчтөргө боштук кылганыңызды текшериңиз, бул төмөн профилди сактоого жардам берет.
    2. узундугу сизде канча трек бар экендиги менен аныкталат. Бул тректин созулушу жок, андыктан бир аз боштук керек. Эгер резина трек болсо, аны катуураак кыла аласыз. Ошондой эле чуркоочу дөңгөлөк жакшы идея, бирок жалпысынан кереги жок.
    3. Бул кадам бир аз алдыга жылган жана бир аз сыноо менен катаны камтыйт.
  3. Кыймылдаткычтар негизинен эки тараптуу көбүк тасмасы менен жабышып калгандыктан, алар жабышып калышы үчүн чоң жерди камсыздайт.
  4. Мен жасаган камера өтө эле таштанды, сиз сөзсүз түрдө өзүңүзгө өзүңүз аракет кылып көрүшүңүз керек. Мага камера менен тез эле саякаттап бараткандай көрүнөт, анткени мен аны жакшы көрөм. Бул камераны кыймылдуу кылуу үчүн серво же эки жаңыртуу үчүн сонун жер болмок.

Бул жазуулар пайдалуу деп үмүттөнөбүз. Мен бул нерсени үйрөткүчтү жазардан мурун кургам жана азыр бара жатканда аны бөлүп алуудан бир аз тартынам. Мен чындыгында жакшыраак дизайн жасалышы мүмкүн деп ишенем, ошондуктан сиздин жеке өнүгүүңүз эң жакшы болмок деп ойлойм. Мени толук жол көрсөткүчкө айландыргыңыз келсе, комментарийге калтырыңыз, эгер талап жетиштүү болсо, мен аткарам.

2 -кадам: DC редукторунун мотору Lego адаптерине

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

Дагы, мен муну жазардан мурун жасадым жана эч кандай сүрөткө тарткан жокмун. Менимче, бул жерде ар кандай үйрөткүчтөр бар. Adafruit чындыгында адаптер сатат, бул эң жакшы ыкма, андан тышкары моторуңузду бузуунун кажети жок. Мен NZдемин, бирок Adafruit жеткиликтүү эмес, бирок DIY:-). Бул менин кылганым (жаман диаграммалар үчүн кечирим сурайм):

  1. Бардык шаймандарыңызды даярдаңыз, биз пластикти кесебиз, андыктан бул кыйын болбойт. Мен устакананын көз айнегин колдондум, анткени жеке көздүн карегиндеги пластиктин кичинекей бөлүктөрүн жек көрөм. Мен ошондой эле жашыл кесүүчү тактайлардын бирин колдондум, ошондуктан үстөлүмдү бузган жокмун.
  2. Ошентип, диаграмма жогорку жана каптал көрүнүшүн көрсөтөт. Негизинен, боз - DC редукторунун моторундагы кичинекей ак бөлүгү, ал эми кызылы биз кескен жер. Жогорку көрүнүштөгү кызыл чындыгында Lego кайчылаш огунун кесилиши болушу керек. Биз бул материалды алып салабыз, ошондо огу ичине тыгыз туура келет. Муну мүмкүн болушунча борборго жакын жана дээрлик түбүнө чейин кесип көрүңүз. Мен адегенде тегерете араа менен дремелимди кесе баштадым, андан кийин кутуга жаргыч менен тиштерди кырып баштадым.
  3. Бир аз кесилгенден кийин жана огу аздыр -көптүр түз келгенден кийин (ал айрыга бүктөлгөн кызыктай көрүнүшү керек), сиз Lego кроссунун огун эпоксидирлей аласыз. мотордун капкагына кошулбоо үчүн. 5 мүнөттүк эпоксидди жакшылап аралаштырып, ак битке жана кайчылаш октун үстүнө калың катмар сүйкөп, 1-2 мм калыңдыктагы пальто издеп жатабыз. 5 мүнөттүк эпоксид жабышчаак жана жараксыз болуп калат, ошондуктан бул жерде тез иштеңиз.
  4. Кийимиңизди кийип, эпокси иштебей калгандан кийин, муну жасашыңыз керек. Бул бир аз чуркайт, абайлаңыз. Резина сыяктуу консистенцияга орнотулгандан кийин, ашыкча эпоксиден оңой эле кыркып салсаңыз болот, ошентип меники жакшы тегиз болуп калды.
  5. Аны түнү бою кургатыңыз жана эртең менен сизде Lego DC редукторунун мотору болушу керек

3 -кадам: Аны зымга кошуу

Wiring It Up
Wiring It Up
Wiring It Up
Wiring It Up
Wiring It Up
Wiring It Up

Бул долбоордун зымдары абдан жөнөкөй. Биз L298N мотор контроллерине GPIO төөнөгүчтөрүбүздү туташтыруу үчүн 4 аялдан аялга секирүүчү кабелдерди колдонобуз жана 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 -кадам: Программалоо

Ошентип, бул кадам үчүн, эгер сиз азырынча жок болсоңуз, бир нече нерсени орнотушубуз керек.

  • Raspian
  • Python 2 же 3
  • Git
  • MJPG-Streamer

Raspian орнотуу

Биринчиден, бизде микро SD картада Raspian болушу керек, андыктан 8 ГБтан кем эмес форматталган SD болушу керек (эгерде сизде 4 ГБ картаңыз болсо, NOOBS lite орното аласыз).

Raspian орнотуу үчүн мен NOOBS колдонууну сунуштайт элем. Расмий шилтеме бул жерде. ZIP файлын компьютериңизге жүктөп алып, файлдарды SD картасына чыгарыңыз. Файлдар менен папкалар noobs папкасында эмес экенин текшериңиз.

Муну аткаргандан кийин, SD картаны Raspi 3ке туташтырыңыз, экранды (мониторуңуз жок болсо HDMI менен сыналгы жакшы иштейт) жана клавиатура менен чычканды туташтырыңыз.

Сиз орнотуу экранынын жүктөлүшүн көрүшүңүз керек, wifiга туташыңыз (бул долбоордун иштеши үчүн wifi керек) жана орнотуңуз, мен демейки жөндөөлөрдү колдоном, анткени алар жакшы иштейт.

Башсыз режим үчүн конфигурацияланууда

Ошентип, Raspian орнотулуп, Raspi 3ке киргенден кийин, сиз Raspi 3тү башсыз режимде иштете баштасаңыз болот (б.а. экрандын жана клавиатуранын ордуна SSH колдонуңуз). Жөн гана эскертүү сизге Sudo колдонушуңуз керек, андыктан түпнуска сырсөзүн билиңиз.

Терминалды ачыңыз жана 'sudo raspi-config' териңиз, сизде сүрөттөрдөгүдөй көк жана боз экран болушу керек. "Интерфейстин варианттарына" өтүңүз, enter'ди басыңыз, андан кийин "P2 SSH" ге өтүңүз жана "ооба" үчүн кайра, "макул" үчүн кайра киргизиңиз.

Эми кайра "интерфейс параметрлерине" кайтып, камераны иштетиңиз.

Менюга кайтып, оңго басыңыз жана "бүтүрүү" тандоо үчүн киргизиңиз.

Андан кийин биз IP дарегибизди табышыбыз керек, муну терминалга "ifconfig" терүү менен жасай аласыз. Wlan0 (көбүнчө акыркы) менен башталган блокту таап, IP дарегиңизди жазыңыз. Бул экинчи сапта болушу керек жана сиз үй wifi колдонуп жаткан болсоңуз, 192.168.1. XX окшош көрүнүшү керек.

Конфигурациянын аягы сонун

Кошумча программалык камсыздоону орнотуу

Ошентип, мендеги сценарийлерди иштетүү үчүн, сизде python 2 же 3 орнотулган болушу керек. Эгерде сиз питон үйрөнгүңүз келсе, мен python 3 үйрөнүүнү сунуштайт элем, айырмачылыктар анча чоң эмес, бирок азыр python 3 кеңири колдонулат. Бул Raspian менен алдын ала орнотулган болушу керек, бирок биз жөн гана эки жолу текшеришибиз керек.

'Python -версиясын' териңиз, сиз 'Python 2.7.13' сыяктуу чыгууну алышыңыз керек, бул сизде python 2 орнотулганын билдирет. Сизде python 3 барбы же жокпу текшерүү үчүн, жөн гана 'python3 --version' териңиз жана ошого окшош чыгарманы алышыңыз керек. Эгерде сизде python 2 же 3 жок болсо, анда "sudo apt-get install python" же "sudo apt-get install python3" деп териңиз.

Кодду алуу үчүн сизге Git дагы керек болот, дагы бир жолу ал алдын ала орнотулушу керек. Эгерде сизде жок болсо, 'sudo apt-get install git' текшерүү жана колдонуу үчүн 'git --version' териңиз.

MJPG-Streamer орнотуу

MJPG-Streamer-бул Picameraга кирүү жолдорумдун бири. Бул браузер аркылуу камерага кирүүгө жана сүрөттү башкарууга мүмкүндүк берет. Балким, эгер сиз кодго ыңгайсыз болсоңуз, анда камераны колдонуунун эң жакшы жана оңой жолу.

  1. Дагы биз Gitти колдонобуз. Raspi 3 терминалына 'git clone https://github.com/jacksonliam/mjpg-streamer.git' териңиз. Программа жүктөлүп алынат, бул өтө көп убакытты талап кылбайт.
  2. Балким, бул учурда эң жакшы нерсе - 'README.md' файлын карап, орнотуу көрсөтмөлөрүн аткаруу. Алар мен үчүн үзгүлтүксүз иштешти. Эгерде сизде кандайдыр бир суроолор болсо, аларды комментарийге калтырыңыз, мен аракет кылып жардам берем

Орнотулгандан кийин аны иштете аласыз. Мен муну кантип жасаарымды төмөндө айтып берем.

Баарын бириктирүү

Жакшы, азыр биз барууга даяр болушубуз керек. Сиздин Raspi 3 күйгүзүлгөнүн текшериңиз. Компьютериңизде/ноутбугуңузда терминалды ачыңыз (мен Linux же Mac колдонуп жатам деп ойлойм, эгерде Windowsту колдонсоңуз, шпаклевканы жүктөп алышыңыз керек болот. Интернетте муну кантип колдонуу керектиги жөнүндө көптөгөн окуу куралдары бар, кабатыр болбоңуз, бул оңой) жана териңиз 'ssh [email protected]. XX (сиз демейки колдонуучу атын өзгөрткөн жоксуз деп ойлойсуз) же сиздин IP дарегиңиз мурда биз тапкан нерсе. Сырсөзүңүздү териңиз (бул демейки эмес). Абдан жакшы, азыр сиз Raspi 3те PC/ноутбук аркылуу терминалдык сессиядасыз.

Ошентип, терминал тибиндеги '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, 'даяр.jpg' жана 'README.md'. Ар кандай жаңыртуулар үчүн менюга караганыңызды текшериңиз.

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 терип, ошол эле терминалда фондо иштете аласыз. Мен жеке терминалды колдонгум келет.

Сиз кошумча эч нерсе орнотпошуңуз керек, бирок эгер сиз пипти колдонсоңуз. Эгер кандайдыр бир кыйынчылыкка туш болсоңуз, комментарий калтырыңыз.

Бул Raspi 3те иштеп баштагандан кийин, PC/ноутбуктун браузерине кирип, 192.168.1. XX: 8000ге өтүңүз (биз мурда тапкан IP). Сиз камеранын чыгарылышын көрүшүңүз керек. Эгерде сүрөттү айландыруу керек болсо, анда py скриптин түзөтүү керек болот. Төмөндө комментарий бар, төмөндө сизге керектүү айлануу даражаларын жазыңыз. Мен үчүн бул 180 болчу, анткени менин камерам тескери.

MJPG-Streamer иштетүү үчүн

-j.webp

Бул иштеп баштагандан кийин 192.168.1. XX: 8080ге өтүңүз (биз мурда тапкан IP) жана агымды чыкылдатыңыз. Башка варианттар менен ойноңуз, алар сизге пайдалуу болушу мүмкүн.

Жана бүттү. Сиз азыр өзүңүздүн FPV танкыңызды өзүңүздүн Wi -Fiңызды каалаган жерден айдай алышыңыз керек. Көңүл ачуу.

5 -кадам: даяр продукт

Ал эми мунун баары иштеп жаткан видео.

Мен ноутбукка видеону иштетүү үчүн Raspi 3 сайылганын, ноутбуктун кубаттуулугу бир аз сыноо учурунда түгөнүп калганын эскертип коюңуз. Бул дээрлик бир саатка созулду, мен абдан кубандым.

Сураныч, эгер бар болсо, комментарийлерди калтырыңыз жана мен сизге бул Raspberry Pi 3 FPV Lego танкын жасоодон ырахат алам деп үмүттөнөм.

Рахмат, Бен

Сунушталууда: