Съдържание:

Банан/Raspberry Pi + Arduino Rover с уеб камера: 9 стъпки
Банан/Raspberry Pi + Arduino Rover с уеб камера: 9 стъпки

Видео: Банан/Raspberry Pi + Arduino Rover с уеб камера: 9 стъпки

Видео: Банан/Raspberry Pi + Arduino Rover с уеб камера: 9 стъпки
Видео: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, Ноември
Anonim
Банан/Raspberry Pi + Arduino Rover с уеб камера
Банан/Raspberry 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 без значителни промени в кода. Използвах Banana Pi само защото имах един, който лежеше наоколо.

Уеб камера Алтернатива: Използвайте CSI камера за Raspberry Pi/Banana Pi/Orange Pi

Монтаж на камера за накланяне/накланяне със сервомотори sg60 Алтернатива: Наклонът/наклонът за 3D печат например може да използва този.

3D печатни части Алтернатива: Оставете вашето въображение и таланти за 3D дизайн да ви водят! Също и Thingverse:)

Стъпка 2: Свържете двигателите с щит за двигатели L293D

Свържете двигателите с щит за двигатели L293D
Свържете двигателите с щит за двигатели L293D
Свържете двигателите с щит за двигатели L293D
Свържете двигателите с щит за двигатели L293D

Свържете всеки двигател с винтови клеми на щита на двигателя. Ето електрическа схема. Ако имате само два двигателя и не искате да променяте кода, прикрепете ги към MOTOR 1 и MOTOR 3.

ЗАБЕЛЕЖКА: За тези, които използват различни двигатели с по -висок ток, може да се нуждаете от друг двигател. Като алтернатива, хубав малък хак, който научих наскоро, е, че можете да върнете обратно още два драйвера L293D върху съществуващия (това е средният чип на платката)!

Стъпка 3: Arduino Uno, Монтаж на щита на двигателя

Arduino Uno, Монтаж на щита на двигателя
Arduino Uno, Монтаж на щита на двигателя

Поставете Arduino Uno в кутията и поставете моторния щит върху него. Има само един начин да направите това, ако не ви подхожда, вие правите нещо като нещо!

Arduino Uno удобен калъф

Ето случая, който използвах, модел, създаден от Esquilo.

Стъпка 4: Свържете захранването към Banana Pi и Arduino

Свържете захранването към Banana Pi и Arduino
Свържете захранването към Banana Pi и Arduino

Използвах SATA интерфейс за захранване на Banana Pi (6v). Ако имате същата платка, можете също да направите това, просто се уверете, че напрежението е 5v-6v. Това е нерегламентирано захранване, така че предполагам, че има защитна верига за SATA захранване на Banana Pi M1.

ВНИМАНИЕ: За Raspberry Pi имате няколко опции: безопасна (с помощта на USB конектор за осигуряване на 5v) и не толкова безопасна (с използване на GPIO щифтове). Ето връзката, за да прочетете за свързването на захранването към Raspberry Pi GPIO щифтове. Уверете се, че сте

1) Използвайте регулирано захранване

2) Настройте напрежението на 5v

Няма защитна верига за GPIO щифтове! Ако направите нещо нередно, има сериозен шанс да повредите електрониката на платката.

За Arduino просто свържете захранването към входните винтови клеми на щита на двигателя. Може да отнеме до 12v.

Стъпка 5: Поставете Banana Pi в 3D отпечатаната кутия, Сглобете останалата част от ровъра

Поставете Banana Pi в 3D отпечатаната кутия, Сглобете останалата част от ровъра
Поставете Banana Pi в 3D отпечатаната кутия, Сглобете останалата част от ровъра
Поставете Banana Pi в 3D отпечатаната кутия, Сглобете останалата част от ровъра
Поставете Banana Pi в 3D отпечатаната кутия, Сглобете останалата част от ровъра

Използвах този калъф за Banana Pi от thingverse, създаден от GermanRobotics. Корицата за него си направих сам.

Поставете Banana Pi в кутията, покрийте го с капака, използвайте пистолет за лепило, за да прикрепите Arduino Uno върху кутията Banana Pi.

Покрийте батерията с този капак и прикрепете горната част на панела за накланяне/накланяне на уеб камера.

Ако използвате Banana Pi, ще ви е необходим USB хъб, тъй като той има само два USB слота (Raspberry 2, 3 има четири). Чисто от естетически притеснения реших да използвам OTG 1-2 USB хъб и да скрия проводниците вътре в кутията Banana Pi.

Стъпка 6: Сглобяването на хардуера е готово

Сглобяването на хардуера е готово!
Сглобяването на хардуера е готово!

Нека бързо обобщим какво сме направили досега.

Сглобихме платформата на робота, свързахме захранване към Banana Pi, Arduino Uno, свързахме двигатели и серво към драйвера на двигателя и използвахме USB хъб за свързване на USB камера и Arduino Uno към Banana Pi. Сега можете да тествате и отстранявате проблеми с хардуера. Схемата за окабеляване, показваща всички връзки, е на снимката за тази стъпка.

Стъпка 7: Конфигуриране на системата

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

Използвах Raspbian Lite изображение за система на моя pi. Lite версията няма графичен потребителски интерфейс и се предлага само с инсталирани основни пакети. Но това отнема много по -малко място, което означава, че можем да използваме по -малка SD карта. Ако не ви е удобно без GUI, можете също да инсталирате пълно изображение.

Свържете вашия pi към интернет с Ethernet кабел. След като се зареди, първата стъпка би била да го свържете към Wi-Fi.

Изпълнете следната команда в терминала

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Редактирайте конфигурационния файл с вашите идентификационни данни за WiFi

network = {ssid = "testing" psk = "testingPassword"}

Рестартирайте pi. Вола! Вече сте свързани с Wi-Fi.

След това ще трябва да инсталираме pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Сега използваме pip за инсталиране на Flask за стартиране на уеб сървър и pyserial за pi за комуникация с Arduino през серийна връзка.

sudo pip колба за инсталиране

sudo pip инсталирайте pyserial

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

Следвайте тази страхотна инструкция, за да направите това.

Сега сме готови да мрънкаме!

Стъпка 8: Стартиране на софтуера

Стартиране на софтуера
Стартиране на софтуера
Стартиране на софтуера
Стартиране на софтуера

Спомняте ли си как казах, че сме готови да тътим?

Добре, още малко смилане и тогава можем да започнем да мрънкаме:)

Нека изтеглим всички необходими файлове от моето хранилище на github.

git clone

Качете rover.ino в Arduino Uno. Ако сте направили хардуерни промени (например с различен щит на двигателя), трябва да промените скицата.

Ако използвате уеб камера, променете реда в долната част на файла index.html в папката с шаблони. Променете URL адреса в реда IFRAME, така че да съответства на URL адреса src за вашия видео поток.

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

sudo python pi_rover.py

Ако сте следвали моята компилация много близо и сте свързали Arduino, ще видите следното (първата снимка) в терминала.

Въведете ip адреса на вашия робот в уеб браузъра (например в моя случай беше 192.168.1.104), можете да проверите ip адреса с командата $ ifconfig в Linux.

/празничното хоро танцувайте тук!/

Ако имате въпроси, не се колебайте да ме попитате в коментарите. Този урок е предназначен за начинаещи, но не за нула начинаещи, затова бях доста кратък за нещата, които можете просто да потърсите в Google (напр. Запишете системно изображение на SD карта, качете скица на Arduino и т.н.).

Стъпка 9: Кредити

Идеята и кодът на уеб сървъра идват от тази страхотна инструкция от jscottb. Промених го, за да използвам по -често срещан хардуер, като Arduino Uno.

3D отпечатаните части от Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

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