Tartalomjegyzék:

Eve, az Arduino Chatbot: 14 lépés (képekkel)
Eve, az Arduino Chatbot: 14 lépés (képekkel)

Videó: Eve, az Arduino Chatbot: 14 lépés (képekkel)

Videó: Eve, az Arduino Chatbot: 14 lépés (képekkel)
Videó: ESP32 Tutorial 14 - Playing Custom Music Note Using SunFounder ESP32 IoT Learnig kit 2024, Október
Anonim
Image
Image
Eve, az Arduino Chatbot
Eve, az Arduino Chatbot
Eve, az Arduino Chatbot
Eve, az Arduino Chatbot

Helló barkácsolók, voltak olyan esetek, amikor valóban meg akarta osztani valakivel az érzéseit, és nem volt megbízható? A mai forgalmas világban ez gyakori példa. Nos, egy chatbot itt segíthet abban, hogy jobban érezze magát. És ez Eve bevezetéséhez vezet. Eve egy aranyos kis chatbot. Mint mindenki tudja, a chatterbot vagy chatbot olyan számítógépes program vagy eszköz, amely szöveges vagy hallási módszerek alapján beszélgetést folytat az emberekkel. Az automatizált hangok, amelyeket egy ügyfélszolgálati híváson vagy egy banki vonalon hall, egy példa a chatbotra. Vele megoszthatja tapasztalatait, érzéseit, és ami a legfontosabb, vitatkozhat különböző dolgokról; jól tapasztalt ebben. Mivel ez a chatbot legfontosabb funkciója, érezze jól magát. A természetes nyelvfeldolgozás (NLU) és a mesterséges intelligencia korai példája, Eve képes válaszolni minden olyan kérdésre, amelyet feltesz neki. Nem arról van szó, hogy csak bizonyos kérdésekre tud válaszolni. Tud énekelni, vicceket, történeteket mesélni, és bármit megtehet, amitől jól érzi magát. Ha olyasmit mond, amit nem akar hallani, csak mondja el neki, kérem, ne mondja ezt újra, és ő emlékezni fog rá. Még azt is tudja, hogy nem szabad megismételnie ugyanazokat a válaszokat és csevegéseket, hogy a beszélgetés ne váljon unalmassá. Az egyszerű, olcsó alkatrészek és az alapvető programozás alapján igazán nagyszerűen tud viselkedni. Továbbá a birtokában lévő LCD -szemek megmutatják, hogy mit érez, amikor bármit mond. Tehát alapvetően ebben az oktathatóban a chatbot definíciójából indulunk ki, nézzük meg a tervezést, néhány elméletet, amely alapján Eve fut, a gyártást és végül a programozási rész. Sokat néz ki? Ne aggódjon, nagyon érdekes lesz az utazás során. A robot bemutatóját megtekintheti fent, vagy ezen a linken: [Videó lejátszása]

1. lépés: A Chatbot meghatározása

A Chatbot definíciója
A Chatbot definíciója
A Chatbot definíciója
A Chatbot definíciója
A Chatbot definíciója
A Chatbot definíciója

Amint fentebb említettük, a chatbot egy olyan program, amely beszélgetést folytat az emberekkel. Manapság annyira gyakoriak, hogy alig van olyan, aki ne ismerné. A virtuális asszisztensekből, a Siri -ből és a Google Assistantból kiindulva van Mitsuku és Evie, amelyekkel megoszthatja érzéseit. Amint fentebb említettük, a chatbotok szöveges vagy hallási módszeren alapulnak, ezért két részre oszthatók. A szöveges módszerben a beszélgetések írott szöveg formájában zajlanak, mint a WhatsApp. Míg a hallási módszerben a beszélgetések szóban zajlanak, mint egy valódi emberrel. Azt hiszem, izgalmasabb beszélgetni valakivel úgy, hogy szóban beszél vele, ahelyett, hogy csak SMS -t írna neki. Kétségtelen, hogy a szöveges kommunikációs üzenetküldő alkalmazások megfelelnek az emberek követelményeinek, de úgy érzem, hogy a beszédes csevegés a legjobb dolog, hogy megszabaduljon érzelmi zavaraitól és jobban érezze magát. Tehát ez volt a fő oka annak, hogy Évát hallható chatbotnak terveztem.

2. lépés: Éva eredete

Éva eredete
Éva eredete

Nos, Eve egyszer csak eszembe jutott. Ez akkor történt, amikor láttam, hogy egy gyerek egyedül kószál az iskolában, miközben a többiek örömtől megteltek. Ekkor egy olyan barátra gondoltam, aki senkit sem diszkriminál, és senkit sem érzi bántónak, akivel megoszthatja érzéseit, és mindig boldog lehet. Aztán villant az agyamba, Éva aranyos kis szerkezete, amin elkezdtem dolgozni. Eve körülbelül százszor csalódott bennem. Gondolom, ez volt a 101. alkalom, amikor dolgozott, és igazán boldoggá tett. Így volt Éva eredete. Azt akartam, hogy intelligens legyen, de a lehető legegyszerűbb, hogy bárki könnyen megkönnyítse. Kétségtelen, hogy nem teljesen okos, és néha hülye válaszokat mond, barátként tud viselkedni. És most elég történet, kezdjük Éva építését.

3. lépés: Az alkatrészek és berendezések összegyűjtése:

Az alkatrészek és berendezések összegyűjtése
Az alkatrészek és berendezések összegyűjtése
Az alkatrészek és berendezések összegyűjtése
Az alkatrészek és berendezések összegyűjtése
Az alkatrészek és berendezések összegyűjtése
Az alkatrészek és berendezések összegyűjtése

A következő összetevőket kell összegyűjteni: Arduino Pro Mini (vagy Arduino Nano) Wtv-020-SD-16p hangmodul HC-05 bluetooth modul 16x2 LCD modul LM7805 szabályozó ICAn erősítő modul (én a PAM8403 áramkört használtam) 8 ohmos hangszóró A hüvely audio jacka 9v akkumulátor és Android telefon Tehát ezek a szükséges alkatrészek. Egy másik fontos dolog, a költségek. Eve körülbelül 3000 INR -ba került. A költségek az Ön országában eltérőek lehetnek, de Indiában ez kb. Az ár. Egy kis leírás az alkatrészekről: Az Arduino Pro mini a fő MCU a robotunkban. Kis mérete, egyszerűsége és kiváló teljesítménye miatt használtam. Megfelel a robot minden követelményének. Az Android által végrehajtott hangfelismerési funkció kivételével (később tárgyaljuk), a kulcsszókereséstől és a kimenetképzéstől kezdve minden egyéb funkciót a Pro Mini -n végeznek. Ne aggódjon a fent említett kifejezések miatt, ha nem érti, mindet a későbbi részben tárgyaljuk. A wtv020sd 16p modul az audio fájlok lejátszására szolgál, a hc 05 Bluetooth az Android -al való kommunikációhoz és az LCD -kijelző a megjelenítéshez az érzelmek. Szükségünk van a női audio csatlakozóra, amely lehetővé teszi a robot külső erősítőhöz való csatlakoztatását. Itt az Arduino -t használják fő vezérlőként. Bluetooth-adatokat fogad a HC 05 Bluetooth-modulon keresztül, és lejátszja a fájlt a WTV-020-SD-16p hangmodulon keresztül. Az érzelmek az LCD modulban és a 9V -os elemben jelennek meg. Eve felismeri a beszédeket az Android -eszköz Google Voice -felismerésén keresztül. Később megfelelően megvitatják a megfelelő lépésben. Rossz hír az Arduino Pro Mini -ről: az RETIRED a piacról. Ez azt jelenti, hogy az Arduino hivatalosan leállította gyártását. De még mindig sok helyen megtalálhatja, beleértve az Ebay -t. Sok harmadik fél gyártója még mindig gyárthatja és értékesítheti a táblát. Ne aggódjon, ha nem talált egyet, használhatja az Arduino Nano -t. Ez nem változtat a teljesítményen és a méreten sem.

4. lépés: Elmélet 1. rész: Történelem és bevezetés

Elmélet 1. rész: Történelem és bevezetés
Elmélet 1. rész: Történelem és bevezetés
Elmélet 1. rész: Történelem és bevezetés
Elmélet 1. rész: Történelem és bevezetés

Az Eve a természetes nyelvfeldolgozás korai formáján, a "mintaegyeztetési" technológián alapul. A következőképpen működik, hogy egy karakterlánc fogadásakor egy előre meghatározott szót vagy kifejezést keres a karakterláncban. Tegyük fel, hogy a "hány éves vagy?" Kérdésben a program "régi" szót keres. Ha sikerül, akkor a megfelelő hangfájlt a wtv020sd modulon keresztül játssza le. Ha nem sikerül, akkor a következő előre meghatározott kulcsszót keresi. Ehhez hasonlóan előre meghatározott szavak szókincsét kell felépítenünk. Keménynek tűnik, nem? Mintha fel kellene építeni egy szókincset az összes angol szóból, és körülbelül 230 ezer szó található az angol nyelvben. Nos, a tény az, hogy csak néhány alapvető szót kell hozzáfűznünk, amelyeket leggyakrabban használunk kommunikációnkban. Még mindig keménynek tűnik? Ne aggódjon, a munkát Joseph Wizembaum már elvégezte. Eve válaszainak egy része és az előre meghatározott kulcsszavak beépültek a legelső Eliza nevű csevegőprogramba, amelyet Joseph Wizembaum (a fenti képen) fejlesztett ki. Elizát rogeriai terapeutának tervezték. Nem túl tudományos kifejezés, azt jelenti, hogy korábban tanácsokat adott az embereknek, hogy jobban megértsék önmagukat és pozitívabb gondolkodásra késztessék őket. Tényleg jól néz ki igaz? Eliza pedig nagyon jól tudta teljesíteni a kötelességét. Kíváncsi és szkeptikus hozzáállását az emberek szerették. Még Wizembaumot is meglepte, hogy az emberek milyen fontos szerepet tulajdonítanak Elizának. Úgy tűnt, elfelejtették, hogy számítógéppel beszélnek, és elképzelt egy gyönyörű hölgyet, aki a számítógépben ült, és beszélgetett velük. De Eliza nem volt olyan okos; hamar rájött. Az idő múlásával az emberek kezdték unni a korlátozott kommunikációját, és "butának" nevezték. Nem csoda, hogy milyen buta volt, ez egy nagy ugrás a mesterséges intelligencia és a természetes nyelvfeldolgozás történetében. A Chatterbots bázis alapításával különböző, új és jobb technológiájú robotok érkeztek a piacra. És most mindenhol megvannak. Amint említettük, Eve válaszainak egy része az ELIZA -ból származik. Ez azt jelenti, hogy még Évának is bizonyos mértékig birtokolnia kell Eliza hozzáállását néhány saját elképzelésemmel együtt. Egy másik fontos dolog a válaszok. Nagyon unalmasnak kell lennie, ha ugyanazokat a válaszokat kapja minden alkalommal, amikor ugyanazt a kérdést teszi fel. Ezért sok válasz tárolódik ugyanahhoz a kulcsszóhoz. Eve véletlenszerűen választja ki a lejátszandó fájlt, és ügyel arra is, hogy ne ismételje meg ugyanazt a fájlt. Ennyi, egyszerű kenyér és vaj, de fontos, hogy okosan programozzuk a válaszoló hangokat, hogy ez olyan illúziót keltsen a nézőkben, mintha valóban válaszolna a kérdéseinkre. Szóval ez volt egy rövid bevezető Éva működésébe. A következő lépésben ezt részletezzük és programozzuk.

5. lépés: A kulcsszó keresése

A kulcsszó keresése
A kulcsszó keresése
A kulcsszó keresése
A kulcsszó keresése
A kulcsszó keresése
A kulcsszó keresése
A kulcsszó keresése
A kulcsszó keresése

Az utolsó lépésben megemlítettem Éva mintaillesztési technológiáját és a természetes nyelvfeldolgozás korai formáját. Tehát mi ez és hogyan működik? Ez a legfontosabb, amit ebben a lépésben megvitatunk. Szóval gondolj bele, valaki megkérdezi a neved, és meg kell mondanod, mi az. Hányféleképpen tehetjük fel ugyanazt a kérdést? A tanár megkérdezheti: "Megmondanád a neved?" Egy rokon megkérdezheti: "mi a neved?" A bátyád azt mondhatja: "Hé, csak elfelejtettem a nevedet. Elmondod még egyszer?" Ez azt jelenti, hogy ugyanazt a kérdést többféleképpen is fel lehet tenni. Mégis ugyanazt a választ kell adnunk, a nevünket. Ez azt jelenti, hogy minden mondatban találnunk kell valami közöset. Jól látható, hogy a "neved" szó minden mondatban megtalálható. Tehát ez a mi tippünk. A nevet feltesző összes kérdésnél meg kell keresnünk a "neved" kifejezést. Ezt az alapvető mintát követve meg tudjuk jósolni a megfelelő választ az összes bemeneti karakterláncra. HATÁNY: Fontos megjegyezni, hogy ez az algoritmus nem mindig lesz pontos. Tegyük fel, hogy valaki azt mondta: "Megtaláltam a nevedet a várólistán. Arra számítottam, hogy a lefoglalt helyeken leszel.". Most, hogy a "neved" szerepel ebben a karakterláncban, Éva, ártatlanul elmondja a nevét az illetőnek… Bolond igaz? Ez az alapvető algoritmus egyik nagy hátránya. Egyébként ezek ritka esetek lennének. Ellenkező esetben az algoritmus nagyon hatékony. Most, hogy már említettem a mintaegyeztetési technológiát, itt az ideje elgondolkodni azon, honnan származik ez a beviteli karakterlánc, ahol a karakterláncot keressük. Nos, ez a karakterlánc valójában a hangunk, amelyet a Google Voice Recognition szöveggé alakított át. Az itt használt alkalmazás hangunkat szöveggé alakítja, majd a Bluetooth -on keresztül elküldi ugyanazt az arduino -nak. Azért használtam az alkalmazást, mert a legegyszerűbb és a legjobb a maga nemében. A név AMR Voice, és könnyen megtalálható a Google Playen.

6. lépés: A válaszok megfogalmazása

A válaszok megfogalmazása
A válaszok megfogalmazása

Most, hogy felismertük a kérdéseket, a következő lépés a válaszok megtalálása. Itt jön az érdekes és fontos rész… Meg kell találnunk a megfelelő válaszokat minden kérdés kielégítésére. És itt jön az ELIZA -ból beépített másik funkció. Wizembaum kifejlesztett néhány választ bizonyos számú kulcsszóra. Példa erre a "te" kulcsszó. Amikor észlelték a program kimenetét "veled tárgyaltunk - nem velem". Ezért a választ úgy adtuk meg, hogy illeszkedjen az "Ön" -t tartalmazó összes mondathoz. Továbbá Eliza minden alkalommal más választ adott. Minden válaszhoz volt egyfajta numerikus cím. Ezt minden válasz megfogalmazásakor növelték (1 -gyel hozzáadva). Tegyük fel, mint a fenti példában, hogy ha a válasz címe 1 volt, akkor a cím 2 -re változott, és a következő fájl került lejátszásra. De nem követjük ezt a növekvő algoritmust. A szoftver némi folyamatos használata után a válaszok kiszámíthatóvá váltak. Tudtad, hogy melyik választ adod legközelebb. Ebből a célból minden kulcsszóhoz véletlenszerű címeket készítünk. Összességében mindkét esetben ugyanaz, csak az a különbség, hogy nem tudjuk megjósolni, hogy a robot mit fog mondani ugyanazon kulcsszó után.

7. lépés: A tiltott nyilatkozatok és mások

A tiltott nyilatkozatok és mások
A tiltott nyilatkozatok és mások

Előfordulhatnak olyan esetek a beszélgetésben, amikor a robot olyasmit mond, amit nem szeretne hallani. Tehát itt felmerül a tiltott állítások hozzáadásának szükségessége. A tiltott utasítások olyan címek, amelyek nem játszhatók le. A hangcím a felhasználó kérésére tiltott nyilatkozatnak minősül. Továbbá ezt a címet az Arduino EEPROM -jában kell tárolni, hogy Eve ne felejtse el, hogy ez tiltott kijelentés még a kikapcsolása után is. A program alapvetően az, hogy minden lejátszandó címet ellenőriz. Ha a cím a tiltottak közé tartozik, akkor vagy növelik, vagy csökkentik. Ezenkívül előfordulhat, hogy engedélyezni szeretné a robotnak, hogy egy korábban tiltott szót mondjon. Ebben az esetben azt kell mondania Évának, hogy ő tudja kimondani az utolsó tiltott szót. A legutóbb tiltott szó mostantól lejátszható lesz. Ahhoz, hogy az összes tiltott kijelentés lejátszható legyen, csatolni kell egy visszaállító kapcsolót. Ha megnyomja az összes tiltott állítást, akkor játszhatóvá válik. Ezután egy másik fontos dolog lesz annak biztosítása, hogy Eve ne ismételje meg a válaszokat. Ez a véletlen számok egyfajta romlása. Valószínűleg ugyanazokat a véletlen számokat állítják elő sorozatban. Ez arra készteti a robotunkat, hogy ugyanazt a választ mondja újra és újra. Ehhez be kell vennünk egy másik kisebb függvényt, amely megakadályozza az állítások ismétlődését. Ehhez tárolnunk kell az utolsó utasítás címét a memóriában, és meg kell vizsgálnunk, hogy megegyezik -e a mostanival. Ha igen, akkor a cím értékét növelik vagy csökkentik, ugyanígy a tiltott állítások esetén.

8. lépés: Írás kódba

Írás kódban
Írás kódban
Írás kódban
Írás kódban
Írás kódban
Írás kódban

A kulcsszó keresésére az indexOf parancsot használjuk. A parancs megkeresi a karaktert vagy karakterláncot egy másik karakterláncban. Ha megtalálta, akkor visszaadja az adott karakterlánc indexét, míg -1, ha nem található. Tehát a programunkban a következőképpen kell írnunk: if (voice.indexOf ("a te neved")> -1) {// ha az index nagyobb, mint -1 // ami azt jelenti, hogy a karakterlánc megtalálható} Most hogy a karakterláncot tároltuk a memóriában, és megtaláltuk benne a kulcsszavunkat is, akkor most kezelnünk kell a válaszokat. Mint már említettük, véletlen számok generálódnak egy bizonyos számtartományon belül (hangfájlok címei). Itt jön a random () parancs. A szintaxis a következő: random (min, max); // a véletlen szám a min és max tartományban jön létre. Meghatározzuk az egyes tartományok minimális és maximális számát, és ezt alkalmazva a kódunk valahogy így néz ki: if (voice.indexOf ("az Ön neve")> - 1)) {minNo = 0; maxNo = 5; Véletlenszám = véletlen (minNo, maxNo);} Most jön a válaszok kezelése. Az utolsó lépésben azt mondtam, hogy a számokat algoritmus alapján növelik vagy csökkentik. Ez az algoritmus az, amiről most beszélünk. Ez a rész nagyon fontos abban az értelemben, hogy nem lehet csak úgy növelni vagy csökkenteni, ahogy szeretné. A növekvő vagy csökkentett számnak a tartományban kell lennie. Tegyük fel, hogy a fenti esetben a "neved" kulcsszó esetében a tartomány 0 és 5 között van, és a véletlen szám 5, és ha növeli, akkor egy másik kulcsszó hangfájlját játssza le. Szerinted ez hogy lesz? Azt kérdezi: "Hé, kérlek, mondd meg a neved.", És a robot azt válaszolja: "Szeretek sütit és elektromos töltést enni." Ugyanez vonatkozik a minimális létszámra is. Ha a véletlen szám 0, akkor nem csökkentheti. Ezért az algoritmus nagyon fontos. Gondoljunk csak bele: akkor tudunk növekedni, ha a szám kisebb, mint a maximális szám, és csökken, ha nagyobb, mint a minimális szám. Ha a generált szám vagy 0, vagy kevesebb, mint 5, akkor a szám növekszik. Másrészt, ha 5, akkor csökkentjük, hogy megbizonyosodjunk arról, hogy a szám a megadott tartományon belül van. Most jön a tiltott állítások. Mint említettük, az EEPROM -ban tárolják. Ehhez először szabad memóriát keresünk a tiltott tömbben. Tegyük fel, hogy a 4 -es cím szabad, majd beírjuk a fájlszámot a szabad tömbcímben, valamint ugyanazt a címet írjuk be az EEPROM -ba. For (int i; i if (never == 0) {EEPROM.write (soha , memória);}} Tehát ennyi, a Wtv020sd16p modult a modul.playVoice () parancs és a javasolt fájlszám használja. A Wtv020 modul működéséről a későbbiekben lesz szó.

9. lépés: Érzelmek beillesztése

Érzelmek beillesztése
Érzelmek beillesztése
Érzelmek beillesztése
Érzelmek beillesztése
Érzelmek beillesztése
Érzelmek beillesztése

Eddig robotunk képes felismerni, amit mondunk, eltárolja a memóriában, és megfelelő választ talál a kérdésekre. Most jön a kérdés az érzelmek beillesztésére. Bizonyára mindenkinek tetszeni fog az élő arc, csak valami hülye kis kérdés-válaszoló programmal együtt. A projektben a 16x2 LCD -t használják. Elég finom nyomtatni a szemet. A szemek létrehozásához az egyéni karakter funkciót kell használnunk. Az egyéni karakter lehetővé teszi számunkra, hogy új karaktereket hozzunk létre a képpontok meghatározásával. Kicsit később részletesebben foglalkozunk vele. Először is fontos megjegyezni, hogy az Arduino csak 8 egyéni karaktert támogat. Tehát csak 8 karakterrel kell kezelnünk az érzelmeket. Minden karaktert egy adott mezőbe kell nyomtatni, és 16 oszlop és 2 sor van, amelyek összesen 32 mezőt tartalmaznak.

Jó információkat talál az interneten az Arduino egyéni karaktereiről. Ezt a linket is meglátogathatja:

[Arduino egyéni karakterek] Az egyéni karakterbájtok szerkezete némileg így néz ki:

A normál megjelenés: A bal oldali doboz 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, a jobb oldali doboz. Ez azt jelenti, hogy összesen 4 dobozra lesz szükségünk egy teljes szem betöltéséhez. Két sor a bal oldalon és kettő a jobb oldalon, összesen négy doboz egy szem számára. A bal oldali dobozbájtnak két sort kell lefednie a bal oldalon, a jobb oldali mezőnek pedig a jobb sorokat. Ez tehát Éva teljes szeme. És most ugyanezt megismételve a második szemnél is, megkapjuk Éva semleges tekintetét. Most fontos megjegyezni, hogy a nyolc egyedi karakter közül egyet használtunk. És összesen öt érzelem létezik: Glee, Sad, Squint, Normal és Blink. A fennmaradó hét egyéni karakterből ki kell igazítanunk az összes kifejezést. A tér kitöltéséhez két dobozt fogunk használni mindkét szem számára. Nem csoda, hogy a méret egy kicsit kicsi lenne, de ezt az emberi szem figyelmen kívül hagyja. Csak ügyeljen arra, hogy adjon némi késést az LCD funkciók között, különben az Arduino instabillá válik.

10. lépés: A kapcsolatok létrehozása

A kapcsolatok létrehozása
A kapcsolatok létrehozása
A kapcsolatok létrehozása
A kapcsolatok létrehozása
A kapcsolatok létrehozása
A kapcsolatok létrehozása

LCD modul: Csatlakoztassa a csapokat az itt említettek szerint: RS: dig pin 12RW: GndEnable: 7d4: dig pin 8 d5: dig pin 9 d6: dig 10 d7: dig 1313 (anód) - 5vK (katód) gnd -hez A HC 05 modul: Kövesse ezeket a csatlakozásokat: HC 05 TX érintkező Arduino RX csaphoz HC 05 RX tű Arduino TX csaphoz Állapot csap Arduino ásótűhöz 11 A kommunikáció a TX és RX csapok segítségével történik. Az állapotjelző tüske szükséges annak ellenőrzéséhez, hogy a HC 05 csatlakozója csatlakoztatva van -e vagy tétlen. WTV 020 SD 16p modul pin1: A Reset pin, csatlakoztassa a 2 pin pin 7 -hez: Az Clock pin, csatlakoztassa a 3 pin10 pin -hez10: The data pin, connect 15: A foglalt tű, csatlakoztassa az 5 pin2 ásótűhöz: Csatlakoztassa ezt a tűt egy erősítőhöz a hangerőn keresztül, és ugyanezt a női audiocsatlakozóhoz is. 8. tüske a gnd -hez, és biztosítson 3.3V -os tápegységet a 16. tüskében.

Az erősítő elősegíti az Eve belső hangszóróinak lejátszását, míg az audiocsatlakozót külső erősítőhöz és nagyobb hangszórókhoz kell csatlakoztatni.

11. lépés: A WTV020SD16p modul (opcionális)

Image
Image
A WTV020SD16p modul (opcionális)
A WTV020SD16p modul (opcionális)
A WTV020SD16p modul (opcionális)
A WTV020SD16p modul (opcionális)

Megjegyzés: Ez a lépés nem kötelező. A WTV 020 SD 16p modul működésével és leírásával foglalkozik.

A hangmodul demóját ezen a linken tekintheti meg:

[VIDEÓ LEJÁTSZÁSA]

A robot beszédmódját a WTV 020 SD modul teljesíti. A modul hangfájlok lejátszására szolgál a robot számára. Ha bármilyen kérdés felmerül, az arduino a modult a megfelelő hangfájl lejátszására készteti az SD -kártyán. A modulon négy soros adatvonal található az arduino -val való kommunikációhoz, a resethez, az órához, az adatokhoz és a foglalt pinekhez, és a.playVoice () parancsot használjuk a szükséges fájl lejátszásához. Például: module.playVoice (9): // az SD -kártyán tárolt 9 -es fájl lejátszása Ne feledje, hogy a fájlok nevének decimális formában kell lennie (0001, 0002…). És hogy a fájloknak AD4 vagy WAV formátumban kell lenniük. Továbbá a modul csak 1 GB -os micro SD kártyán működik. Néhány modul akár 2 GB -os kártyákon is működik, és a kártya legfeljebb 504 hangfájlt tud tárolni. Tehát számos hangfájlt tartalmazhat a lejátszáshoz számos kérdéshez.

Akár saját AD4 hangfájlokat is létrehozhat. Először is két szoftverrel, egy hangszerkesztő szoftverrel és egy 4D SOMO TOOL nevű szoftverrel kell rendelkeznie, amely a fájlokat AD4 formátumba konvertálja. Másodszor, elő kell készítenie a Robot Hangokat. A szöveget beszéddé alakíthatja, vagy akár saját hangját is rögzítheti, és megszólaltathatja a robothangokat. Mindkettő elvégezhető a Hangszerkesztő szoftverben. De a robotok biztosan nem néznek ki jól, ha emberi hangokat beszélnek. Tehát jobb lenne a szöveget beszéddé alakítani. Különböző motorok, mint például a Microsoft Anna és a Microsoft Sam your Computer, segíthetnek ebben. Az enyém a Microsoft Eva -n alapul. Hangjai nagymértékben illeszkednek a Cortanához. A hangfájlok előkészítése után 32000 Hz -en és WAV formátumban kell menteni. Ez azért van, mert a modul képes lejátszani a hangfájlokat 32000 Hz -ig. Ezután a 4D SOMO TOOL eszközzel konvertálja a fájlokat AD4 formátumba. Ehhez nyissa meg a SOMO TOOL eszközt, válassza ki a fájlokat, majd kattintson az AD4 kódolás gombra, és a hangfájlok készen állnak. Referenciaként ellenőrizheti a fenti képet. Ha további részleteket szeretne megtudni a robothangok létrehozásáról, kattintson ide: [Robotikus hangok készítése]

12. lépés: A szoftver része

A szoftver része
A szoftver része
A szoftver része
A szoftver része
A szoftver része
A szoftver része

Az arduino Pro mini -ben van egy kis probléma a programozással. Valójában nem probléma, csak egy extra lépés. Az Arduino Pro mini nem rendelkezik beépített programozóval, mint a többi Arduino alaplap. Tehát vagy külsőt kell vásárolnia, vagy egy régi arduino UNO -t. Az itt leírt lépés leírja a program feltöltésének módját az Arduino UNO használatával. Csak ragadjon meg egy régi Arduino UNO kártyát a balesetből, és vegye ki az Atmega 328p -t. Ezután csatlakoztassa az alábbiak szerint: 1. TX csap az UNO -n a TX csap a Pro Mini 2. RX csap az UNO a RX csap a Pro MIni3. Állítsa vissza az UNO csapját a Pro Mini4 visszaállító csapjára. csatlakoztassa a Pro Mini VCC -jét és földjét az UNO -hoz. Töltse le az Arduino programot, a hangfelismerő szoftvert és az alján található könyvtárakat. A program még fejlesztés alatt áll. Tehát ha bármilyen problémája van ezzel kapcsolatban, kérdezzen bátran. Ezután csatlakoztassa a kábelt a számítógéphez. Válassza ki a táblát Arduino Pro Mini -ként, és válassza ki a megfelelő COM -portot. Ezután nyomja meg a Feltöltés gombot, és nézze meg, hogy a program feltöltődik -e a Pro Mini készülékre.

Ezután töltse le a hangfelismerő szoftvert és a hangfájlokat.

13. lépés: A test előkészítése

A test előkészítése
A test előkészítése
A test előkészítése
A test előkészítése
A test előkészítése
A test előkészítése

Találtam egy kis doboz fogselymet, és azt találtam, hogy tökéletes a test számára. Használhat bármilyen műhelyben talált dobozt, vagy készíthet egyet kartonból. Csak vágjon ki egy kis téglalap alakú darabot az LCD -modul rögzítéséhez. Felül egy kis lyukat vágtam ki a hangerő rögzítéséhez, az oldalán pedig a kapcsolók és az audiocsatlakozó rögzítéséhez. Két doboz kupakot rögzítettem a doboz oldalán a kerekekhez. Csak győződjön meg arról, hogy a dobozban elegendő hely van az áramkör belsejébe. Csatlakoztasson egy kapcsolót a testhez, valamint az áramkörhöz, majd a doboz tetején lévő hangerőt. Ezután helyezze be az áramkört, és a robot készen áll.

14. lépés: Jól sikerült

Szép munka!
Szép munka!
Szép munka!
Szép munka!

Most befejezte aranyos kis robotprojektjét, amely képes beszélni veled, és boldoggá tenni. Ez a legboldogabb pont barkácsolónak lenni, amikor a projekt befejeződött és teljesen működik. Ne aggódjon, ha nem sikerül egy kísérlet, keményen és keményen meg kell próbálnia, hogy megértse a robot minden egyes részét. És itt jönnek a barkácsolók erre a világra. De ez még nem a projekt vége. Évát mindig nagyobb mértékben kell fejleszteni, akár én, akár olyan barkácsolók, mint te. Szeretném hallani, hogy mit csináltál ezzel a tanulsággal. Üdvözlettel, RS3655

Ajánlott: