Съдържание:

ICBob - робот, вдъхновен от Боб, 10 стъпки (със снимки)
ICBob - робот, вдъхновен от Боб, 10 стъпки (със снимки)

Видео: ICBob - робот, вдъхновен от Боб, 10 стъпки (със снимки)

Видео: ICBob - робот, вдъхновен от Боб, 10 стъпки (със снимки)
Видео: Танец "Морячка" МАДОУ Детский сад №122 2024, Юли
Anonim
Image
Image
ICBob - двуног робот, вдъхновен от Боб
ICBob - двуног робот, вдъхновен от Боб

Ние сме Teen Imagineering Club от публичната библиотека на Bridgeville Delaware. Правим страхотни проекти, докато учим за електроника, компютърно кодиране, 3D дизайн и 3D печат.

Този проект е нашата адаптация на BoB - BiPed робот, базиран на Arduino. Ние преработихме тялото, за да се възползваме от нашия любим източник на захранване Arduino, банката за захранване на телефона Powerbot. Този евтин акумулаторен 5 -волтов източник на захранване е чудесен за захранване на нашите проекти Arduino и се презарежда с всяко USB зарядно за стена. Ние също така адаптирахме 3 -те пръста на крака от двуногия робот Arduped, само защото изглеждат СТРАХОТНО. Ще ви покажем откъде да вземете необходимите ви части, как да сглобите робота и дори ще ви дадем лесен код на Arduino, за да го разхождате. Имахме страхотно време, като направихме нашите единадесет роботи ICBob. Продължете да четете, ако искате да научите как да си направите такъв за себе си.

Стъпка 1: Части и инструменти, които ще ви трябват

Части и инструменти, от които се нуждаете
Части и инструменти, от които се нуждаете
Части и инструменти, от които се нуждаете
Части и инструменти, от които се нуждаете

ICBob е предназначен за следния набор от части. Въпреки че са възможни замествания, може да се наложи да промените тялото, за да ги накарате да работят. Нашият любим доставчик е Yourduino.com, но за някои артикули ще трябва да отидете в Amazon или Ebay.

Актуализация на наличността на продукта- Yourduino вече не носи Micro Magician и казва, че те се прекратяват от Dagu. Уебсайтът на Dagu все още ги има на разположение https://www.dagurobot.com/goods.php?id=137 и ако те не са налични, контролерът S4A EDU е спад в подмяната и работи при 5 волта.

Части

  • 1x- MICRO Контролер за магьосник
  • 4x- SG 90 серво
  • 1x- HC-SR04 Ултразвуков сензор
  • 1x- Powerbot power bank 2600mAh (3000mAh Powerbot е с по-голям диаметър и няма да се побере)
  • 1x- женски MICRO USB към DIP 5-пинов щит
  • 1x- 20см 40-пинов плосък кабелен женски край
  • 1x10k резистор
  • 4x- 2-56 x 3/8 самонарезни винтове (алтернативно горещо лепило)

3D разпечатки - stl файловете са налични на Thingiverse: 1313344

  • 1x- тяло
  • 1x- черупка
  • 2x- коляно
  • 1x- ляв крак
  • 1x- десен крак

Инструменти

  • компютър с Arduino IDE
  • Arduino добавете към библиотеката VarSpeedServo
  • MICRO Magician Driver (необходим за някои операционни системи)
  • 3D принтер (или направете частите)
  • Инструменти за 3D почистване на части
  • Комплект за запояване (само за щифтовете на USB адаптера)
  • Пистолет за горещо лепило
  • Малка отвертка Philips
  • usb зарядно устройство

Този Instructable предполага, че имате основни познания за използването на Arduino. Ако сте нов в Arduino, можете да научите повече на

За магьосника MICRO изберете Board - Arduino Pro или Pro Mini (3.3V, 8MHz) с ATmega328

Ще ви е необходима библиотеката VarSpeedServo на Korman, за да използвате нашите скици. Можете да научите повече за неговата библиотека тук, но използвайте нашето изтегляне по -долу, което е съвместимо с по -новата IDE. Изтеглете файла VarSpeedServo.zip по -долу и разархивирайте във вашата папка arduino/libraries.

Може да се наложи да инсталирате драйвера MICRO Magician CP210x, ако вашата система не разпознава контролера. Този сайт може да помогне при инсталирането на драйвера

Стъпка 2: Нека започнем да изграждаме - Сглобете краката

Да започнем да строим - Сглобете краката
Да започнем да строим - Сглобете краката
Да започнем да строим - Сглобете краката
Да започнем да строим - Сглобете краката
Да започнем да строим - Сглобете краката
Да започнем да строим - Сглобете краката

За тази стъпка ще ви трябват 2 - 3D отпечатани колене и 4 серво пакета.

Започнете с почистване на коленете. 2 -те отвора за серво рога трябва да пасват на едностранните серво рога. Почистихме ги с бормашина с размер буква L (.290). Единият шарнирен отвор трябва да пасне на шарнира на крака. Почистихме ги с бормашина с размер # 2 (.220).

Поставете 4 -те серво рога в коленете. Прикрепете клаксона, като използвате един от по -големите винтове, доставени със серво пакета. Поставете винта от страната на коляното и го затегнете в един от малките отвори на серво рога. За един винт ще трябва да затегнете с отвертката под ъгъл, но е възможно. Можете да отрежете винтовите точки, които стърчат с клещи за странични резачки, ако желаете.

Четирите серво шпиндела трябва да бъдат центрирани, преди да бъдат прикрепени към коленете. Можете да направите това ръчно, като леко преместите шпиндела през въртенето му, за да намерите точката на половината път. По -добър начин е да прикачите серво към щифт 12. Изтеглете файла icbob_servo_center.zip по -долу. Разархивирайте в директорията на Arduino. След това стартирайте тази скица на Arduino за всяко серво.

Започнете със сглобяването на тазобедрените (горните) сервосистеми до коленете. Без да премествате шпиндела, прикрепете хип серво успоредно на коляното с проводниците обърнати към другия серво клаксон (отпред). Закрепете с един малък винт от серво пакета. Повторете за друго коляно.

Сега за сервомоторите за глезените. ЗАПОМНЕТЕ, че ще имате десен и ляв глезен, така че краката да бъдат огледални образи един на друг. Ще трябва да разгънете коляното леко, за да сглобите серво за глезена, така че ориентирайте серво, както е на снимката, преди да го притиснете. Не забравяйте да не завъртите шпиндела. Закрепете с малък винт. Повторете с друго коляно, така че да завършите с десен и ляв крак.

Стъпка 3: Изграждане - Прикрепете краката към тялото

Изграждане - Прикрепете краката към тялото
Изграждане - Прикрепете краката към тялото
Изграждане - Прикрепете краката към тялото
Изграждане - Прикрепете краката към тялото
Изграждане - Прикрепете краката към тялото
Изграждане - Прикрепете краката към тялото

За тази стъпка ще ви трябват 2 комплекта крака и 3D отпечатаната основа. Ще ви трябват и (4) самонарезни винтове 2-56x3/8 или горещо лепило.

Монтажът на крака се прикрепя към основата чрез хип серво. Първо прокарайте 2 серво проводника нагоре през дъното на основата. Внимавайте за левите и правите. Тъй като чертежът показва, челенката на глезена се озовава в изреза на полумесец, но трябва да включите жицата на глезена, преди сервото да бъде прикрепено. Трябва да наклоните серво, така че хип проводникът (където той влиза в сервото) първо да премине през правоъгълния отвор (отпред). Тя е плътно прилепнала, но задната част трябва просто да се вмъкне. Сега обърнете основата и закрепете серво с 2 винта или алтернативно горещото лепило трябва да работи. Повторете процеса за другия крак.

Стъпка 4: Изграждане - Прикрепете краката

Сграда - Прикрепете краката
Сграда - Прикрепете краката
Сграда - Прикрепете краката
Сграда - Прикрепете краката

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

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

Стъпка 5: Окабеляване - серво и захранване

Окабеляване - серво и захранване
Окабеляване - серво и захранване
Окабеляване - серво и захранване
Окабеляване - серво и захранване
Окабеляване - серво и захранване
Окабеляване - серво и захранване

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

Powerbot банката за захранване се доставя с къс USB към micro USB кабел. За зареждане на батерията микро USB се включва в слота за зареждане на батерията и USB отива към зарядното устройство за стена. Ще използвате повторно този кабел за захранване на ICBob. Изходът на батерията е през USB, така че се свързваме чрез адаптерната платка за микро USB, за да получим захранване на бота.

Първо нека сглобим адаптера. Вижте снимката за следващите стъпки. Ще използвате само 2 външни щифта (gnd и V+) за захранване на бота. Внимателно плъзнете 2 -те външни щифта в заглавката, така че късата страна да излиза около 3/16 инча. С клещи огънете 2 -те дълги щифта на около 60 градуса. Огънете се преди запояване, тъй като дъските са крехки. Поставете заглавката, както е показано, и запоявайте всички щифтове на гърба за здравина. Изрежете всички неизползвани щифтове възможно най -къси както отпред, така и отзад. Преди да залепим адаптера към цевта, прикрепете микро USB кабела, така че да получите достатъчно свободно пространство. Поставете голямо кълбо горещо лепило на гърба на адаптера, след което го поставете в позицията, показана на цевта. Задръжте, докато се втвърди.

След това прикрепете 4 -те серво конектора към контролера. Харесваме MICRO Magician, защото има 3 -пинови конектори на борда за лесно серво окабеляване. По -тъмният цветен проводник (кафяв?) Отива към ръба на дъската. Включените скици на Arduino използват следните щифтове.

  • Десен бедро (RH) - щифт 9
  • Десен глезен (RA) - щифт 10
  • Ляв хълбок (LH) - щифт 11
  • Ляв глезен (LA) - щифт 12

За свързване на захранването към платката издърпайте чифт проводници от плоския кабел. Ще използвате повече от този плосък кабел за окабеляване на сонар. Свържете единия край на двойката към микро USB адаптера. Щифтът, който е по -близо до предната част на бота, се смила, а другият V+. Другият край е прикрепен към контролера близо до превключвателя. Проводът V+ се свързва с щифта, обозначен като „Battery IN“в документацията. Свържете заземяващия проводник към щифта „gnd“малко над щифта „Battery IN“.

ВАЖНО! - Има мост „V+ select“точно над комплекта щифтове D1. Този джъмпер трябва да е на вътрешния набор от щифтове, в противен случай сервомоторите няма да работят.

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

Стъпка 6: Програмиране - Код за домашно калибриране

Няколко думи за нашия избор на програмиране

Когато изграждахме прототипа за този проект, използвахме „Как да научим вашия BoB Biped да премести урок върху Let's Make Robots. Софтуерът на Bob Poser беше страхотен и се забавлявахме да играем с него. Проблемът беше, че 600+ реда код в скицата за навигация бяха доста над нивото на познания на тийнейджърите. За да направим този проект по -скоро учебен опит за тях, решихме да съберем няколко идеи от кода на Poser и след това да започнем отначало с празна страница. Тийнейджърите вече са използвали библиотеката VarSpeedServo, докато са учили за серво в нашите лаборатории на Arduino. Решихме да видим дали VarSpeedServo може да се справи с времето и скоростта на сервомоторите, за да можем просто да се концентрираме върху позициите. Полученият код работи чудесно и пълната скица walk_avoid_turn има по -малко от 100 реда код. Единствените нови концепции, за които тийнейджърите трябва да научат, са двуизмерни масиви и как да имат достъп до тези данни с код. Наслади се!

Домашно калибриране

Когато сте ги сглобили, центрирахте серво шпиндела. Сега ще видите колко близо сте се приближили и прецизно настройте техните домашни позиции. Уверете се, че сте инсталирали библиотеката VarSpeedServo от стъпка 1. Изтеглете файла icbob_home_calibration.zip по -долу и разархивирайте в директорията на Arduino. Отворете скицата в IDE на Arduino. Включете MICRO Magician с батерията. Свържете компютъра към платката и качете код. Шансовете са, че серво началните позиции няма да бъдат перфектни. Намерете следния раздел в кода. Продължете да коригирате и качвате, докато не се оправите.

//…………………………………………………….

// Започнете с 4 hm членовете на масива, настроени на 90 градуса. след това регулирайте // тези настройки, така че коленете да са изправени напред и стъпалата да са равни int hm [4] = {90, 90, 90, 90}; // масив за задържане на изходна позиция за всяко серво RH, RA, LH, LA // …………………………………………………….

Ако някой от вашите числа е по -малък от 50 или по -голям от 130, трябва да се върнете назад и да разглобите краката и да приближите вретената по -близо до центъра.

След като имате добра начална позиция, запишете числата. Тези номера ще ви трябват за останалите скици.

Стъпка 7: Програмиране - Преместете кода на генератора

Програмиране - Преместване на кода на генератора
Програмиране - Преместване на кода на генератора

Сега, за да накарате вашия бот да се движи. Изтеглете файла icbob_move_generator.zip по -долу и разархивирайте в директорията на Arduino. Отворете скицата в IDE на Arduino. Намерете следния раздел на кода. Поставете началните позиции, които сте записали за вашия бот в скицата.

// задаваме членовете на масива hm в началните позиции за вашия робот

// те могат да бъдат намерени с помощта на icbob_home_calibration скица const int hm [4] = {95, 95, 85, 90}; // масив за задържане на изходна позиция за всяко серво RH, RA, LH, LA

Следващият раздел на кода е мястото, където се въвеждат последователностите на преместването. Всяка линия има позиции за 4 -те серво (RH, RA, LH, LA) спрямо началната позиция.

// mv данни от масива. Всеки ред е „рамка“или позиция, зададена за 4 -те серво

// Множество линии създават група от движения, които могат да бъдат привързани към // създаване на ходене, завъртане, танц или други движения const int mvct = 6; // Направете това число равно на броя на редовете в масива const int mv [mvct] [4] = {{0, -40, 0, -20}, // Тези предварително заредени числа трябва да дават преход напред {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Това е кодът, който превръща данните от mv масива в серво бавни движения

void loop () // цикълът се повтаря завинаги

{// Преместване на последователност за (int x = 0; x <mvct; x ++) {// цикъл през броя на RH.slowmove (hm [0]+mv [x] [0], svsp); // линии "рамки" в масива RA.slowmove (hm [1] + mv [x] [1], svsp); LH бавно движение (hm [2] + mv [x] [2], svsp); LA.бавно движение (hm [3] + mv [x] [3], svsp); забавяне (framedelay); }}

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

След като ви омръзне да го виждате да ходи, можете да опитате свои собствени движения. Използвайте „save as“, за да преименувате скицата. След това играйте с числата и вижте какво можете да направите. Запазете числата между +50 и -50 или можете да напрегнете сервомоторите. Не забравяйте, че ако добавяте или изваждате редове, трябва да промените стойността на mvct, за да отразите промяната. Забавлявай се!

Стъпка 8: Окабеляване - HC -SR04 сонарен сензор (очи)

Окабеляване - HC -SR04 сонарен сензор (очи)
Окабеляване - HC -SR04 сонарен сензор (очи)
Окабеляване - HC -SR04 сонарен сензор (очи)
Окабеляване - HC -SR04 сонарен сензор (очи)

За тази стъпка ще ви трябват icbob_shell 3D печат, ултразвуков сензор HC-SR04, плосък женски кабел и един 10k ом резистор. Това трябва да завърши частите в нашия списък. Да!

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

След това издърпайте 4 нишки от плоския кабел. Включете 4-те проводника в щифтовете на сензора HC-SR04.

MICRO Magician вътрешно работи на 3,3 волта и щифтовете могат да приемат само 3,3 волта сигнал. Проблемът е, че HC-SR04 работи при 5 волта. Той може да използва вход от 3,3 волта като сигнал за "задействане", но когато изпраща сигнал "ехо", той е 5 волта и ще повреди входа на контролера, ако бъде свързан директно. Трябва да поставим 10k ohm ограничаващ ток резистор върху проводника „ехо“, за да защитим входа.

АКТУАЛИЗАЦИЯ: Въпреки че не сме имали проблеми само с вградения резистор 10K, в коментарите беше посочено, че най -добрата практика показва, че тук трябва да се използва верига с делител на напрежение. В допълнение към 10K резистора, 15K резистор трябва да бъде поставен между „ехо“и „земя“.

Нарежете резисторните проводници на 0,5 инча. Резисторът влиза в ехото на вашия плосък кабел. Слагаме капка супер лепило върху връзката, за да й помогнем да остане на мястото си.

Скицата използва щифт 13 за спусък и щифт 3 за ехо. Използвайте групата щифт 13 на контролера за „gnd“, „vcc“, „триг“в този ред, работещ от ръба към центъра. Ще трябва да пресечете някои проводници тук, за да го оправите. "Ехо" проводникът с резистора се включва в гнездото на женския щифт 3.

Ако искате да проверите сензора, преди да преминете към следващата стъпка, можете да използвате първата скица на тази страница https://arduino-info.wikispaces.com/UltraSonicDistance, за да го тествате. Ще ви е необходима свързана батерия. Можете да видите отчитането на разстоянието на серийния монитор. Уверете се, че сте задали 'trigger_pin' на 13 и 'echo_pin' на 3 в скицата.

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

Стъпка 9: Програмиране - Walk_Avoid_Turn код

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

Знаеш рутината. Изтеглете файла icbob_walk_avoid_turn.zip по -долу и разархивирайте в директорията на Arduino. Отворете скицата в IDE на Arduino. Намерете следния раздел на кода. Поставете началните позиции, които сте записали за вашия бот в скицата.

// задаваме членовете на hm масива в началните позиции на вашия робот

// те могат да бъдат намерени с помощта на icbob_home_calibration скица const int hm [4] = {95, 95, 85, 90}; // масив за задържане на изходна позиция за всяко серво RH, RA, LH, LA

Тази скица добавя втори масив за преместване и втори набор от код за бавно движение за хода „завой“.

// препраща данни на масива

const int fwdmvct = 6; // Направете това число равно на броя редове в масива const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // ходете напред рамки за преместване {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},}; // обръщаме данните от масива const int trnmvct = 5; // Направете това число равно на броя редове в масива const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // завъртете рамки за преместване {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Добавихме код за откриване на препятствия на сонара, както и изявление „if“„else“, за да решим дали вървим направо или завиваме.

Окончателно сглобяване и стартиране

Оставете батерията изключена и качете скицата. Изключете кабела за програмиране. Уверете се, че превключвателят на захранването на контролера е в положение "включено" надолу. Внимателно плъзнете черупката върху основата с USB захранващия кабел, забит през горния отвор. Поставете батерията. Включете го. Вашият ICBob трябва да започне да се движи и да се обръща, за да избегне препятствия по -близо от 7 инча.

Стъпка 10: Обобщение

Надяваме се, че ще се забавлявате толкова много, колкото и ние, изграждайки своя ICBob. Кажете ни, ако имате въпроси или коментари. Ако изградите такъв, уведомете ни тук или повече на Thingiverse.

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