ЕМОЦИОНАЛНОТО ПРЕПЪЛНЕНИЕ, ИЗБЯГВАЩО РОБОТА: 11 стъпки
ЕМОЦИОНАЛНОТО ПРЕПЪЛНЕНИЕ, ИЗБЯГВАЩО РОБОТА: 11 стъпки
Anonim
ЕМОЦИОНАЛНОТО ПРЕПЪЛНЕНИЕ, ИЗБЯГВАЩО РОБОТА
ЕМОЦИОНАЛНОТО ПРЕПЪЛНЕНИЕ, ИЗБЯГВАЩО РОБОТА

Емоционалният робот. Този робот показва емоции с неопиксели (RGB светодиоди) като тъга, щастие, гняв и страх, той също може да избягва препятствия и да прави определени движения по време на определена емоция. Мозъкът на този робот е мега Arduino. имайте предвид, че това е първият ми програмиран робот, който някога съм създавал, и ме накара да се влюбя в програмирането, самият код е много начинаещ и най -вероятно би могъл да бъде опростен.

Стъпка 1: ЧАСТИ

ЧАСТИ
ЧАСТИ

-3,2 фута неопикселова лента

-HC-SR04 ултразвуков сензор (или всеки друг ултразвуков сензор)

-превключвател на наклона

-3 3.7v литиево -йонна батерия (18650)

-усилващ конвертор (обяснено в стъпка на захранване)

-фото резистор (всяка стойност)

-аналогов звуков сензор

-2 dc мотора 6v

-l293d (шофьор на мотор)

-пластмасов лист

-картон

-колесно колело

Стъпка 2: Неопиксели

Неопиксели
Неопиксели
Неопиксели
Неопиксели

Поради това, че бях с ограничен бюджет, най -простият и евтин начин да накарам емоциите на роботите си да оживеят са неопиксели, те имат само 3 входа и изхода. трите щифта на входа са означени с 5v, DIN (данни в) и GND (маса); изходът е означен като входен, но вместо данни в DO (излизане на данни). Начинът, по който свързвате тези светодиоди, е да ги свържете паралелно помежду си, така че 5v се свързва към 5v на другия светодиод и GND е свързан към другия светодиод GND, DO на първия светодиод е свързан към DIN на втория светодиод и след това този процес продължава, докато не достигнете желаната от вас дължина на LED лентата. Цяла ивица неопиксели изисква само един цифров изходен извод от входа, това е така, защото DO и DIN са свързани в дълга верига, така че всички те споделят данни помежду си. Това е необходимо, защото трябва да включваме и изключваме конкретни светодиоди в определено време. Полезна инструкция за това е NEOPIXEL HELP

Стъпка 3: Схемата

Схемата
Схемата

Схемата е много проста, тъй като по -голямата част от робота е просто програмиран, двигателите работят на близко до 7v с драйвер на двигател l293d, за да контролират двигателите да вървят напред назад. Другите връзки са сензорите към Arduino. И това е!

Стъпка 4: Кодът

Първото нещо, което направих, беше да изтегля необходимите библиотеки, за да направя кодирането малко по -лесно, използваните от мен библиотеки са „FastLED.h“и „NewPing.h“. Бързият светодиод е за светодиодите, а новият пинг е за ултразвуковите сензори. Следващото нещо, което направих, беше да направя всички дефиниции за пиновете, които използвах, след като това беше невалидна настройка, тук настроих режимите на щифтове и неострип "FastLED.addLeds (светодиоди, NUM_LEDS);" определих NUM_LEDS като 56, тъй като използвах 56 светодиода, конфигурациите на светодиодите ще бъдат обяснени в стъпката лице. След това създадох куп функции, за да може моят робот да се движи напред и назад и също да има определена емоция, след което стигам до цикъла на празнотата, тук извикам всичките си функции в определена последователност, която искам, например, ако исках моят робот да се усмихне, щях да сложа усмивка ();. Ако исках определен светодиод да се включи, щях да сложа, светодиоди [45] = CRGB:: Зелено;, това ще настрои светодиод 45 да бъде зелен. Когато поставям цвета на черен, това просто означава изключен. Сега имайте предвид, че това е една от първите ми програми, така че очевидно не е перфектна, но все пак работи.

КОДЪТ

Стъпка 5: Лицето

Лицето
Лицето

За лицето използвах 56 светодиода, което е почти пълна неопикселова лента от 3,2 фута. Нарязах лентата на 7 ленти по 8 светодиода, използвах първите 3 ленти за очите и последните 4 за устата. Свързах лентите под формата на змия, да се надяваме, че ще разберете по -добре с диаграмата. Когато завърших лицето, поставих тънък пластмасов лист (с дебелина около 2 мм) върху светодиодните ленти.

Стъпка 6: Щастлива функция

Честита функция
Честита функция

Тази функция е най -лесната от всички, тъй като не използва никакви сензори, вместо това веднага щом включите бота, той незабавно ви се усмихва. Но не само се усмихва; когато е усмихнат, той също е в режим на избягване на препятствия. Режимът за избягване на препятствия е представен в моя код като функция роуминг. Режимът за избягване на препятствия или роуминг работи чрез използване на два ултразвукови сензора от страната на роботите, когато сензорът достигне 30 см до всичко, което би направил резервно копие и или отиде надясно или наляво в зависимост от сензора, който е най -близо до обекта.

Стъпка 7: Тъжна функция

Тъжна функция
Тъжна функция
Тъжна функция
Тъжна функция

За да стане тъжен роботът, трябваше да мисля за черта на личността на този робот, затова реших да го натъжа, когато се намира в тъмна среда. За да направя това, използвах фоторезистор, за да усетя светлината. Колкото по -тъмна е околната среда, толкова по -голямо е съпротивлението и колкото по -лека е средата, толкова по -ниско е съпротивлението. Веригата работи като делител на напрежение, което е верига с два резистора, свързани последователно към +5v и GND, в средата на връзката на резистора се намира напрежение, което може да се определи чрез това уравнение: входно напрежение*(R2/R1 +R2). когато аналоговият щифт на Arduino прочете тази стойност, той преобразува напрежението в диапазон от 0 до 1023.

Стъпка 8: Ядосана функция

Ядосана функция
Ядосана функция
Ядосана функция
Ядосана функция

За да ядоса робота, реших да го обърна/преобърна. Това работи, като използвате превключвател за накланяне, а превключвателят за накланяне е основно нормален превключвател, но вместо да имате бутон или люлка, имате живачна топка, която, ако се наклони под определен ъгъл, ще свърже двата контакта и ще се включи; така че стойността от това е 0 или 1, 0 за изключване и 1 за включване. Когато роботът е ядосан, той също пренебрегва режима за избягване на препятствия и забива всичко, което се вижда в посоката напред, поради гнева си.

Стъпка 9: Уплашена функция

Уплашена функция
Уплашена функция
Уплашена функция
Уплашена функция

За последната функция на робота е функцията за страх, която използва звуков сензор, който се поставя точно върху робота. Всеки път, когато роботът чуе шум от товар, той ще се уплаши и ще потръпне, докато се движи назад. Звуковият сензор работи с помощта на кондензаторен микрофон, който е микрофон, когато усеща звуци или вибрации, той ще създаде малко напрежение, обикновено около 100mv, след това това напрежение се усилва и отчита чрез аналоговия щифт на Arduino, колкото по -високо е напрежението или по -силен звук, колкото по -висока е аналоговата стойност, и обратно.

Стъпка 10: Захранване

Мощност
Мощност
Мощност
Мощност

Сега, след като сте построили всичко необходимо за захранването му, първоначално се опитах да захранвам това с 8 батерии АА, но беше твърде обемисто и непрактично. След това използвах 3 литиево -йонни батерии, всяка от които държи около 3.5v, свързах една батерия към усилващ преобразувател, който е усилвател на напрежение, това увеличи моите 3.5v до 5v за захранване на Arduino, след това използвах две от батериите и директно свързан това към двигателите и светодиодите, това не е толкова добра идея, тъй като напрежението не беше регулирано, но нямах регулатор на напрежение, ако се опитате да го направите, препоръчвам да използвате регулатор на напрежение, отколкото може да направи 5v при около 2-3 ампера, пример за това е LM78S05. Или можете да използвате LM7805 за захранване на Arduino и вместо това да получите понижаващ преобразувател или конвертор за понижаване на напрежението и захранване на светодиодите и двигателите.

Стъпка 11: Забавлявайте се !

Надявам се, че ще създадете този робот и ще се забавлявате, също се надявам, че сами ще завъртите този робот и ще създадете свои собствени емоции, за да го направите ЖИВ !!!

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