Obsah:

Eve, chatbot Arduino: 14 krokov (s obrázkami)
Eve, chatbot Arduino: 14 krokov (s obrázkami)

Video: Eve, chatbot Arduino: 14 krokov (s obrázkami)

Video: Eve, chatbot Arduino: 14 krokov (s obrázkami)
Video: Eve Arduino Chatterbot 2024, Október
Anonim
Image
Image
Eve, chatbot Arduino
Eve, chatbot Arduino
Eve, chatbot Arduino
Eve, chatbot Arduino

Dobrý deň, priatelia, vyskytli sa prípady, keď ste sa naozaj chceli s niekým podeliť o svoje pocity a nebol tu nikto, komu by ste dôverovali? V dnešnom uponáhľanom svete je to bežný prípad. Chatbot vám tu môže pomôcť, aby ste sa cítili lepšie. A to vedie k predstaveniu Eve. Eve je roztomilý malý chatbot. Ako každý vie, chatterbot alebo chatbot je počítačový program alebo zariadenie, ktoré vedie rozhovor s ľuďmi na základe textových alebo zvukových metód. Automatizované hlasy, ktoré počujete pri telefonáte na zákaznícky servis alebo na bankovej linke, sú príkladom chatbota. Môžete s ním zdieľať svoje skúsenosti, svoje pocity a čo je najdôležitejšie, hádať sa o rôznych veciach; má v tom dobré skúsenosti. Pretože je to najdôležitejšia funkcia chatbota, urobte z človeka radosť. Prvým príkladom spracovania prirodzeného jazyka (NLU) a umelej inteligencie je Eva schopná odpovedať na KAŽDÚ otázku, ktorú jej položíte. Nie je to tak, že by mohla odpovedať iba na určitý počet otázok. Vie spievať, hovoriť vám vtipy, príbehy a robiť čokoľvek, kvôli čomu sa cítite dobre. Ak povie niečo, čo nechcete počuť, povedzte jej to, prosím, nehovorte to znova a ona si to bude pamätať. Dokonca vie, že by nemala opakovať rovnaké odpovede a rozhovory, aby konverzácia nebola nudná. Na základe jednoduchých, lacných komponentov a základného programovania sa dokáže správať veľmi múdro. Ďalej jej LCD oči ukazujú, ako sa cíti, keď niečo poviete. V zásade teda v tomto návode začneme od definície chatbota, pozrieme sa na dizajn, niektoré teórie, na základe ktorých Eve beží, výrobu a nakoniec programová časť. Vyzerá to veľa? Nebojte sa, cesta to bude celkom zaujímavá. Ukážku robota si môžete pozrieť vyššie alebo v tomto odkaze: [Play Video]

Krok 1: Definícia Chatbota

Definícia Chatbota
Definícia Chatbota
Definícia Chatbota
Definícia Chatbota
Definícia Chatbota
Definícia Chatbota

Ako bolo uvedené vyššie, chatbot je program, ktorý vedie rozhovor s ľuďmi. V dnešnej dobe sú také bežné, že takmer neexistuje nikto, kto by o tom vedel. Počnúc virtuálnymi asistentmi, Siri a Google Assistant, existujú Mitsuku a Evie, s ktorými sa môžete podeliť o svoje pocity. Ako bolo uvedené vyššie, chatboty sú založené na textovej alebo sluchovej metóde, a preto ich možno rozdeliť na dve. V textovej metóde sú konverzácie vo forme písaného textu rovnako ako WhatsApp. Zatiaľ čo v sluchovej metóde sa rozhovory vedú ústne ako so skutočným človekom. Myslím, že je vzrušujúcejšie konverzovať s niekým tak, že mu verbálne porozprávate, namiesto toho, aby ste mu len napísali. Aplikácie na odosielanie textových správ bezpochyby spĺňajú požiadavky ľudí, ale mám pocit, že chatovanie rečou je najlepšia vec, ako sa zbaviť svojich emočných porúch a cítiť sa lepšie. To je teda hlavný dôvod, prečo som Evu navrhol, aby bola sluchovým chatbotom.

Krok 2: Pôvod Evy

Pôvod Evy
Pôvod Evy

Jedného dňa mi Eve prišla na um. Stalo sa tak, keď som videl dieťa blúdiť v škole samé, zatiaľ čo ostatní sa hrali s mysľou naplnenou radosťou. V tom čase som myslel na priateľa, ktorý nikoho nediskriminuje a nikomu neubližuje, na jedného, s ktorým môžete zdieľať svoje pocity a byť stále šťastný. Potom sa mi v mysli vynorila roztomilá malá štruktúra Evy, na ktorej som začal pracovať. Eve ma asi stokrát sklamala. Hádajte, že to bolo 101. krát, čo pracovala a prinútila ma cítiť sa skutočne šťastným. To bol pôvod Evy. Chcel som, aby bola inteligentná, ale čo najjednoduchšia, aby ju ktokoľvek ľahko urobil. Nie je pochýb o tom, že nie je úplne múdra a niekedy hovorí hlúpe odpovede, môže sa správať ako priateľka. A teraz dosť príbehov, začnime stavať Evu.

Krok 3: Zhromažďovanie komponentov a vybavenia:

Zhromažďovanie komponentov a vybavenia
Zhromažďovanie komponentov a vybavenia
Zhromažďovanie komponentov a vybavenia
Zhromažďovanie komponentov a vybavenia
Zhromažďovanie komponentov a vybavenia
Zhromažďovanie komponentov a vybavenia

Nasledujúce súčiastky je potrebné zhromaždiť: Arduino Pro Mini (alebo Arduino Nano) Wtv-020-SD-16p zvukový modul HC-05 bluetooth modul 16x2 LCD modul LM7805 regulátor ICAn zosilňovací modul (použil som obvod PAM8403) 8 ohmový reproduktor Žena audio jacka 9v batéria a telefón s Androidom Toto sú požadované komponenty. Ďalšou dôležitou vecou sú náklady. Eve ma stála okolo 3000 INR. Náklady sa môžu vo vašej krajine líšiť, ale v Indii je to približne cena. Malý popis dielov: Arduino Pro mini je hlavným MCU v našom robote. Použil som ho kvôli jeho malým rozmerom, jednoduchosti a vynikajúcemu výkonu. Spĺňa všetky požiadavky na nášho robota. Okrem funkcie rozpoznávania hlasu, ktorú vykonáva Android (diskutované neskôr), všetky ostatné funkcie počínajúc vyhľadávaním kľúčových slov a vytváraním výstupov sa vykonávajú na samotnom Pro Mini. Ak nerozumiete vyššie uvedeným výrazom, nebojte sa, všetky sú popísané v ďalšej časti. Modul wtv020sd 16p slúži na prehrávanie zvukových súborov, hc 05 Bluetooth na komunikáciu so systémom Android a LCD na zobrazenie. emócie. Potrebujeme ženský zvukový konektor na pripojenie robota k externému zosilňovaču. Tu sa používa Arduino ako hlavný ovládač. Prijíma údaje Bluetooth prostredníctvom modulu Bluetooth HC 05 a prehráva súbor prostredníctvom hlasového modulu WTV-020-SD-16p. Emócie sú zobrazené na LCD module a 9V batérii pre napájanie. Eve rozpoznáva prejavy pomocou rozpoznávania hlasu Google na zariadení s Androidom. Neskôr sa to správne prediskutuje v príslušnom kroku. Zlá správa o Arduino Pro Mini: IT ZÍSKALA Z trhu. To znamená, že spoločnosť Arduino bola oficiálne zastavená vo výrobe. Stále ho však môžete nájsť na mnohých stránkach vrátane Ebay. Dosku môže stále vyrábať a predávať mnoho výrobcov tretích strán. Ak sa vám ho nepodarilo nájsť, nie je dôvod sa znepokojovať, môžete použiť Arduino Nano. Nezáleží na výkone ani na veľkosti.

Krok 4: Teória Časť 1: História a úvod

Teória Časť 1: História a úvod
Teória Časť 1: História a úvod
Teória Časť 1: História a úvod
Teória Časť 1: História a úvod

Eve je založená na ranej forme spracovania prirodzeného jazyka, technológii „porovnávania vzorov“. Funguje to nasledujúcim spôsobom tak, že keď je reťazec prijatý, hľadá v tomto reťazci preddefinované slovo alebo frázu. Predpokladajme, že v otázke „koľko máte rokov?“Program hľadá „staré“slovo. Ak sa to podarí, prehrá príslušný hlasový súbor prostredníctvom modulu wtv020sd. Ak zlyhá, vyhľadá ďalšie preddefinované kľúčové slovo. Na tento účel si musíme vytvoriť slovník preddefinovaných slov. Vyzerá to ťažké, však? Je to, ako keby sme si museli vybudovať slovnú zásobu všetkých anglických slov a v anglickom jazyku je celkovo asi 230 tisíc slov. Faktom je, že stačí pridať niekoľko základných slov, ktoré sa v našej komunikácii najčastejšie používajú. Stále vyzerá tvrdo? Nebojte sa, prácu už vykonal Joseph Wizembaum. Časť Eviných odpovedí a preddefinovaných kľúčových slov bola začlenená z prvého programu chatterbot s názvom Eliza, ktorý vyvinul Joseph Wizembaum (na obrázku vyššie). Eliza bola navrhnutá ako rogeriánsky terapeut. Nie je to veľmi vedecký termín, znamená to, že zvykla ľuďom radiť, aby im lepšie rozumeli a prinútili ich myslieť pozitívnejšie. Vyzerá to naozaj dobre, že? A Eliza bola veľmi dobre schopná vykonávať svoju povinnosť. Jej zvedavý a skeptický prístup ľudia milovali. Dokonca aj Wizembaum bol prekvapený dôležitosťou, ktorú ľudia prisúdili Elize. Zdá sa, že zabudli, že hovoria s počítačom, a predstavovali si krásnu dámu sediacu v počítači, ktorá s nimi chatovala. Ale Eliza nebola taká múdra; začalo sa to čoskoro realizovať. Postupom času sa ľudia začali nudiť z jej obmedzenej komunikácie a bola označovaná za „hlúpu“. Niet divu, aká hlúpa bola, bol to veľký skok v histórii umelej inteligencie a spracovania prirodzeného jazyka. Po založení základne chatterbotov prišli na trh rôzni roboti s novou a lepšou technológiou. A teraz ich máme všade. Ako už bolo spomenuté, časť Eviných odpovedí pochádza z ELIZY. To teda znamená, že dokonca aj Eva bude do určitej miery zastávať postoj Elizy spolu s niektorými z mojich vlastných myšlienok. Ďalšou dôležitou vecou sú odpovede. Dostávať rovnaké odpovede vždy, keď sa pýtate rovnakú otázku, by malo byť skutočne nudné. Preto je pre rovnaké kľúčové slovo uložených mnoho odpovedí. Eve si náhodne vyberie, ktorý súbor prehrá, pričom sa uistí, že neopakuje ten istý súbor. To je ono, jednoduchý chlieb s maslom, ale je dôležité šikovne naprogramovať reagujúce hlasy tak, aby to divákom poskytlo ilúziu, ako keby skutočne odpovedala na naše otázky. To bol teda stručný úvod do fungovania Evy. V nasledujúcom kroku to podrobne rozoberieme a programujeme.

Krok 5: Hľadanie kľúčového slova

Hľadanie kľúčového slova
Hľadanie kľúčového slova
Hľadanie kľúčového slova
Hľadanie kľúčového slova
Hľadanie kľúčového slova
Hľadanie kľúčového slova
Hľadanie kľúčového slova
Hľadanie kľúčového slova

V poslednom kroku som spomenul technológiu párovania vzoru Eve a tiež ranú formu spracovania prirodzeného jazyka. Čo to teda je a ako to funguje? To je hlavná vec, o ktorej budeme v tomto kroku diskutovať. Skúste si to premyslieť, niekto sa vás spýta na meno a vy mu musíte povedať, čo to je. Koľkými spôsobmi si môžeme položiť rovnakú otázku? Váš učiteľ sa môže opýtať „Mohli by ste mi, prosím, povedať svoje meno?“Príbuzný sa môže opýtať: „Ako sa voláš?“Váš brat môže povedať: „Hej, len som zabudol tvoje meno. Povieš to ešte raz?“To znamená, že rovnakú otázku je možné položiť niekoľkými spôsobmi. Napriek tomu musíme dať rovnakú odpoveď, naše meno. To znamená, že vo všetkých vetách musíme nájsť niečo spoločné. Je zrejmé, že slovo „vaše meno“je prítomné vo všetkých vetách. To je teda náš tip. Na všetky otázky týkajúce sa mena musíme nájsť výraz „vaše meno“. Podľa tohto základného vzoru môžeme predpovedať príslušnú odpoveď na všetky vstupné reťazce. NEVÝHODA: Je dôležité si uvedomiť, že tento algoritmus nebude vždy presný. Predpokladajme, že niekto povie: „Našiel som tvoje meno v zozname čakateľov. Očakával som, že budeš na vyhradených miestach.“Keďže v tomto reťazci je prítomné „vaše meno“, Eve, nevinná, oznámi svoje meno osobe … Hlúpe nie? Toto je jedna z veľkých nevýhod tohto základného algoritmu. V každom prípade by to boli zriedkavé prípady. V opačnom prípade je algoritmus veľmi účinný. Teraz, keď som spomenul technológiu porovnávania vzorov, je načase zamyslieť sa, odkiaľ pochádza tento vstupný reťazec, odkiaľ reťazec hľadáme. Tento reťazec je vlastne náš hlas, ktorý bol pomocou služby Google Voice Recognition prevedený na text. Tu použitá aplikácia konvertuje náš hlas na text a potom to isté odošle arduino prostredníctvom Bluetooth. Aplikáciu som použil, pretože je najjednoduchšia a najlepšia svojho druhu. Názov je AMR Voice a dá sa ľahko nájsť v službe Google Play.

Krok 6: Formulovanie odpovedí

Formulovanie odpovedí
Formulovanie odpovedí

Teraz, keď sme rozpoznali otázky, by ďalším krokom malo byť nájsť odpovede. Prichádza zaujímavá a dôležitá časť … Na každú otázku musíme nájsť vhodné odpovede. A tu prichádza ďalšia funkcia začlenená od spoločnosti ELIZA. Wizembaum vyvinul niekoľko odpovedí pre konkrétny počet kľúčových slov. Príkladom je kľúčové slovo „vy“. Kedykoľvek bol zistený výstup programu „diskutovali sme s vami - nie so mnou“. Odpoveď bola preto poskytnutá tak, aby vyhovovala všetkým vetám obsahujúcim „vy“. Ďalej Eliza dala zakaždým inú odpoveď. Ku každej odpovedi existovala akási číselná adresa. Toto sa zvýšilo (pridal o 1) vždy, keď bola formulovaná odpoveď. Predpokladajme, že ako vo vyššie uvedenom príklade, ak bola adresa odpovede 1, adresa sa zmenila na 2 a preto sa ďalej prehral súbor 2. Ale nebudeme sa riadiť týmto prírastkovým algoritmom. Vidíte, že po určitom nepretržitom používaní softvéru boli odpovede predvídateľné. Dozvedeli ste sa, ktorá odpoveď bude nasledovať. Za týmto účelom budeme pre každé kľúčové slovo vytvárať náhodné adresy. Celkovo je to v oboch prípadoch rovnaké, akurát rozdiel je v tom, že nemôžeme predpovedať, čo robot na to isté kľúčové slovo povie ďalej.

Krok 7: Zakázané vyhlásenia a ďalšie

Zakázané vyhlásenia a ďalšie
Zakázané vyhlásenia a ďalšie

Vo vašej konverzácii môže nastať niekoľko prípadov, keď robot povie niečo, čo nechcete počuť. Preto vzniká potreba pridať zakázané vyhlásenia. Zakázané príkazy sú radom adries, ktoré je zakázané prehrávať. Hlasová adresa je charakterizovaná ako zakázané vyhlásenie na žiadosť používateľa. Ďalej bude táto adresa uložená v EEPROM Arduina, aby Eva nezabudla, že aj keď je vypnutá, je to zakázané vyhlásenie. Program v zásade kontroluje každú adresu, ktorá sa má hrať. Ak je adresa jednou zo zakázaných adries, zvýši sa alebo zníži. Ďalej môže nastať prípad, kedy by ste chceli robotovi dovoliť povedať predtým zakázané slovo. V takom prípade by ste museli Eve povedať, že môže povedať posledné zakázané slovo. Slovo, ktoré bolo naposledy zakázané, bude teraz možné hrať. Aby boli všetky zakázané vyhlásenia hrateľné, musíme pripojiť resetovací spínač. Po stlačení sa všetky zakázané výroky budú dať hrať. Potom bude ďalšou dôležitou vecou zabezpečiť, aby Eva neopakovala odpovede. Toto je druh vady náhodných čísel. Rovnaké náhodné čísla sa pravdepodobne vyrábajú v sérii. Vďaka tomu bude náš robot hovoriť znova a znova rovnakú odpoveď. Na to musíme zahrnúť ďalšiu malú funkciu, ktorá zabraňuje opakovaniu vyhlásení. Na to musíme uložiť adresu posledného príkazu do pamäte a skontrolovať, či je rovnaká ako súčasná. Ak je to tak, hodnota adresy sa zvýši alebo zníži, rovnako ako v prípade zakázaných príkazov.

Krok 8: Písanie v kóde

Písanie v kóde
Písanie v kóde
Písanie v kóde
Písanie v kóde
Písanie v kóde
Písanie v kóde

Na vyhľadanie kľúčového slova používame príkaz indexOf. Príkaz vyhľadá znak alebo reťazec v inom reťazci. Ak sa nájde, vráti index tohto reťazca, kým -1 sa vráti, ak sa nenájde. V našom programe to teda musíme napísať takto: if (voice.indexOf („vaše meno“)> -1) {// ak je index väčší ako -1 //, čo znamená, že reťazec bol nájdený} Teraz že sme reťazec uložili do pamäte a tiež sme v ňom našli naše kľúčové slovo, teraz budeme musieť spracovať odpovede. Ako bolo povedané, náhodné čísla sa generujú v určitom rozsahu čísel (adresy hlasových súborov). Tu prichádza príkaz random (). Nasleduje syntax: random (min, max); // náhodné číslo je generované v rozsahu min. a max. Definujeme minimálny počet a maximálny počet pre každý rozsah a pri použití tohto kódu náš kód vyzerá asi takto: if (voice.indexOf ("your name")> - 1)) {minNo = 0; maxNo = 5; RandomNumber = random (minNo, maxNo);} Teraz nasleduje spracovanie odpovedí. V poslednom kroku som povedal, že čísla sa zvyšujú alebo znižujú na základe algoritmu. O tomto algoritme teraz diskutujeme. Táto časť je veľmi dôležitá v tom zmysle, že nemôžete len zvyšovať alebo znižovať, ako si prajete. Zvýšené alebo znížené číslo musí byť v rozsahu. Predpokladajme, ako vo vyššie uvedenom prípade, pre kľúčové slovo „vaše meno“máme rozsah od 0 do 5 a vygenerované náhodné číslo je 5, takže ak ho zvýšite, prehráte hlasový súbor iného kľúčového slova. Ako si myslíte, že to bude? Opýtate sa: „Hej, povedz mi, prosím, svoje meno.“A robot odpovie: „Rád jedávam sušienky a elektrický náboj.“To isté platí pre minimálny počet. Ak je generované náhodné číslo 0, nemôžete ho zmenšiť. Z tohto dôvodu je algoritmus veľmi dôležitý. Zamyslite sa nad tým: Sme schopní zvýšiť buď vtedy, keď je číslo menšie ako maximálny počet, a znížiť, ak je väčšie ako minimálny počet. Keď je vygenerované číslo buď 0 alebo menšie ako 5, číslo sa zvýši. Na druhej strane, keď sa rovná 5, znížime ho, aby sme sa uistili, že číslo je v uvedenom rozsahu. Teraz prichádzajú na rad zakázané príkazy. Ako bolo uvedené, sú uložené v EEPROM. Za týmto účelom najskôr hľadáme voľnú pamäť v zakázanom poli. Predpokladajme, že adresa 4 je voľná, potom zadáme číslo súboru do adresy voľného poľa a rovnakú adresu napíšeme do pamäte EEPROM.for (int i; i if (never == 0) {EEPROM.write (nikdy , pamäť);}} To je všetko, modul Wtv020sd16p sa bude hrať pomocou príkazu module.playVoice () a navrhovaného čísla súboru. Fungovanie modulu Wtv020 bude prediskutované neskôr.

Krok 9: Vkladanie emócií

Vkladanie emócií
Vkladanie emócií
Vkladanie emócií
Vkladanie emócií
Vkladanie emócií
Vkladanie emócií

Doteraz je náš robot schopný rozpoznať, čo hovoríme, uložiť do pamäte a nájsť vhodnú odpoveď na otázky. Teraz prichádza otázka vložiť emócie. Každému sa určite bude páčiť živá tvár a malý hlúpy program na zodpovedanie otázok. V projekte je použitý LCD displej 16x2. Je dostatočne jemné na vytlačenie očí. Na vytváranie očí musíme použiť funkciu vlastných znakov. Vlastný znak nám umožňuje vytvárať nové znaky definovaním pixelov. Podrobnejšie o tom prídeme o niečo neskôr. Po prvé, je dôležité si uvedomiť, že Arduino podporuje iba 8 vlastných znakov. Emócie teda musíme zvládnuť iba s 8 postavami. Každý znak je vytlačený v konkrétnom poli a má 16 stĺpcov a 2 riadky, čo predstavuje spolu 32 políčok.

Dobré informácie o vlastných znakoch v Arduine nájdete online. Môžete tiež navštíviť tento odkaz:

[Vlastné znaky Arduino] Štruktúra bajtu vlastných znakov by mala vyzerať asi takto:

Normálny vzhľad: ľavý box0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, pravý box0b11110, 0b11110, 0b111, 0b1. To znamená, že na vyplnenie celého oka budeme potrebovať celkom 4 políčka. Dva rady vľavo a dva vpravo, čo predstavuje celkom štyri políčka pre jedno oko. Bajt ľavého poľa zakryje dva riadky vľavo a pravý box zakryje pravé riadky. Takže to tvorí úplné oko Evy. A keď to isté zopakujeme pre druhé oko, získame neutrálny pohľad Evy. Teraz je dôležité mať na pamäti, že sme použili jeden z ôsmich dostupných vlastných znakov. A celkovo existuje päť emócií: Glee, Sad, Squint, Normal a Blink. Pokiaľ ide o zostávajúcich sedem vlastných znakov, musíme ich prispôsobiť tak, aby zodpovedali všetkým výrazom. Na vytvorenie priestoru použijeme 2 škatule pre každé oko. Niet divu, že veľkosť bude trochu malá, ale toto bude ľudské oko ignorovať. Nezabudnite medzi funkcie LCD pridať určité oneskorenia, inak bude Arduino nestabilné.

Krok 10: Vytvorenie prepojení

Vytváranie spojení
Vytváranie spojení
Vytváranie spojení
Vytváranie spojení
Vytváranie spojení
Vytváranie spojení

Modul LCD: Pripojte kolíky ako je tu uvedené: RS: kopací kolík 12RW: GndEnable: 7d4: kopací kolík 8 d5: kopací kolík 9 d6: kopací kolík 10 d7: kopací kolík13A (anóda) na 5vK (katóda) na gndModul HC 05: Postupujte podľa týchto pripojení: Kolík TX 05 HC k pinu Arduino RX Kolík HC 05 RX k pinu Arduino TX Stavový kolík k výkopu Arduino pin 11 Komunikácia prebieha pomocou pinov TX a RX. Stavový pin je potrebný na kontrolu, či je cez HC 05 pripojený alebo nečinný. Modul WTV 020 SD 16p pin1: resetovací kolík, pripojte ho k vykopávacímu pinu 2pin7: kolíkový kolík, pripojte ho k vykopávacímu pinu 3pin10: dátový pin, pripojte vykopať pin 4pin15: zaneprázdnený pin, pripojiť k kopať pin 5pin2: pripojte tento pin k zosilňovaču cez hlasitosť a tiež ten istý do ženského zvukového konektora. pin4 by mal byť pripojený k reproduktoru+pin5 pre pripojenie k reproduktoru-Pripojte 8. pin na GND a v 16. pine poskytuje napájanie 3,3 V.

Zosilňovač pomôže prehrať interný reproduktor Eve, zatiaľ čo zvukový konektor sa má pripojiť k externému zosilňovaču a väčším reproduktorom.

Krok 11: Modul WTV020SD16p (voliteľný)

Image
Image
Modul WTV020SD16p (voliteľný)
Modul WTV020SD16p (voliteľný)
Modul WTV020SD16p (voliteľný)
Modul WTV020SD16p (voliteľný)

Poznámka: Tento krok je voliteľný. Zaoberá sa prácou a popisom modulu WTV 020 SD 16p.

Ukážku zvukového modulu si môžete pozrieť v tomto odkaze:

[PLAY VIDEO]

Hovorový režim robota spĺňa modul WTV 020 SD. Modul slúži na prehrávanie hlasových súborov pre robota. Akonáhle sa vyskytne nejaká otázka, arduino prinúti modul prehrať príslušný hlasový súbor na SD karte. V module sú štyri sériové dátové linky na komunikáciu s arduino, resetom, hodinami, dátami a zaneprázdnenými pinmi a na prehrávanie požadovaného súboru používame príkaz.playVoice (). Napríklad: module.playVoice (9): // prehrajte súbor 9 uložený na SD karte. Pamätajte si, že názvy súborov by mali byť desatinné (0001, 0002…). A že súbory majú byť buď vo formáte AD4 alebo WAV. Modul ďalej funguje iba na 1 GB micro SD karte. Niektoré moduly dokonca fungujú na 2 GB kartách a na kartu sa zmestí maximálne 504 hlasových súborov. Môžete teda zahrnúť veľký počet hlasových súborov, ktoré je možné prehrať pri veľkom počte otázok.

Môžete si dokonca vytvoriť svoje vlastné hlasové súbory AD4. Po prvé, musíte mať dva softvéry, softvér na úpravu zvuku a softvér s názvom 4D SOMO TOOL, ktorý by prevádzal súbory do formátu AD4. Za druhé, musíte pripraviť hlasy robota. Môžete buď prevádzať text na reč, alebo dokonca nahrávať svoj vlastný hlas a vytvárať hlasy robota. Oboje je možné vykonať v softvéri na úpravu zvuku. Ale určite, roboti nevyzerajú dobre, ak hovoria ľudskými hlasmi. Preto by malo byť lepšie prevádzať text na reč. Existujú rôzne motory ako Microsoft Anna a Microsoft Sam Your Computer, ktoré vám k tomu pomôžu. Môj je založený na programe Microsoft Eva. Hlasy sa do značnej miery zhodujú s Cortanou. Po príprave hlasových súborov ich musíte uložiť vo frekvencii 32 000 Hz a vo formáte WAV. Modul totiž dokáže prehrávať hlasové súbory až do 32 000 Hz. Potom použite nástroj 4D SOMO TOOL na konverziu súborov do formátu AD4. Ak to chcete urobiť, stačí otvoriť nástroj SOMO TOOL, vybrať súbory a kliknúť na položku Kódovanie AD4 a vaše hlasové súbory sú pripravené. Môžete si pozrieť referenčný obrázok vyššie. Ak chcete ďalšie podrobnosti o vytváraní robotických hlasov, môžete ísť sem: [Making Robotic Voices]

Krok 12: Časť softvéru

Softvérová časť
Softvérová časť
Softvérová časť
Softvérová časť
Softvérová časť
Softvérová časť

V arduino Pro mini je malý problém s programovaním. V skutočnosti to nie je problém, iba jeden krok navyše. Arduino Pro mini nemá vstavaný programátor ako ostatné dosky Arduino. Buď si teda musíte kúpiť externé alebo staré arduino UNO. Tento krok tu popisuje, ako nahrať program pomocou Arduino UNO. Stačí chytiť starú dosku Arduino UNO z havárie a vybrať Atmega 328p. Potom sa pripojte nasledujúcim spôsobom: 1. TX pin na UNO na TX pin na Pro Mini 2. RX pin UNO na RX pin na Pro MIni3. Resetujte kolík UNO na resetovací kolík Pro Mini4. pripojte VCC a Ground of Pro Mini k UNO. Stiahnite si program Arduino, softvér na rozpoznávanie hlasu a knižnice uvedené v spodnej časti. Program sa stále vyvíja. Ak teda máte s tým akýkoľvek problém, pokojne sa pýtajte. Potom zapojte kábel do počítača. Vyberte dosku ako Arduino Pro Mini a vyberte správny port COM. Potom stlačte tlačidlo Odovzdať a uvidíte, ako sa program nahrá do vášho Pro Mini.

Potom si stiahnite softvér na rozpoznávanie hlasu a hlasové súbory.

Krok 13: Príprava tela

Príprava tela
Príprava tela
Príprava tela
Príprava tela
Príprava tela
Príprava tela

Našiel som malú škatuľu nití a zistil som, že je pre telo perfektná. Môžete použiť akúkoľvek škatuľu, ktorú nájdete vo svojej dielni, alebo si ju môžete vyrobiť z kartónu. Stačí vystrihnúť malý obdĺžnikový kus na pripevnenie modulu LCD. V hornej časti som vyrezal malý otvor na pripevnenie hlasitosti a po stranách na pripojenie prepínačov a zvukového konektora. Po stranách škatule na kolesá som pripevnil dve viečka na fľaše. Len sa uistite, že box má dostatok priestoru na vloženie obvodu. Pripojte spínač k telu, ako aj k obvodu, potom k hlasitosti v hornej časti škatule. Potom stačí vložiť obvod dovnútra a váš robot je hotový.

Krok 14: Hotovo

Hotovo!
Hotovo!
Hotovo!
Hotovo!

Teraz ste dokončili svoj projekt roztomilého malého robota, ktorý s vami môže hovoriť a cítiť sa šťastne. Toto je najšťastnejší okamih byť majiteľom DIY, keď je váš projekt dokončený a plne funguje. Nebojte sa, ak nie ste úspešní na jeden pokus, musíte sa o to usilovne snažiť, aby ste porozumeli všetkým častiam svojho robota. A to je miesto, kde kutilovia prichádzajú do tohto sveta. Ale to nie je koniec projektu. Evu budem vždy vyvíjať vo väčšej miere, buď ja, alebo kutilovia ako ty. Rád by som počul, čo ste urobili, keď ste videli tento návod. S pozdravom, RS3655

Odporúča: