Съдържание:

Изградете говореща робот глава, задвижвана от Arduino !: 26 стъпки (със снимки)
Изградете говореща робот глава, задвижвана от Arduino !: 26 стъпки (със снимки)

Видео: Изградете говореща робот глава, задвижвана от Arduino !: 26 стъпки (със снимки)

Видео: Изградете говореща робот глава, задвижвана от Arduino !: 26 стъпки (със снимки)
Видео: 👍 Octavia A7 с пробегом: чего стоит опасаться и какую версию выбрать? 2024, Юли
Anonim
Изградете говореща робот глава, задвижвана от Arduino!
Изградете говореща робот глава, задвижвана от Arduino!

Тази глава на робота първоначално е построена като проект за края на годината за моя клас по физически изчисления, но през лятото тя се „научи” как да говори. Главата се захранва от два Freeduinos, 3 чипа TLC5940NT и вълнов щит Adafruit Industries, намерен тук: www.ladyada.net/make/waveshield/. Понастоящем главата е свързана с компютър чрез два USB кабела, един за захранване, един за изпращане на серийни команди за това какво да кажете/емотирате. След като главата получи въведени команди какво да каже/емотира, тя възпроизвежда отделните файлове с думи, за да създаде изречение или няколко изречения. Той също така променя емоциите си според емоционалните команди, изпратени от компютъра. Тази роботизирана глава е основа за много възможни приложения, тъй като може да каже всичко, за което има речника. В момента работя по свързването му към интернет и проверката и четенето на имейла ми чрез PHP скрипт. Ще актуализирам този Instructable, докато напредвам заедно с това. Ето видеоклип от него в действие: Ръководителят е все още текущ проект, така че всякакви коментари по всичко тук са повече от добре дошли! Специални благодарности на Лиз Арум, че ми помогна във всичко! Актуализация: Поради популярната заявка, която сега добавих видеоклип на робота, който говори и изразява себе си! Наслаждавайте се в свободното си време!

Стъпка 1: Компилирайте всички материали/части/електроника

Тази роботизирана глава използва: 1 Платка (Тя трябва да бъде дълга повече от 48 реда с празнина, преминаваща по средата на дъската за свързване на IC чипове. Захранваща и заземена шина, която се движи покрай страната на макета, също е необходимост.) 2 RGB светодиода (за многоцветните очи) Общ анод. $ 1,50 - 1,95 всеки. 2 X $ 1,75 = $ 3,5036 Red Led (За устата) някъде около ценовия диапазон от 40-50 цента за всеки. 36 X $.45 = $ 16.202 HXT900 Micro Servos (За раздвижване на веждите) Можете да намерите на: https://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=662 2 X $ 3.65 = $ 7.303 TLC5940NT's (До задвижване/осветяване на всички светодиоди и управление на сервомоторите) могат да бъдат намерени на Digi-key https://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=296-17732-5-ND, където са на цена на 4,28 долара. 3 X $ 4,28 = 12,84 $ или Mouser https://www.mouser.com/ProductDetail/Texas-Instruments/TLC5940NT/?qs=sGAEpiMZZMu8%252bGBKj8XSFEjwsgnt5grMZ49G/W4nR14%3d3 кондензатори (id) за кондензатори и 1000 servos) Спасени от старо компютърно захранване. Free2 Original Freeduinos или Arduinos. Freeduinos могат да бъдат закупени на https://www.freeduino.org/buy.html Те са на цена от 23.99 всеки. 2 X 23,99 $ = 47,98 $ Или www.sparkfun.com/commerce/product_info.php за Arduinos. На цена от $ 29.95 всеки. 2 X $ 29,95 = $ 59,90. Предупреждение: Freeduinos изискват известни познания за запояване, ако искате да не запоявате дъските си, купете Arduino. Внимание: Този Instructable изисква известни познания за запояване, така че защо да не започнете сега?:) 1 Waveshield от Adafruit Industries (За да позволи на робота да говори) Може да бъде закупен на: https://www.ladyada.net/make/waveshield/ На цена от $ 22 всяка. Прогнозна обща цена на всички високотехнологични части (без доставка) ако сте закупили Freeduinos вместо Arduinos е…. 109.82 $! Общата цена на всички високотехнологични части, ако сте закупили Arduinos вместо Freeduinos е…. $ 121.74! А що се отнася до нискотехнологичните материали, които ще ви трябват: Картонена кутия със същия размер, каквато искате да бъде главата ви. Малко парче картонTapeGlueBreadboard съвместима жица (22 габарита, плътна) Тел за закрепване на неща към други неща Малък блок от дърво Електрическа бормашина. Топлинно свиващи тръби за изолиране на откритите проводници и нещо, което издухва горещ въздух, за да го свие с (пистолет за горещ въздух) Кутийка.

Стъпка 2: Сглобете и запойте всички печатни платки и щитове

Сглобявайте и запоявайте всички платки и щитове
Сглобявайте и запоявайте всички платки и щитове

Запоявайте Freeduinos (както направих аз), или пренебрегвайте тази линия, ако сте закупили Arduino. Ето връзката към техните инструкции за сглобяване за всички хора, закупили Freeduinos: mcukits.com/2009/03/12/assembling-the-freeduino-board-kit/Selder the Waveshields. Лейди Ада има много добро ръководство за това как да направите това на своя уебсайт на https://www.ladyada.net/make/waveshield/solder.html Забележка: В допълнение към спояването на Waveshield, както е описано. Добавете дълъг проводник, запоен върху резистора R7 от страната, най -близо до чипа на усилвателя. Това ще бъде свързано към аналоговия вход 1 на Freeduino, който управлява светодиодите на главата на робота. (Засега не се притеснявайте къде да включите другия край на проводника, това ще бъде обяснено подробно по -късно.) Вижте снимката за пояснение къде да запоите проводника.

Стъпка 3: Проектирайте главата на робота

Проектирайте главата на робота
Проектирайте главата на робота

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

Стъпка 4: Проектирайте главата на робота: Изрязване на очите

Проектирайте главата на робота: Изрязване на очите
Проектирайте главата на робота: Изрязване на очите

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

Стъпка 5: Проектирайте главата на робота: Изработка на LED матрица за устата

Проектирайте главата на робота: Изработка на LED матрица за устата
Проектирайте главата на робота: Изработка на LED матрица за устата
Проектирайте главата на робота: Изработка на LED матрица за устата
Проектирайте главата на робота: Изработка на LED матрица за устата
Проектирайте главата на робота: Изработка на LED матрица за устата
Проектирайте главата на робота: Изработка на LED матрица за устата

Всеки светодиод в устата ще светне независимо. За да направите това, трябва да направите LED матрица за устата. (За представа какво е LED матрица, вижте снимка 1) Вземете парчето хартия, което трябва да е устата, и с молив и линийка разделете парчето хартия на 36 части (9 X 4), По един за всеки светодиод в мрежата. След като направите това, залепете парчето хартия на парче дърво и внимавайте да не пробиете пода (това се случи с мен, затова препоръчвам пробиване върху картонена кутия.) Пробийте дупки, където линиите се пресичат със свредло 1/4 инча, така че вашите светодиоди да прилягат плътно. Размерът на свредлото очевидно зависи от размера на вашите светодиоди, така че използвайте по -малък свредло за по -малки светодиоди. (Започнете малко и продължете напред!) Погледнете снимки 2 и 3 за пояснение относно пробиването/маркирането.

Стъпка 6: Създаване на LED матрица за уста: Запояване в светодиодите

Създаване на LED матрица за уста: Запояване в светодиодите
Създаване на LED матрица за уста: Запояване в светодиодите
Създаване на LED матрица за уста: Запояване в светодиодите
Създаване на LED матрица за уста: Запояване в светодиодите
Създаване на LED матрица за уста: Запояване в светодиодите
Създаване на LED матрица за уста: Запояване в светодиодите

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

Стъпка 7: Създаване на LED матрица за уста: Запояване на контролни проводници към светодиодите

Създаване на LED матрица за уста: Запояване на проводници за управление на светодиодите
Създаване на LED матрица за уста: Запояване на проводници за управление на светодиодите
Създаване на LED матрица за уста: Запояване на проводници за управление на светодиодите
Създаване на LED матрица за уста: Запояване на проводници за управление на светодиодите
Създаване на LED матрица за уста: Запояване на проводници за управление на светодиодите
Създаване на LED матрица за уста: Запояване на проводници за управление на светодиодите

Запояйте дълги проводници, които могат да се поберат в макет (22 габарит) върху всички LED катодни проводници. Тези проводници ще контролират светодиодите. След това не забравяйте да изолирате всички отделни проводници с електрическа лента (не е забавно) или термосвиваеми тръби (препоръчително). В допълнение към запояване на проводници върху всички светодиоди Катодните проводници, запоявайте 2 или 3 проводника върху анодната част на мрежата (Частта, която е запоена заедно). Тези проводници ще служат като захранващи устройства, разпределящи енергия по цялата мрежа. Те ще бъдат свързани към 5V.

Стъпка 8: Инсталирайте серво движещите се вежди вътре в главата на робота

Инсталирайте серво движещите се вежди вътре в главата на робота
Инсталирайте серво движещите се вежди вътре в главата на робота
Инсталирайте серво движещите се вежди вътре в главата на робота
Инсталирайте серво движещите се вежди вътре в главата на робота
Инсталирайте серво движещите се вежди вътре в главата на робота
Инсталирайте серво движещите се вежди вътре в главата на робота

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

Стъпка 9: Инсталирайте решетката вътре в главата на робота

Инсталирайте решетката вътре в главата на робота
Инсталирайте решетката вътре в главата на робота
Инсталирайте решетката вътре в главата на робота
Инсталирайте решетката вътре в главата на робота

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

Стъпка 10: Запоявайте RGB светодиодите

Запоявайте RGB светодиодите
Запоявайте RGB светодиодите

Запоявайте обикновения аноден RGB LED проводник към дълъг проводник. След това запояйте цветен проводник (червен, зелен, син) към RGB LED проводника, който му съответства (Цветът на отделен проводник може да се установи, като използвате батерия с 3V бутон, за да светнете всеки LED проводник на свой ред). Не забравяйте да изолирате проводниците!

Стъпка 11: Инсталирайте RGB светодиодите вътре в главата на робота

Инсталирайте RGB светодиодите вътре в главата на робота
Инсталирайте RGB светодиодите вътре в главата на робота
Инсталирайте RGB светодиодите вътре в главата на робота
Инсталирайте RGB светодиодите вътре в главата на робота

Инсталирайте светодиодите вътре в главата на робота, като ги поставите където искате и след това сгънете и залепете проводниците към вътрешността на кутията. Поставянето на сламка за пиене под светодиода също помага да се поддържа на място. (Вижте снимките за пояснение)

Стъпка 12: Завършете създаването на очите

Завършете създаването на очите
Завършете създаването на очите
Завършете създаването на очите
Завършете създаването на очите

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

Стъпка 13: Свържете чиповете TLC5940NT

Свържете чиповете TLC5940NT
Свържете чиповете TLC5940NT
Свържете чиповете TLC5940NT
Свържете чиповете TLC5940NT
Свържете чиповете TLC5940NT
Свържете чиповете TLC5940NT

В тази стъпка ще трябва да свържете последователно 3 TLC5940NTs, за да управлявате общо 42 LED изхода (36 за устата, 6 за разноцветните очи). Хората на детската площадка Arduino имат много добре документирано ръководство за свързване как да маргаритка верига 3 TLC5940NTs заедно. Тук е в компресирана форма: Arduino щифт 13 -> SCLK (TLC пин 25) Arduino щифт 11 -> SIN (TLC пин26) Arduino щифт 10 -> празен (TLC щифт 23) Arduino щифт 9 -> XLAT (TLC щифт 24) Arduino pin 3-> GSCLK (TLC pin 18) -------------- U ------------ LED Out 1 | 1 28 | LED Out 0LED Out 2 | 2 27 | GNDLED Out 3 | 3 26 | SIN (Ard pin 11.) LED Out 4 | 4 25 | SCLK (Ard pin 13) … | 5 24 | XLAT (Ard щифт 9) … | 6 23 | ЧАСТ (Ard pin 10) … | 7 22 | GND… | 8 21 | VCC (5V) … | 9 20 | 2K резистор към земята … | 10 19 | 5V … | 11 18 | GSCLK (Ard pin 3) … | 12 17 | SOUT (свързан към SIN на следващия TLC в Daisychain) … | 13 16 | XERR Изход 14 | 14 15 | LED Out 15 ----------------------------- Забележка: ние сме Daisychaining 3 TLCs, така че SIN на първия TLC е свързан към Arduino пин 11. Останалите TLC имат своя SIN свързан към SOUT на TLC, предхождащ го. Всички BLANKs са свързани помежду си (BLANK на TLC1 е свързан с BLANK на TLC2 и т.н. …) Всички XLATs са свързани. SCLKs са свързани. Всички GSCLKs са свързани. Всички XERRs са свързани. Също така включете 2 или 3 електролитни кондензатора към заземяването и захранването на макетната платка (отрицателно на кондензатора, който отива към земята, положителен до 5V). Размерът на таксата, която притежава, не е толкова важен, но трябва да бъде оценен за 5V или повече. Тези кондензатори ще действат като филтър, филтриращ всички несъвършенства (шум) в захранващото напрежение, което TLC произвеждат. Това е важно, защото Waveshield, който ще използваме, споделя същата основа като TLCs и НАИСТИНА не харесва електрически шум (създава странен щракващ шум).

Стъпка 14: Свържете светодиодите към TLC

Свържете светодиодите към TLC
Свържете светодиодите към TLC
Свържете светодиодите към TLC
Свържете светодиодите към TLC

Свържете всички светодиоди към TLC, ред по ред, като започнете с този в горния ляв ъгъл и преминете към светодиода директно вдясно. Ето мрежа от всички LED изводи TLC, включени за ваше удобство. Вижте снимки за пояснение. Уста: 0 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Сега също е подходящ момент да включите вашите RGB LED очи към TLCs, така че ето изводите… RGB LED очи: Вляво: RGB Вдясно: RGB 36 40 38 37 41 39 Не забравяйте за да включите универсалните захранващи проводници за Grid и RGB светодиоди в 5V!

Стъпка 15: Свържете Servos към TLC

Свържете сървърите към TLC
Свържете сървърите към TLC

Свържете захранването и заземяването на сервомоторите към захранването и заземяването на вашата дъска. Свържете контролния проводник на лявото серво (вашето ляво, докато сте обърнати към робота.) Към щифт 43 (не забравяйте, че започнете от нула.) И десния серво към щифт 44. Ще трябва да свържете резистор 3.3K ohm от двата пина до 5V, тъй като TLC са захранвания и изискват захранване, за да потънат.

Стъпка 16: Сега навлизате в страната на софтуера и кода! (най -вече)

Моля, не влизайте в нарушение …

Стъпка 17: Изтеглете библиотеката TLC

Най -новата библиотека TLC за Arduino може да бъде намерена на кодовата им страница в Google на адрес: code.google.com/p/tlc5940arduino/. Изтеглете най -новата библиотека и вмъкнете разархивираната папка „Tlc5940“в [папка с най -новата версия на Arduino]/хардуер/ библиотеки/

Стъпка 18: Тествайте TLC

Заредете моята скица за тестване на сериен израз, която можете да изтеглите по -долу. Заредете го в Freeduino и въведете няколко команди в серийния монитор, за да проверите дали всичко работи. Ето списъка с команди: behappybesadbemadfullmouthlinemouthoffmouthoffeyesbluegreeneyesredeyesblueeyesopenmouthtalkmouth (Не говори, но прави движения на устата)

Стъпка 19: Изтеглете подобрената, поддържаща с голям капацитет (донякъде) библиотека Waveshield

Изтеглете новия подобрен вълнов щит Adafruit от кода на Google (благодаря ви, г -н Fat16, че създадохте тази подобрена библиотека): code.google.com/p/wavehc/ Отново залепете разархивираната папка в хардуера/библиотеките/папката.

Стъпка 20: Форматирайте и заредете вашите SD карти

Поставете вашите SD карти в компютъра си и ги форматирайте, като използвате типа файл FAT или FAT16. НЕ FAT32! След това заредете SD картите си с речеви файлове от страхотния текст на AT&T в говорния сайт www.research.att.com/~ttsweb/tts/demo.php#top Преименувайте файловете на името на думата, която говори във файла и отсечете това име на файл на нещо, което съдържа 6 или по -малко букви. (Вълновият щит може да обработва само файлове, чиито имена на файлове са 6 знака или по -малко.) Пример. Ако изтеглите файла за „Instructables.com“-> го кръстете instrc.wav Ако е здрав -> hello.wav

Стъпка 21: Тествайте своя Waveshield

Изтеглете и стартирайте моята серийна тестова скица на Waveshield. Трябва да можете да преминете през серийния терминал, да въведете изречение и Waveshield да го възпроизведе (стига да има.wav файлове, от които се нуждае). Ще вземе първата дума, добавете ".wav" и я пуснете, преди да преминете към втората. Пример. Въвеждате: Здравейте, казвам се Боб Ще свири: hello.wavmy.wavname.wavis.wavbob.wav Забележка: Тествайте Waveshield на другия Freeduino (този, който не е свързан с TLC), тъй като Waveshield и TLCs използват щифтове 13, 12, 11 и 10 (на Freeduino). Това е така, защото тези пинове имат хардуерна поддръжка за интерфейс, наречен Serial Peripheral Interface (SPI), който се изисква както от TLC, така и от Waveshield. Тези щифтове не могат да се споделят помежду им, така че ще трябва да свържем два Freeduinos заедно, използвайки интерфейса I2C, така че да могат да предават информация помежду си. Повече за това в стъпка 22.

Стъпка 22: Свържете I2C интерфейса между двете Freeduinos

Свържете I2C интерфейса между двете Freeduinos
Свържете I2C интерфейса между двете Freeduinos

Изчакайте … Защо трябва да свързваме I2C интерфейс между две Freeduinos? Защо не можем просто да включим Waveshield и TLC в едно Freeduino? Ето защо: И Waveshield, и TLC използват щифтове 13, 12, 11 и 10 на Freeduino. Причината за това е, че тези пинове имат хардуерна поддръжка за интерфейс, наречен Serial Peripheral Interface (SPI), който и TLC, и Waveshield изискват и не могат да споделят. Това означава, че ще трябва да свържем две Freeduinos заедно, използвайки някаква връзка за данни, така че и двете да работят заедно в тандем. Сериалът не беше опция, защото компютърът ми вече го използваше за комуникация с Waveshield Freeduino, така че след интензивно търсене в Google намерих изключително удобен и прост метод за комуникация. I2C! Ето как да свържете интерфейса: Свържете щифт 4 на аналоговия вход на двата Freeduinos (Това е SDA или серийната линия за данни.) Свържете пина 5 на аналоговия вход на двата Freeduinos (Това е SCL или серийната тактова линия.) Свържете земята на двата Freeduinos (В противен случай интерфейсът I2C няма да работи.) Свържете проводника, който сте запояли в началото на тази инструкция от резистор R7 на Waveshield към аналогов входен пин 1 на TLC, контролиращ Freeduino (Този проводник е за проверка на силата на звука на думите, изговорени от Waveshield и не са част от интерфейса I2C). (Вижте снимката за пояснение)

Стъпка 23: Активирайте I2C на TLC контролиращия Freeduino

Активирайте I2C на Freeduino, който сте използвали за контрол на TLC, като изтеглите тази скица. Той ще получава информация за изрази от Waveshield и също така ще проверява силата на звука на речевия изход на Waveshield Freeduino и ще премества устата, за да симулира говоренето в зависимост от силата на думата, която се говори. Определение I2C: I2C е известен също като TWI (Two Wire Interface) е лесен начин за свързване на множество устройства заедно (до 128!) С два проводника за данни и обща основа. Актуализация: Добавих функция за мигане към Arduino Sketch. Роботът сега ще мига на интервали от 2-11 секунди, точно като човек.

Стъпка 24: Тествайте I2C интерфейса

Изтеглете тази скица и я качете на Waveshield Freeduino, тя изпраща думите "behappy;" и след това "besad;" през I2C интерфейса към TLC, контролиращ Freeduino на интервали от две секунди, надявайки се да направи робота от щастлив до тъжен на интервали от две секунди.

Стъпка 25: Почти сте готови! Просто код за зареждане …

Заредете окончателната версия на кода на Waveshield Freeduino. Трябва да вземе всички думи, които въвеждате в серийния монитор и да ги произнесете (стига да има.wav файловете, за да го направи) и трябва да предава команди за израз като "behappy;" и "besad;" върху Freeduino, контролиращ TLC чрез интерфейса I2C. Забележка: Списъкът с команди е един и същ за по-ранния TLC тест код (Вижте стъпка 17), с изключение на това, че трябва да добавите точка и запетая към всяка команда за израз. EX. Ако искате роботът да бъде тъжен и да каже „Чувствам се тъжен“, тогава напишете: besad; Чувствам се тъжен. Актуализация: Скицата на Waveshield Sketch сега използва правилно пунктуацията (т.е. точки и запетаи, но бележки с удивителен знак).

Стъпка 26: Монтирайте всичко върху кутията на главата на робота и сте готови

Монтирайте всичко върху кутията на главата на робота и сте готови!
Монтирайте всичко върху кутията на главата на робота и сте готови!
Монтирайте всичко върху кутията на главата на робота и сте готови!
Монтирайте всичко върху кутията на главата на робота и сте готови!

Монтирайте всички Freeduinos върху гърба на кутията с проводници. Затворете горния капак на кутията с проводници и сте готови! Сега само ако можеше да провери имейла ми. Хммм … …, благодаря ви, че прочетохте тази инструкция! Коментарите винаги са добре дошли за всичко!

Втора награда в конкурса Arduino

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