Мазмуну:

Банан/Малина Pi + Arduino Rover веб -камерасы менен: 9 кадам
Банан/Малина Pi + Arduino Rover веб -камерасы менен: 9 кадам

Video: Банан/Малина Pi + Arduino Rover веб -камерасы менен: 9 кадам

Video: Банан/Малина Pi + Arduino Rover веб -камерасы менен: 9 кадам
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Июль
Anonim
Банан/Малина Pi + Arduino Rover веб -камерасы менен
Банан/Малина Pi + Arduino Rover веб -камерасы менен

Бош убактымда кылган долбоорум. Бул веб-интерфейс аркылуу башкарылуучу 4 дөңгөлөктүү робот. Эгерде сизде кандайдыр бир комментарийлер же суроолор болсо, мени менен байланышуудан тартынба. Бул долбоордун өзү 3D басылган бөлүктөрдү жана башка адамдар жараткан коддун айрым бөлүктөрүн колдонот. Сиз кредиттерди таба аласыз жана Instructuble аягында түпнускаларды көрө аласыз.

Баштайлыбы?

1 -кадам: Сизге керектүү компоненттер

Сизге керектүү компоненттер
Сизге керектүү компоненттер
Сизге керектүү компоненттер
Сизге керектүү компоненттер
Сизге керектүү компоненттер
Сизге керектүү компоненттер

Бул жерде мен шилтемелер жана альтернативалар менен колдонгон компоненттердин тизмеси. Мен Кытайдын Шэньчжэнь шаарында жашайм жана тетиктерди түз Taobaoдо сатып алдым.

4 моторлуу робот шасси Альтернатива: Кандайдыр бир чоң шасси жасайт. Бул кошумча момент үчүн 4 моторго ээ. Моторлор кадимки арзан сары моторлор үчүн бааланат

L293D Arduino Motor Shield rev.1 клон Альтернатива: Жакшы мотор калканы көбүрөөк ток үчүн бааланат

Arduino Uno клонунун альтернативасы: Сиз кодго олуттуу өзгөрүүлөрсүз башка Arduino тактасын колдоно аласыз.

6V 4.5Ah Pb батарейкасы Альтернатива: Эгерде сиз жеңил роботту кааласаңыз/кичине LiPo батареялары менен тажрыйба жүргүзсөңүз болот/эки гана моторду колдонсоңуз болот.

Banana Pi альтернативасы: кодду олуттуу өзгөртүүсүз Raspberry Pi 1/2/3 же Orange Pi менен алмаштырса болот. Мен банан пи колдонгом, анткени анын жанында жатып калдым.

Веб -камеранын альтернативасы: Raspberry Pi/Banana Pi/Orange Pi үчүн CSI камерасын колдонуңуз

Sg60 сервосунун жардамы менен Камера панорамасы/эңкейтүү альтернативасы: Мисалы, 3D Басып түшүрүү/көмөч орнотуу муну колдоно алат.

3D басылган бөлүктөр Альтернатива: Сиздин фантазияңыз жана 3D дизайн таланттары сизге жол көрсөтсүн! Ошондой эле Thingverse:)

2 -кадам: L293D Motor Shield менен моторлорду туташтырыңыз

Моторлорду L293D Motor Shield менен туташтырыңыз
Моторлорду L293D Motor Shield менен туташтырыңыз
Моторлорду L293D Motor Shield менен туташтырыңыз
Моторлорду L293D Motor Shield менен туташтырыңыз

Ар бир моторду мотор калканч терминалдары менен туташтырыңыз. Бул жерде электр схемасы. Эгерде сизде эки гана мотор болсо жана кодду өзгөрткүңүз келбесе, аларды MOTOR 1 жана MOTOR 3кө тиркеңиз.

ЭСКЕРТҮҮ: Учурдагы рейтинги жогору болгон ар кандай моторлорду колдонгондор үчүн башка мотор драйвери керек болушу мүмкүн. Же болбосо, мен жакында үйрөнгөн жакшы кичинекей хак, сиз дагы L293D драйверлерин учурдагы драйвтын үстүнөн кайтарып алсаңыз болот (бул тактадагы орто чип)!

3 -кадам: Arduino Uno, мотор калканчын чогултуу

Arduino Uno, мотор калканчын чогултуу
Arduino Uno, мотор калканчын чогултуу

Капкага Arduino Uno салып, анын үстүнө Motor Shield орнотуңуз. Муну жасоонун бир гана жолу бар, эгер ал туура келбесе, анда сиз бир аз винг жасап жатасыз!

Arduino Uno Snug Case

Мына мен колдонгон учур, Esquilo тарабынан түзүлгөн модель.

4 -кадам: Күчтү Banana Pi жана Arduino менен туташтырыңыз

Күчтү Banana Pi жана Arduino менен туташтырыңыз
Күчтү Banana Pi жана Arduino менен туташтырыңыз

Мен Banana Pi (6v) кубатын берүү үчүн SATA интерфейсин колдондум. Эгерде сизде ошол эле такта болсо, анда муну кыла аласыз, жөн гана чыңалуу 5v-6v экенине ынаныңыз. Бул жөнгө салынбаган электр менен камсыздоо, ошондуктан мен Banana Pi M1де SATA кубаттуулугу үчүн коргоо схемасы бар деп ойлойм.

ЭСКЕРТҮҮ: Raspberry Pi үчүн сизде бир нече вариант бар: коопсуз (5в менен камсыз кылуу үчүн USB туташтыргычын колдонуу менен) жана анча коопсуз эмес (GPIO казыктарын колдонуу менен). Бул жерде Raspberry Pi GPIO казыктарына бийликти туташтыруу жөнүндө окуу үчүн шилтеме бар. Сен ишен

1) жөнгө салынуучу электр булагын колдонуу

2) Чыңалууну 5v деп коюңуз

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

Arduino үчүн жөн эле мотор калканчындагы киргизүү винт терминалдарына кубаттаңыз. Бул 12v чейин болушу мүмкүн.

5 -кадам: Banana Pi'ди 3D Басылган Капка салып, Roverдин калганын чогултуп алыңыз

Banana Pi'ди 3D Басылган Капка салыңыз, Roverдин калганын чогултуп алыңыз
Banana Pi'ди 3D Басылган Капка салыңыз, Roverдин калганын чогултуп алыңыз
Banana Pi'ди 3D Басылган Капка салыңыз, Roverдин калганын чогултуп алыңыз
Banana Pi'ди 3D Басылган Капка салыңыз, Roverдин калганын чогултуп алыңыз

Мен бул ишти GermanRobotics тарабынан түзүлгөн нерселерден Banana Pi үчүн колдоном. Анын капкагын мен өзүм жасадым.

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

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

Эгерде сиз Banana Pi колдонуп жатсаңыз, анда сизге USB хаб керек болот, анткени анын эки гана USB уячасы бар (Raspberry 2, 3тө төртөө бар). Эстетикалык кооптонуулардан улам мен OTG 1-2 USB хабын колдонууну жана Banana Pi корпусунун ичиндеги зымдарды жашырууну чечтим.

6 -кадам: Аппараттык монтаж бүттү

Аппараттык монтаж бүттү!
Аппараттык монтаж бүттү!

Келгиле, буга чейин эмне кылганыбызды тез жыйынтыктайлы.

Биз робот платформасын, Banana Pi, Arduino Uno кубаттуулугун, мотор драйверине моторлорду жана серволорду бириктирдик жана USB камерасын жана Arduino Uno менен Banana Pi'ге туташтыруу үчүн USB хабын колдондук. Эми сиз тестирлеп, аппараттык көйгөйлөрдү чече аласыз. Бардык байланыштарды көрсөтүүчү электр схемасы бул кадам үчүн сүрөттө.

7 -кадам: системанын конфигурациясы

Системанын конфигурациясы
Системанын конфигурациясы

Мен pi системасында Raspbian Lite сүрөтүн колдондум. Lite версиясында GUI жок жана ар бир орнотулган негизги пакеттер менен келет. Бирок бул аз орунду ээлейт, демек, биз кичинекей SD картаны колдоно алабыз. Эгерде сизде GUI жок болсо, анда сиз толук сүрөттү орното аласыз.

Ethernet кабели менен пиңизди Интернетке туташтырыңыз. Ал жүктөлгөндөн кийин, биринчи кадам аны Wi-Fiга туташтыруу болмок.

Терминалда төмөнкү буйрукту аткарыңыз

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

WiFi конфигурацияңыз менен конфигурация файлын түзөтүңүз

тармак = {ssid = "тестирлөө" psk = "testPassword"}

Пиди кайра жүктөңүз. Voila! Сиз азыр Wi-Fiга туташтыңыз.

Андан кийин биз пипти орнотушубуз керек (Python Package Manager)

sudo apt-get python-setuptools орнотуу

sudo easy_install pip

Эми биз Flaskты веб -серверди иштетүү үчүн жана pi үчүн Arduino менен сериялык байланыш аркылуу байланышуу үчүн орнотуу үчүн пипти колдонобуз.

sudo pip колбаны орнотуу

sudo pip pyserial орнотуу

Акыркы нерсе, веб -камерабыздан видео агымы үчүн колдонулган кыймыл пакетин орнотуу жана конфигурациялоо.

Муну кылуу үчүн бул улуу насаатка ээрчиңиз.

Эми биз ызы -чууга даярбыз!

8 -кадам: Программаны иштетүү

Программаны ишке киргизүү
Программаны ишке киргизүү
Программаны иштетүү
Программаны иштетүү

Эсиңиздеби, мен кантип ызы -чууга даярбыз деп айттым?

Макул, бир аз көбүрөөк майдалап, анан ызылдап баштайбыз:)

Келгиле, бардык керектүү файлдарды менин github репозиторийимден жүктөп алалы.

git clone

Rover.ino жүктөө Arduino Uno. Эгерде сиз аппараттык өзгөртүүлөрдү киргизсеңиз (мисалы, башка мотор калканчын колдонуп), эскизди өзгөртүү керек.

Эгерде сиз веб -камераны колдонуп жатсаңыз, шаблон папкасындагы index.html файлынын ылдый жагындагы линияны өзгөртүңүз. IFRAME сабындагы URL дарегин видео агымыңыздын src URLсине дал келтирүү үчүн өзгөртүңүз.

Эми сиз веб -серверди баштай аласыз. Төмөнкү буйрукту иштетиңиз

sudo python pi_rover.py

Эгерде сиз менин курулушумду абдан жакын аткарсаңыз жана Arduino туташкан болсо, сиз терминалда төмөндөгү (биринчи сүрөттү) көрөсүз.

Веб -браузерге роботуңуздун IP дарегин териңиз (мисалы, менин учурда ал 192.168.1.104 болгон), сиз Linux дарегиндеги $ ifconfig буйругу менен ip дарегин текшере аласыз.

/бул жерде майрамдык бийди кыл!/

Эгерде сизде кандайдыр бир суроолор болсо, мени комментарийлерден сураңыз. Бул окуу куралы башталгыч деңгээлге багытталган, бирок башталгыч эмес, ошондуктан мен сиз жөн гана гугл кыла турган нерселер жөнүндө кыскача маалымат бердим (мис., Тутумдун сүрөтүн SD картка жазуу, Arduino эскизин жүктөө ж.б.).

9 -кадам: Кредиттер

Идея жана веб -сервер коду jscottb тарабынан көрсөтүлүүчү бул улуу нерседен келип чыккан. Мен аны Arduino Uno сыяктуу кеңири таралган жабдууларды колдонуу үчүн өзгөрттүм.

Thingverseден 3D басылган бөлүктөр.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

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