Съдържание:

Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци: 19 стъпки (със снимки)
Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци: 19 стъпки (със снимки)

Видео: Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци: 19 стъпки (със снимки)

Видео: Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци: 19 стъпки (със снимки)
Видео: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, Юли
Anonim
Image
Image
Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци
Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци
Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци
Arduino и Raspberry Pi задвижвана система за наблюдение на домашни любимци

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

Затова разработихме здрав робот, който може да маневрира из къщата и да наблюдава домашния любимец, използвайки силата на интернет на нещата. Приложение за смартфон е проектирано да взаимодейства с вашия домашен любимец чрез видео емисия на живо. Шасито на робота е цифрово произведено, тъй като няколко части са създадени с помощта на 3D печат и лазерно рязане. И накрая, решихме да добавим бонус функция, която раздава лакомства, за да възнагради вашия домашен любимец.

Продължете, за да създадете своя собствена система за наблюдение на домашни любимци и може би дори да я персонализирате според вашите изисквания. Вижте видеото, свързано по -горе, за да видите как реагира нашият домашен любимец и да разберете по -добре робота. Пуснете гласуване в „Състезанието по роботика“, ако проектът ви е харесал.

Стъпка 1: Преглед на дизайна

Преглед на дизайна
Преглед на дизайна
Преглед на дизайна
Преглед на дизайна

За да концептуализираме робота за наблюдение на домашни любимци, първо го проектирахме на fusion 360. Ето някои от неговите функции:

Роботът може да се управлява чрез приложение чрез интернет. Това позволява на потребителя да се свърже с робота отвсякъде

Вградена камера, която предава на живо видео емисия към смартфона, може да помогне на потребителя да маневрира из къщата и да взаимодейства с домашния любимец

Допълнителна купа за лакомства, която може да възнагради вашия домашен любимец дистанционно

Цифрово изработени части, които позволяват на човек да персонализира своя робот

Raspberry Pi беше използван за свързване към интернет, тъй като разполага с вграден wifi режим

Ардуино беше използван заедно с CNC щит, за да дава команди на стъпковите двигатели

Стъпка 2: Необходими материали

Необходими материали
Необходими материали
Необходими материали
Необходими материали

Ето списъка с всички компоненти, необходими, за да направите свой собствен робот за наблюдение на домашни любимци, работещ с Arduino и Raspberry Pi. Всички части трябва да са общодостъпни и лесни за намиране.

ЕЛЕКТРОНИКА:

  • Arduino Uno x 1
  • Raspberry Pi (мига с най -новия raspbian) x 1
  • CNC щит x 1
  • A4988 Драйвер за стъпков двигател x 2
  • Пикамера x 1
  • Ултразвуков сензор за разстояние x 1
  • 11.1v Lipo батерия x 1
  • Стъпков двигател NEMA 17 x 2
  • 5v UBEC x 1

Хардуер:

  • Колела x 2 (колелата, които използвахме, бяха с диаметър 7 см)
  • Колела с колела x 2
  • M4 и M3 гайки и болтове

Общата стойност на този проект без Arduino и Raspberry Pi е около 50 $.

Стъпка 3: Цифрово произведени части

Цифрово произведени части
Цифрово произведени части
Цифрово произведени части
Цифрово произведени части

Някои от частите, които използвахме в този проект, трябваше да бъдат изработени по поръчка. Те първо бяха моделирани във Fusion 360 и след това бяха направени с помощта на 3D принтер и лазерен нож. 3D отпечатаните части не носят голямо натоварване, така че стандартният PLA с 20% пълнеж работи чудесно. По-долу е даден списък на всички 3D отпечатани и лазерно изрязани части:

3D отпечатани части:

  • Стъпков държач x 2
  • Монтаж на Vision System x 1
  • Стойност на електрониката x 4
  • Вертикален дистанционер x 4
  • Подсилване на шасито x 2
  • Почистете капака на купата x 1
  • Лекувайте купа x 1
  • Заден стъпков монтаж x 1
  • Навиващ диск x 1

Части за лазерно изрязване:

  • Долен панел x 1
  • Горен панел x 1

Папка с цип, съдържаща всички STL и файлове за лазерно рязане, може да бъде приложена по -долу.

Стъпка 4: Прикрепване на стъпков двигател

Прикрепване на стъпков двигател
Прикрепване на стъпков двигател
Прикрепване на стъпков двигател
Прикрепване на стъпков двигател
Прикрепване на стъпков двигател
Прикрепване на стъпков двигател

След като всички части са 3D отпечатани, започнете сглобяването, като монтирате стъпковия двигател в държача на стъпката. Държачът на стъпков двигател, който проектирахме, е предназначен за модела NEMA 17 (ако човек използва различни степери, той ще изисква различен монтаж). Прекарайте вала на двигателя през отвора и закрепете двигателя на място с монтажните винтове. След като приключат, и двата двигателя трябва да бъдат здраво закрепени към държачите.

Стъпка 5: Монтиране на степерите към долния панел

Монтиране на степерите към долния панел
Монтиране на степерите към долния панел
Монтиране на степерите към долния панел
Монтиране на степерите към долния панел
Монтиране на степерите към долния панел
Монтиране на степерите към долния панел

За да монтираме държачите към лазерно изрязания панел, използвахме болтове М4. Преди да ги закрепите с гайките, добавете 3D отпечатаните подсилващи ленти на шасито и след това затегнете гайките. Лентите се използват за равномерно разпределение на товара върху акрилния панел.

Накрая прекарайте проводниците през съответните слотове, предвидени на панела. Издърпайте ги докрай, за да не се оплетете в колелата.

Стъпка 6: Монтиране на колелата

Монтиране на колелата
Монтиране на колелата
Монтиране на колелата
Монтиране на колелата
Монтиране на колелата
Монтиране на колелата

Акрилният панел има две секции, изрязани, за да се поберат на колелата. Колелата, които използвахме, бяха с диаметър 7 см и се предлагаха с фиксирани винтове, които се прикрепяха към 5 мм стъпкови валове. Уверете се, че колелото е закрепено правилно и не се плъзга по вала.

Стъпка 7: Предни и задни колела

Предни и задни колела
Предни и задни колела
Предни и задни колела
Предни и задни колела
Предни и задни колела
Предни и задни колела
Предни и задни колела
Предни и задни колела

За да позволим на шасито да се движи безпроблемно, решихме да поставим колела отпред и отзад на робота. Това не само пречи на робота да се преобърне, но също така позволява шасито да се върти свободно във всяка посока. Колелата се предлагат във всички размери, по -специално нашите се предлагат с един въртящ се винт, който монтирахме към основата и използвахме 3d разпечатани дистанционни елементи, за да регулираме височината, така че роботът да е идеално хоризонтален. С това основата на шасито е завършена и има добра стабилност.

Стъпка 8: Електроника

Електроника
Електроника
Електроника
Електроника
Електроника
Електроника

След като основата на шасито е напълно сглобена, е време да монтирате електрониката върху акрилния панел. Направихме дупки в акрилния панел, които се подравняват с монтажните отвори на Arduino и Raspberry Pi. Използвайки 3D отпечатани стойки, ние издигнахме електрониката малко над акрилните панели, така че цялото излишно окабеляване да може да бъде прибрано спретнато отдолу. Монтирайте Arduino и Raspberry Pi до съответните им места за монтаж с помощта на гайки и болтове M3. След като Arduino е фиксиран, прикрепете CNC щита към Arduino и свържете стъпковите проводници в следната конфигурация.

  • Ляв степер към CNC щит порт X-ос
  • Дясно стъпало към CNC щит порт Y-ос

С прикрепените стъпкови двигатели свържете Arduino към Raspberry Pi с помощта на USB кабела на Arduino. В крайна сметка Raspberry Pi и Arduino ще комуникират чрез този кабел.

Забележка: Предната част на робота е страната с Raspberry Pi

Стъпка 9: Зрителна система

Зрителна система
Зрителна система
Зрителна система
Зрителна система
Зрителна система
Зрителна система

Основният вход за околната среда за нашия робот за наблюдение на домашни любимци е зрението. Решихме да използваме Picamera, която е съвместима с Raspberry Pi, за да предаде на живо потребителя чрез интернет. Използвахме и ултразвуков сензор за разстояние, за да избегнем препятствия, когато роботът работи автономно. И двата сензора се прикрепят към държач с помощта на винтове.

Picamera се вкарва в определения му порт на Raspberry Pi и свързва ултразвуковия сензор по следния начин:

  • Ултразвуков сензор VCC към 5v релса на CNC щит
  • Ултразвуков сензор GND към GND релса на CNC щит
  • Ултразвуков сензор TRIG до X+ краен ограничителен щифт на CNC щит
  • Ултразвуков сензор ECHO до Y+ краен ограничителен щифт на CNC щит

Стъпка 10: Монтаж на горния панел

Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел

На гърба на робота е монтирана система за отваряне на капака за купата за лакомства. Прикрепете мини стъпковия двигател към компонента на задния държач и монтирайте както системата за виждане, така и системата за навиване с болтове М3 към горния панел. Както бе споменато, не забравяйте да монтирате системата за виждане отпред и системата за навиване отзад с предвидените два отвора.

Стъпка 11: Монтаж на горния панел

Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел
Монтаж на горния панел

Ние 3D отпечатахме вертикални дистанционни елементи, за да поддържаме горния панел на правилната височина. Започнете, като прикрепите четирите дистанционера към долния панел, за да образувате "X". След това поставете горния панел с купата за лакомства, като се уверите, че дупките им са подравнени и накрая го закрепете към дистанционерите.

Стъпка 12: Механизъм за отваряне на капака

Механизъм за отваряне на капака
Механизъм за отваряне на капака
Механизъм за отваряне на капака
Механизъм за отваряне на капака
Механизъм за отваряне на капака
Механизъм за отваряне на капака

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

Стъпка 13: Настройка на облачната база данни

Настройване на облачната база данни
Настройване на облачната база данни
Настройване на облачната база данни
Настройване на облачната база данни
Настройване на облачната база данни
Настройване на облачната база данни
Настройване на облачната база данни
Настройване на облачната база данни

Първата стъпка е да създадете база данни за системата, така че да можете да комуникирате с робота от мобилното си приложение от всяка точка на света. Кликнете върху следната връзка (Google firebase), която ще ви отведе до уебсайта на Firebase (ще трябва да влезете с профила си в Google). Кликнете върху бутона „Първи стъпки“, който ще ви отведе до конзолата на firebase. След това създайте нов проект, като кликнете върху бутона „Добавяне на проект“, попълнете изискванията (име, подробности и т.н.) и завършете, като щракнете върху бутона „Създаване на проект“.

Ние просто се нуждаем от инструментите за бази данни на Firebase, така че изберете „база данни“от менюто отляво. След това щракнете върху бутона „Създаване на база данни“, изберете опцията „режим на тестване“. След това задайте базата данни на „база данни в реално време“вместо на „облачен пожарен магазин“, като щракнете върху падащото меню в горната част. Изберете раздела „правила“и променете двете „невярно“на „вярно“, накрая кликнете върху раздела „данни“и копирайте URL адреса на базата данни, това ще се изисква по -късно.

Последното нещо, което трябва да направите, е да кликнете върху иконата на зъбно колело до прегледа на проекта, след това върху „настройки на проекта“, след това изберете раздела „акаунти за услуги“, накрая кликнете върху „Тайни на базата данни“и отбележете сигурността код на вашата база данни. С приключването на тази стъпка вие успешно създадохте вашата облачна база данни, която може да бъде достъпна от вашия смартфон и от Raspberry Pi. (Използвайте снимките, приложени по -горе, в случай на съмнения, или просто пуснете въпрос в секцията за коментари)

Стъпка 14: Създаване на мобилно приложение

Създаване на мобилно приложение
Създаване на мобилно приложение
Създаване на мобилно приложение
Създаване на мобилно приложение
Създаване на мобилно приложение
Създаване на мобилно приложение
Създаване на мобилно приложение
Създаване на мобилно приложение

Следващата част от IoT системата е приложението за смартфон. Решихме да използваме MIT App Inventor, за да направим наше собствено персонализирано приложение. За да използвате първоначално създаденото от вас приложение, отворете следната връзка (MIT App Inventor), която ще ви отведе до тяхната уеб страница. След това кликнете върху „създаване на приложения“в горната част на екрана, след това влезте с профила си в Google.

Изтеглете.aia файла, който е свързан по -долу. Отворете раздела „проекти“и кликнете върху „Импортиране на проект (.aia) от моя компютър“, след което изберете файла, който току -що сте изтеглили, и щракнете върху „добре“. В прозореца с компоненти превъртете докрай, докато видите „FirebaseDB1“, щракнете върху него и променете „FirebaseToken“, „FirebaseURL“до стойностите, които сте запазили в предишната стъпка. След като тези стъпки приключат, сте готови да изтеглите и инсталирате приложението. Можете да изтеглите приложението директно на телефона си, като щракнете върху раздела „Изграждане“и кликнете върху „Приложение (предоставете QR код за.apk)“, след което сканирайте QR кода със смартфона си или щракнете върху „Приложение (запишете.apk на моя компютър)) ще изтеглите apk файла на вашия компютър, който след това можете да прехвърлите на вашия смартфон.

Стъпка 15: Програмиране на Raspberry Pi

Програмиране на Raspberry Pi
Програмиране на Raspberry Pi

Raspberry Pi се използва по две основни причини.

  1. Той предава видео поток на живо от робота на уеб сървър. Този поток може да бъде видян от потребителя чрез мобилното приложение.
  2. Той чете актуализираните команди в базата данни на firebase и инструктира Arduino да изпълнява необходимите задачи.

За настройка на Raspberry Pi за предаване на живо вече има подробен урок и можете да го намерите тук. Инструкциите се свеждат до три прости команди. Включете Raspberry Pi и отворете терминала и въведете следните команди.

  • git клонинг
  • cd RPi_Cam_Web_Interface
  • ./install.sh

След като инсталацията приключи, рестартирайте Pi и трябва да имате достъп до потока, като потърсите https:// вашия IP адрес на всеки уеб браузър.

С настройката за поточно предаване на живо ще трябва да изтеглите и инсталирате определени библиотеки, за да можете да използвате облачната база данни. Отворете терминал на вашия Pi и въведете следните команди:

  • искания за инсталиране на sudo pip == 1.1.0
  • sudo pip инсталирайте python-firebase

Накрая изтеглете прикачения по -долу файл python и го запазете на вашия Raspberry Pi. В четвъртия ред на кода променете COM порта към порта, към който е свързан Arduino. След това променете URL адреса на ред 8 в URL адреса на firebase, за който сте си направили бележка по -рано. Накрая стартирайте програмата през терминала. Тази програма извлича командите от облачната база данни и ги предава към Arduino чрез серийната връзка.

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

Програмиране на Arduino
Програмиране на Arduino
Програмиране на Arduino
Програмиране на Arduino

Arduino се използва за тълкуване на командите от Pi и инструктира изпълнителните механизми на робота да изпълняват необходимите задачи. Изтеглете прикачения по -долу код на Arduino и го качете на Arduino. След като Arduino е програмиран, свържете го към един от USB портовете на Pi, като използвате специалния USB кабел.

Стъпка 17: Захранване на системата

Захранване на системата
Захранване на системата

Роботът ще се захранва от 3 -клетъчна липо батерия. Клемите на акумулатора трябва да бъдат разделени на две, където единият отива директно към CNC щита, за да захранва двигателите, докато другият се свързва към 5v UBEC, който създаде постоянна 5v захранваща линия, която ще се използва за захранване на Raspberry Pi през GPIO щифтовете. 5v от UBEC е свързан към 5v щифта на Raspberry Pi, а GND от UBEC е свързан към GND щифта на Pi.

Стъпка 18: Използване на приложението

Използване на приложението
Използване на приложението
Използване на приложението
Използване на приложението
Използване на приложението
Използване на приложението

Интерфейсът на приложението позволява да се контролира роботът за наблюдение, както и да се предават потоци на живо от вградената камера. За да се свържете с вашия робот, уверете се, че имате стабилна интернет връзка и след това просто въведете IP адреса на Raspberry Pi в предоставеното текстово поле и щракнете върху бутона за актуализиране. След като приключите, емисията на живо ще се появи на екрана ви и трябва да можете да контролирате различните функции на робота.

Стъпка 19: Готови за тестване

Готов за тестване
Готов за тестване
Готов за тестване
Готов за тестване

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

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

Има място за подобрения, за да може тя да функционира по -добре в реалния свят. Въпреки това, ние създадохме стабилна система, към която човек може да надгражда и разширява. Ако този проект ви е харесал, гласувайте за нас в „Състезанието по роботика“

Честито създаване!

Състезание по роботика
Състезание по роботика
Състезание по роботика
Състезание по роботика

Втора награда в конкурса по роботика

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