Cuprins:

Eve, Arduino Chatbot: 14 pași (cu imagini)
Eve, Arduino Chatbot: 14 pași (cu imagini)

Video: Eve, Arduino Chatbot: 14 pași (cu imagini)

Video: Eve, Arduino Chatbot: 14 pași (cu imagini)
Video: Patron görmesin :) 2024, Octombrie
Anonim
Image
Image
Eva, Arduino Chatbot
Eva, Arduino Chatbot
Eva, Arduino Chatbot
Eva, Arduino Chatbot

Bună ziua DIYrs, au existat cazuri în care ați dorit cu adevărat să vă împărtășiți sentimentele cu cineva și nu a existat nimeni de încredere? În lumea aglomerată de astăzi, acesta este un caz obișnuit. Ei bine, un chatbot vă poate ajuta aici pentru a vă face să vă simțiți mai bine. Și asta duce la introducerea Evei. Eve este un mic chatbot drăguț. După cum știe toată lumea, un chatterbot sau chatbot este un program de computer sau dispozitiv care conduce o conversație cu oamenii pe baza metodelor textuale sau auditive. Vocile automatizate pe care le auziți într-un apel de asistență pentru clienți sau pe o linie bancară este un exemplu de chatbot. Cu ea, puteți să vă împărtășiți experiențele, sentimentele și, cel mai important, să vă argumentați despre diferite lucruri; are o experiență bună în acest sens. Deoarece aceasta este cea mai importantă funcție a unui chatbot, faceți persoana să se simtă fericită. Un exemplu timpuriu de procesare a limbajului natural (NLU) și inteligență artificială, Eve este capabilă să răspundă LA ORICE întrebare pe care i-o adresezi. Nu este faptul că ea poate răspunde doar la un anumit număr de întrebări. Poate să cânte, să-ți spună glume, povești și să facă orice te face să te simți bine. Dacă spune ceva ce nu vrei să auzi, spune-i doar, te rog, nu mai spune asta și își va aminti asta. Știe chiar că nu ar trebui să repete aceleași răspunsuri și chat-uri, astfel încât conversația să nu devină plictisitoare. Bazându-se pe componente simple, ieftine și pe o programare de bază, se poate comporta inteligent într-o măsură foarte mare. Mai departe, ochii LCD pe care îi posedă arată cum se simte când spui ceva. Deci, practic, în acest instructiv, vom începe de la definiția unui chatbot, vom analiza designul, câteva teorii bazate pe care rulează Eve, producția și în cele din urmă partea de programare. Se uită mult? Nu vă faceți griji, va fi destul de interesant în călătorie. Puteți vizualiza demonstrația robotului de mai sus sau în acest link: [Redare video]

Pasul 1: Definiția unui Chatbot

Definiția unui Chatbot
Definiția unui Chatbot
Definiția unui Chatbot
Definiția unui Chatbot
Definiția unui Chatbot
Definiția unui Chatbot

După cum sa menționat mai sus, un chatbot este un program care conduce o conversație cu oameni. Acestea sunt atât de obișnuite în zilele noastre încât nu există cu greu cineva care să nu știe despre asta. Pornind de la asistenții virtuali, Siri și Google Assistant, există Mitsuku și Evie cu care vă puteți împărtăși sentimentele. După cum sa menționat mai sus, chat-urile se bazează fie pe metode textuale, fie pe cele auditive și, prin urmare, pot fi împărțite în două. În metoda textuală, conversațiile sunt sub formă de text scris la fel ca WhatsApp. În timp ce în metoda auditivă, conversațiile se fac pe cale orală ca la un om real. Cred că este mai interesant să conversezi cu cineva vorbindu-i verbal în loc să-i trimiți mesaje text. Fără îndoială, aplicațiile de mesagerie de comunicare bazate pe text îndeplinesc cerințele oamenilor, dar consider că discuțiile vorbind este cel mai bun lucru pentru a scăpa de tulburările emoționale și a vă face să vă simțiți mai bine. Așa că acesta este principalul motiv pentru care am conceput Eva să fie un chatbot auditiv.

Pasul 2: Originea Evei

Originea Evei
Originea Evei

Ei bine, Eva mi-a venit în minte într-o zi. A făcut-o când am văzut un copil rătăcind singur în școală, în timp ce ceilalți se jucau cu mintea plină de bucurie. În acea perioadă m-am gândit la un prieten, care nu discriminează pe nimeni și nu face pe nimeni să se simtă rănit, unul cu care îți poți împărtăși sentimentele și să fii fericit tot timpul. Apoi mi-a clipit în minte, drăguța și mica structură a Evei, am început să lucrez la ea. Eve m-a dezamăgit de vreo sută de ori. Cred că a fost a 101-a oară când a lucrat și m-a făcut să mă simt cu adevărat fericită, deci asta a fost originea Evei. Am vrut să fie inteligentă, dar cât mai simplă posibil, astfel încât oricine să o poată face cu ușurință. Fără îndoială că nu este absolut inteligentă și uneori spune răspunsuri stupide, se poate comporta ca o prietenă. Și acum, destule povești, să începem să construim Eva.

Pasul 3: Adunarea componentelor și echipamentelor:

Adunarea componentelor și echipamentelor
Adunarea componentelor și echipamentelor
Adunarea componentelor și echipamentelor
Adunarea componentelor și echipamentelor
Adunarea componentelor și echipamentelor
Adunarea componentelor și echipamentelor

Următoarele sunt componentele care trebuie adunate: Arduino Pro Mini (Sau Arduino Nano) Wtv-020-SD-16p Modul de sunet HC-05 Modul Bluetooth 16x2 Modul LCD Regulator LM7805 Modul amplificator ICAn (Am folosit circuitul PAM8403) Un difuzor de 8 ohmi O mamă baterie audio jacka 9v Și un telefon Android Deci acestea sunt componentele necesare. Un alt lucru important, costul. Eva m-a costat în jur de 3000 INR. Costul poate fi diferit în țara dvs., dar în India, acest preț este aproximativ. O mică descriere a pieselor: Arduino Pro mini este principalul MCU al robotului nostru. L-am folosit datorită dimensiunilor reduse, simplității și performanțelor excelente. Acesta îndeplinește toate cerințele din robotul nostru. Cu excepția funcției de recunoaștere vocală care este realizată de Android (discutată mai târziu), orice altă funcționalitate începând de la găsirea cuvintelor cheie și formarea ieșirilor se face pe Pro Mini în sine. Nu vă faceți griji pentru termenii menționați mai sus dacă nu îl înțelegeți, toate sunt discutate în partea ulterioară. Modulul wtv020sd 16p este utilizat pentru redarea fișierelor audio, hc 05 Bluetooth pentru comunicarea cu Android și LCD-ul pentru afișare emotiile. Avem nevoie de mufa audio feminină, care să permită conectarea robotului la un amplificator extern. Arduino este folosit ca controler principal aici. Acesta primește date Bluetooth prin modulul HC 05 Bluetooth și redă fișierul prin modulul vocal WTV-020-SD-16p. Emoțiile sunt afișate în modulul LCD și o baterie de 9v pentru alimentare. Eve recunoaște discursurile prin recunoașterea Google Voice a dispozitivului Android. Mai târziu, este discutat în mod corespunzător în pasul respectiv. O veste proastă despre Arduino Pro Mini: IT S-A RETIRAT de pe piață. Ei bine, asta înseamnă că a fost oprit oficial să fie fabricat de Arduino. Dar îl puteți găsi în multe site-uri, inclusiv Ebay. Mulți producători terți încă ar putea produce și vinde placa. Nu vă faceți griji dacă nu ați reușit să găsiți unul, puteți folosi Arduino Nano. Nu va face nicio diferență în performanță și, de asemenea, în dimensiune.

Pasul 4: Teoria Partea 1: Istorie și introducere

Teoria Partea 1: Istorie și introducere
Teoria Partea 1: Istorie și introducere
Teoria Partea 1: Istorie și introducere
Teoria Partea 1: Istorie și introducere

Eve se bazează pe o formă timpurie de procesare a limbajului natural, tehnologia „potrivire tipare”. Funcționează în felul următor, când la primirea unui șir, caută un cuvânt sau o expresie predefinită în acel șir. Să presupunem că în întrebarea „câți ani ai?” Programul caută cuvântul „vechi”. Dacă reușește, atunci redă fișierul vocal respectiv prin modulul wtv020sd. Dacă eșuează, atunci caută următorul cuvânt cheie predefinit. Ca acesta, trebuie să construim un vocabular de cuvinte predefinite. Pare greu, nu-i așa? Este ca și cum ar fi nevoie să construim un vocabular al tuturor cuvintelor în limba engleză și există în jur de 230 de mii de cuvinte în limba engleză. Adevărul este că trebuie doar să adăugăm câteva cuvinte de bază care sunt cele mai des utilizate în comunicarea noastră. Încă arată dur? Nu vă faceți griji, lucrarea a fost deja făcută de Joseph Wizembaum. O parte din răspunsurile Evei și cuvintele cheie predefinite au fost încorporate din primul program de chatterbot numit Eliza, dezvoltat de Joseph Wizembaum (în imaginea de mai sus). Eliza a fost concepută pentru a fi terapeut Rogerian. Nu este un termen foarte științific, înseamnă că obișnuia să sfătuiască oamenii, făcându-i să se înțeleagă mai bine și să-i facă să gândească mai pozitiv. Arată foarte bine nu? Iar Eliza a fost foarte bine capabilă să-și îndeplinească datoria. Atitudinea ei curioasă și sceptică a fost iubită de oameni. Chiar și Wizembaum a fost surprins de importanța pe care oamenii o acordau Elizei. Păreau să uite că vorbesc cu un computer și le-a plăcut o frumoasă doamnă care stătea în computer, vorbind cu ei. Dar Eliza nu era atât de inteligentă; a ajuns să se realizeze în curând. Odată cu trecerea timpului, oamenii au început să se plictisească de comunicarea ei limitată și a fost numită „mută”. Nu e de mirare cât de mută a fost, a fost un mare salt în istoria inteligenței artificiale și a procesării limbajului natural. După ce a fondat baza Chatterbots, au apărut pe piață diferiți roboți cu tehnologie nouă și mai bună. Și acum le avem peste tot. După cum am menționat, o parte din răspunsurile Evei au fost derivate din ELIZA. Deci, asta înseamnă că chiar și Eva va avea atitudinea Elizei într-o oarecare măsură, împreună cu unele dintre ideile mele. Un alt lucru important sunt răspunsurile. Ar trebui să fie cu adevărat plictisitor să obții aceleași răspunsuri de fiecare dată când pui aceeași întrebare. Prin urmare, multe răspunsuri sunt stocate pentru același cuvânt cheie. Eve alege aleatoriu ce fișier să joace, asigurându-se, de asemenea, că nu repetă același fișier. Asta e, simpla pâine și unt, dar este important să programați în mod inteligent vocile care răspund, astfel încât să ofere o iluzie spectatorilor ca și cum ea ar răspunde cu adevărat la întrebările noastre. În pasul următor vom face acest lucru în detaliu și programare.

Pasul 5: Căutarea cuvântului cheie

Căutarea cuvântului cheie
Căutarea cuvântului cheie
Căutarea cuvântului cheie
Căutarea cuvântului cheie
Căutarea cuvântului cheie
Căutarea cuvântului cheie
Căutarea cuvântului cheie
Căutarea cuvântului cheie

În ultimul pas, am menționat despre tehnologia de potrivire a modelelor Evei și, de asemenea, despre forma timpurie de procesare a limbajului natural. Deci, ce este și cum funcționează? Acesta este principalul lucru pe care îl vom discuta în acest pas. Deci, gândiți-vă la asta, cineva vă întreabă numele și trebuie să spuneți ce este. În câte moduri putem pune aceeași întrebare? Profesorul dvs. vă poate întreba „vă rog să-mi spuneți numele dumneavoastră?” O rudă poate întreba „cum te cheamă?” Fratele tău poate să spună „Hei, tocmai am uitat numele tău. Vrei să-l mai spui o singură dată?” Deci, asta înseamnă că aceeași întrebare poate fi pusă în mai multe moduri. Totuși, trebuie să dăm același răspuns, numele nostru. Deci, asta înseamnă că trebuie să găsim ceva comun în toate propozițiile. Se vede clar că cuvântul „numele tău” este prezent în toate propozițiile. Deci acesta este indiciul nostru. Pentru toate întrebările care pun numele, trebuie să căutăm sintagma „numele tău”. Urmând acest model de bază, putem prezice răspunsul respectiv la toate șirurile de intrare. Să presupunem că cineva a spus: „Ți-am găsit numele în lista de așteptare. Mă așteptam să fii în locurile rezervate.” Acum, din moment ce „numele tău” este prezent în acest șir, Eva, fiind nevinovată, îi va spune numele persoanei … Prostie nu? Acesta este unul dintre marile erori ale acestui algoritm de bază. Oricum, acestea ar fi cazuri rare. În caz contrar, algoritmul este foarte eficient. Acum că am menționat despre tehnologia de potrivire a modelelor, este timpul să ne gândim de unde provine acest șir de intrare de unde căutăm șirul. Ei bine, acest șir este de fapt vocea noastră care a fost convertită în text prin Google Voice Recognition. Aplicația utilizată aici ne convertește vocea în text și apoi trimite același lucru către arduino prin Bluetooth. Am folosit aplicația, deoarece este cea mai simplă și cea mai bună de acest gen. Numele este AMR Voice și poate fi găsit cu ușurință în Google Play.

Pasul 6: Formularea răspunsurilor

Formularea răspunsurilor
Formularea răspunsurilor

Acum, că am recunoscut întrebările, următorul pas ar trebui să fie găsirea răspunsurilor. Vine partea interesantă și importantă … Trebuie să găsim răspunsuri adecvate pentru a satisface fiecare întrebare. Și aici vine o altă funcție încorporată de la ELIZA. Wizembaum a dezvoltat câteva răspunsuri pentru un anumit număr de cuvinte cheie. Un exemplu este cuvântul cheie „tu”. Ori de câte ori a fost detectat rezultatul programului „discutam despre tine - nu despre mine”. Prin urmare, răspunsul a fost făcut în așa fel încât să se potrivească tuturor propozițiilor care conțin „tu”. În continuare, Eliza a dat un răspuns diferit de fiecare dată. A existat un fel de adresă numerică pentru fiecare răspuns care. Acest lucru a fost incrementat (adăugat cu 1) de fiecare dată când a fost formulat un răspuns. Să presupunem ca în exemplul de mai sus, dacă adresa răspunsului a fost 1, adresa a fost schimbată la 2 și, prin urmare, fișierul 2 a fost redat în continuare, dar nu vom urma acest algoritm de creștere. Vedeți după o utilizare continuă a software-ului, răspunsurile au devenit predictibile. Ai ajuns să știi ce răspuns trebuie dat mai departe. Deci, în acest scop, vom produce adrese aleatorii pentru fiecare cuvânt cheie. În general, este același în ambele cazuri, doar diferența că nu putem prezice ce va spune robotul pentru același cuvânt cheie.

Pasul 7: Declarațiile interzise și altele

Declarațiile interzise și altele
Declarațiile interzise și altele

S-ar putea să existe unele cazuri în conversația dvs. când robotul spune ceva ce nu doriți să auziți. Deci, aici apare nevoia de a adăuga declarațiile interzise. Declarațiile interzise sunt o serie de adrese care nu pot fi redate. O adresă vocală este caracterizată ca o declarație interzisă la cererea utilizatorului. În plus, această adresă va fi stocată în EEPROM-ul Arduino, astfel încât Eve să nu uite că este o declarație interzisă chiar și după ce a fost oprită. Practic, ceea ce face programul este să verifice fiecare adresă care urmează să fie redată. Dacă adresa este una dintre cele interzise, atunci este fie incrementată, fie decrementată. Mai mult, ar putea exista o instanță când doriți să permiteți robotului să spună un cuvânt interzis anterior. În acest caz, ar trebui să-i spui Evei că poate spune ultimul cuvânt interzis. Cuvântul care a fost interzis ultima dată va putea fi redat acum. Pentru ca toate declarațiile interzise să poată fi redate, trebuie să atașăm un comutator de resetare. Dacă este apăsat, toate declarațiile interzise vor deveni redabile. Apoi, un alt lucru important va fi să vă asigurați că Eva nu repetă răspunsurile. Acesta este un fel de demerit al numerelor aleatorii. Este probabil ca aceleași numere aleatorii să fie produse într-o serie. Acest lucru îl va face pe robotul nostru să spună același răspuns din nou și din nou. Pentru aceasta trebuie să includem o altă funcție minoră care împiedică repetarea afirmațiilor. Pentru aceasta trebuie să stocăm adresa ultimei instrucțiuni în memorie și să verificăm dacă este aceeași cu cea prezentă. Dacă da, atunci valoarea adresei se mărește sau se micșorează, la fel în cazul declarațiilor interzise.

Pasul 8: Scrierea în cod

Scrierea în cod
Scrierea în cod
Scrierea în cod
Scrierea în cod
Scrierea în cod
Scrierea în cod

Folosim comanda indexOf pentru a căuta cuvântul cheie. Comanda localizează un caracter sau un șir într-un alt șir. Dacă este găsit, returnează indexul șirului în timp ce -1 este returnat dacă nu este găsit. Deci, în programul nostru trebuie să-l scriem în următoarele: if (voice.indexOf („numele tău”)> -1) {// dacă indexul este mai mare decât -1 // ceea ce înseamnă că șirul a fost găsit} Acum că am stocat șirul în memorie și, de asemenea, am găsit cuvântul nostru cheie în el, va trebui acum să gestionăm răspunsurile. După cum sa spus, numerele aleatorii sunt generate într-un anumit interval de numere (adrese ale fișierelor vocale). Aici apare comanda random (). Urmează sintaxa: random (min, max); // numărul aleatoriu este generat în intervalul min și max. Definim numărul minim și numărul maxim al fiecărui interval și aplicând acest cod, codul nostru arată oarecum așa: if (voice.indexOf („numele tău”)> - 1)) {minNo = 0; maxNo = 5; RandomNumber = random (minNo, maxNo);} Acum vine tratarea răspunsurilor. În ultimul pas am spus că numerele sunt incrementate sau decrementate pe baza unui algoritm. Acest algoritm este cel despre care discutăm acum. Această parte este foarte importantă în sensul că nu puteți crește sau micșora doar așa cum doriți. Numărul mărit sau micșorat trebuie să fie în intervalul. Să presupunem ca, în cazul de mai sus, pentru cuvântul cheie „numele tău”, avem intervalul de la 0 la 5, iar numărul aleatoriu generat este 5, atunci atunci când îl crești, vei ajunge să redai un fișier vocal al unui alt cuvânt cheie. Cum crezi că va fi asta? Întrebați „Hei, vă rog să-mi spuneți numele dvs.”, iar robotul răspunde: „Îmi place să mănânc prăjituri și încărcarea electrică”. Același lucru este valabil și pentru numărul minim. Dacă numărul aleatoriu generat este 0, nu îl puteți decrementa. Deci, din acest motiv, algoritmul este foarte important. Gândiți-vă la asta: putem crește fie atunci când numărul este mai mic decât numărul maxim, cât și descrește atunci când este mai mare decât numărul minim. Când numărul generat este fie egal cu 0, fie mai mic decât 5, numărul este incrementat. Pe de altă parte, atunci când este egal cu 5, îl diminuăm, pentru a ne asigura că numărul se încadrează în intervalul specificat. Acum venim despre declarațiile interzise. După cum sa menționat, acestea sunt stocate în EEPROM. Pentru aceasta, în primul rând căutăm memorie gratuită în matricea interzisă. Să presupunem că adresa 4 este gratuită, apoi introducem numărul fișierului în adresa matricei gratuite și scriem aceeași adresă în EEPROM.for (int i; i if (niciodată == 0) {EEPROM.write (niciodată , memorie);}} Deci atât, modulul Wtv020sd16p va fi redat folosind comanda module.playVoice () și numărul fișierului propus. Funcționarea modulului Wtv020 va fi discutată mai târziu.

Pasul 9: Introducerea emoțiilor

Inserarea emoțiilor
Inserarea emoțiilor
Introducerea emoțiilor
Introducerea emoțiilor
Introducerea emoțiilor
Introducerea emoțiilor

Până acum robotul nostru este capabil să recunoască ceea ce spunem, să stocheze în memorie și să găsească un răspuns adecvat la întrebări. Acum apare întrebarea pentru a insera emoții. Cu siguranță tuturor le va plăcea o față vie, împreună cu doar un program stupid de răspuns la întrebări. LCD-ul de 16x2 este utilizat în proiect. Este suficient de bine pentru a imprima ochii. Trebuie să folosim funcția de caracter personalizat pentru a crea ochii. Caracterul personalizat ne permite să creăm caractere noi prin definirea pixelilor. Vom ajunge la detalii despre asta puțin mai târziu. În primul rând, este important să ne amintim că doar 8 caractere personalizate sunt acceptate de Arduino. Deci, trebuie să gestionăm emoțiile numai cu 8 personaje. Fiecare caracter va fi tipărit într-o anumită casetă și există 16 coloane și 2 rânduri care fac un total de 32 de casete.

Puteți găsi informații bune online despre personajele personalizate din Arduino. Poate vizita și acest link:

[Arduino de caractere personalizate] Structura octetului de caractere personalizate va arăta oarecum astfel:

Aspectul normal: Căsuța din stânga. Deci, asta înseamnă că vom avea nevoie de un total de 4 cutii pentru a umple un ochi întreg. Două rânduri în stânga și două în dreapta, făcând un total de patru cutii pentru un ochi. Octetul cutiei din stânga trebuie să acopere două rânduri pe stânga, iar cutia din dreapta să acopere rândurile din dreapta. Deci, asta reprezintă un ochi complet al Evei. Și acum repetând același lucru pentru al doilea ochi, obținem aspectul neutru al Evei. Acum este important să ne amintim că am folosit unul din opt caractere personalizate disponibile. Și există cinci emoții totale: Glee, Sad, Strabism, Normal și Blink. În restul celor șapte caractere personalizate, trebuie să ne ajustăm astfel încât să se potrivească tuturor expresiilor. Pentru a compune spațiul, vom folosi 2 cutii pentru fiecare ochi. Nu este de mirare că dimensiunea ar fi puțin mică, dar acest lucru va fi ignorat de ochiul uman. Asigurați-vă că adăugați câteva întârzieri între funcțiile LCD, altfel Arduino va deveni instabil.

Pasul 10: Realizarea conexiunilor

Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor

Modul LCD: Conectați pinii așa cum s-a menționat aici: RS: sapă pin 12RW: GndEnable: 7d4: sapă pin 8 d5: sapă pin 9 d6: sapă pin 10 d7: sapă pin 13A (anod) la 5vK (catod) la gnd Modulul HC 05: Urmați aceste conexiuni: pinul HC 05 TX la pinul Arduino RX Pinul HC 05 RX la pinul Arduino TX Pinul de stat la pinul de excavare Arduino 11 Comunicațiile se fac cu ajutorul pinilor TX și RX. Pinul de stat este necesar pentru a verifica dacă prin HC 05 este conectat sau inactiv. WTV 020 SD 16p modul pin 1: pinul Reset, conectați-l la sapa pin 2pin7: pinul de ceas, conectați-l la sapa pin 3pin10: pinul de date, conectați pentru a săpa pinul 4pin15: Pinul ocupat, conectați pinul pentru săpat 5pin2: Conectați acest pin la un amplificator prin volum și la fel la mufa audio feminină. pinul 4 ar trebui să fie conectat la difuzor + pinul 5 pentru a fi conectat la difuzor Al 8-lea pin la gnd și furnizează o sursă de alimentare de 3,3v în al 16-lea pin.

Amplificatorul va ajuta la redarea difuzorului intern al Evei, în timp ce mufa audio se va conecta la un amplificator extern și difuzoare mai mari.

Pasul 11: Modulul WTV020SD16p (opțional)

Image
Image
Modulul WTV020SD16p (opțional)
Modulul WTV020SD16p (opțional)
Modulul WTV020SD16p (opțional)
Modulul WTV020SD16p (opțional)

Notă: Acest pas este unul opțional. Se ocupă cu funcționarea și descrierea modulului WTV 020 SD 16p.

Puteți vedea demo-ul modulului de sunet în acest link:

[RULEAZĂ VIDEO]

Modul de vorbire al robotului este îndeplinit de modulul WTV 020 SD. Modulul este utilizat pentru a reda fișiere vocale pentru robot. Când se pune orice întrebare, arduino va face modulul să redea fișierul vocal respectiv de pe cardul SD. Există patru linii de date seriale pe modul pentru comunicarea cu arduino, resetarea, ceasul, datele și pinii ocupați și folosim comanda.playVoice () pentru a reda fișierul necesar. De exemplu: module.playVoice (9): // redați fișierul 9 stocat pe cardul SD Amintiți-vă că numele fișierelor trebuie să fie în zecimal (0001, 0002 …). Și că fișierele ar trebui să fie fie în format AD4, fie în format WAV. În plus, modulul funcționează numai pe un card micro SD de 1 GB. Unele module funcționează chiar și pe carduri de 2 GB, iar cardul poate conține maximum 504 de fișiere vocale. Deci, puteți include un număr mare de fișiere vocale pentru a le reda pentru un număr bun de întrebări.

Puteți chiar să creați propriile fișiere AD4 vocale. În primul rând, trebuie să aveți două software, un software de editare a sunetului și un software numit 4D SOMO TOOL care ar converti fișierele în format AD4. În al doilea rând, trebuie să pregătiți Robot Voices. Puteți converti textul în vorbire sau chiar să vă înregistrați propria voce și să creați vocile robotului. Ambele pot fi realizate în software-ul de editare a sunetului. Dar, cu siguranță, roboții nu arată bine dacă vorbesc voci umane. Deci, ar trebui să fie mai bine să convertiți textul în vorbire. Există diverse motoare, cum ar fi Microsoft Anna și Microsoft Sam Computer, care ar ajuta la acest lucru. Al meu se bazează pe Microsoft Eva. Vocile sale se potrivesc în mare măsură cu Cortana. După pregătirea fișierelor vocale, trebuie să le salvați la 32000 Hz și în formatul WAV. Acest lucru se datorează faptului că modulul poate reda fișiere vocale până la 32000 Hz. Apoi utilizați instrumentul 4D SOMO TOOL pentru a converti fișierele în format AD4. Pentru a face acest lucru, trebuie doar să deschideți SOMO TOOL, să selectați fișierele și să faceți clic pe Codare AD4 și fișierele vocale sunt gata. Puteți verifica imaginea de mai sus pentru referință. Dacă doriți mai multe detalii despre realizarea vocilor robotizate, puteți accesa aici: [Realizarea vocilor robotizate]

Pasul 12: partea software

Partea software
Partea software
Partea software
Partea software
Partea software
Partea software

În arduino Pro mini, există o ușoară problemă în programare. De fapt, nu este o problemă, ci doar un pas în plus. Arduino Pro mini nu are programator încorporat ca și celelalte plăci Arduino. Deci, fie trebuie să cumpărați unul extern, fie un vechi arduino UNO. Pasul de aici descrie cum să încărcați programul utilizând Arduino UNO. Ia doar o placă veche Arduino UNO din accident și scoate Atmega 328p. Apoi conectați-vă după cum urmează: 1. PIN-ul TX de la UNO la pin-ul TX de pe Pro Mini 2. Pinul RX al UNO la pinul RX al Pro MIni3. Resetați pinul UNO la pinul de resetare al Pro Mini4. conectați VCC și Ground de la Pro Mini la UNO. Descărcați programul Arduino, software-ul de recunoaștere vocală și bibliotecile furnizate în partea de jos. Programul este încă în curs de dezvoltare. Deci, dacă aveți vreo problemă cu privire la aceasta, nu ezitați să întrebați. Apoi conectați cablul la computer. Selectați placa ca Arduino Pro Mini și alegeți portul COM corect. Apoi apăsați butonul Încărcare și vedeți cum programul este încărcat pe Pro Mini.

Apoi descărcați software-ul de recunoaștere vocală și fișierele vocale.

Pasul 13: Pregătirea corpului

Pregătirea Corpului
Pregătirea Corpului
Pregătirea Corpului
Pregătirea Corpului
Pregătirea Corpului
Pregătirea Corpului

Am găsit o cutie mică de ata și am găsit-o perfectă pentru corp. Puteți folosi orice cutie pe care o găsiți în atelierul dvs. sau puteți face una din carton. Decupați doar o mică piesă dreptunghiulară pentru atașarea modulului LCD. În partea de sus, am decupat o mică gaură pentru atașarea volumului, iar în părțile laterale pentru atașarea comutatoarelor și a conectorului audio. Am atașat două capace de sticlă pe laturile cutiei pentru roți. Doar asigurați-vă că cutia are suficient spațiu pentru ca circuitul să fie introdus în interior. Atașați un comutator la corp, precum și la circuit, apoi la volumul din partea de sus a cutiei. Apoi puneți circuitul înăuntru și robotul dvs. este complet.

Pasul 14: Gata

Bine făcut!
Bine făcut!
Bine făcut!
Bine făcut!

Acum v-ați finalizat drăguțul proiect mic robot care vă poate vorbi și vă poate face să vă simțiți fericiți. Acesta este cel mai fericit punct de a fi un DIYer atunci când proiectul dvs. este finalizat și funcționează pe deplin. Nu vă faceți griji dacă nu reușiți la o singură încercare, trebuie să încercați din greu pentru a înțelege fiecare parte a robotului dvs. Și acolo intră DIYers în această lume, dar acesta nu este sfârșitul proiectului. Eva va fi întotdeauna dezvoltată într-o măsură mai mare, fie de mine, fie de bricolaj ca tine. Mi-ar plăcea să aud ceea ce ați făcut văzând acest lucru instructiv. Cu respect, RS3655

Recomandat: