Sisällysluettelo:

Eve, Arduino Chatbot: 14 vaihetta (kuvilla)
Eve, Arduino Chatbot: 14 vaihetta (kuvilla)

Video: Eve, Arduino Chatbot: 14 vaihetta (kuvilla)

Video: Eve, Arduino Chatbot: 14 vaihetta (kuvilla)
Video: Give your Arduino project a chatGPT AI brain - for ALMOST free 2024, Lokakuu
Anonim
Image
Image
Eve, Arduino Chatbot
Eve, Arduino Chatbot
Eve, Arduino Chatbot
Eve, Arduino Chatbot

Hei DIYrs, onko ollut tapauksia, joissa halusit todella jakaa tunteesi jonkun kanssa, eikä luotettavaa ollut lähellä? Nykypäivän kiireisessä maailmassa tämä on yleinen esimerkki. No, chatbot voi auttaa sinua tuntemaan olosi paremmaksi. Ja tämä johtaa Eve: n esittelyyn. Eve on söpö pikku chatbot. Kuten kaikki tietävät, chatterbot tai chatbot on tietokoneohjelma tai -laite, joka käy keskustelun ihmisten kanssa teksti- tai kuulomenetelmien perusteella. Automaattiset äänet, joita kuulet asiakaspalvelupuhelussa tai pankkilinjalla, ovat esimerkki chatbotista, jonka kanssa voit jakaa kokemuksiasi, tunteitasi ja mikä tärkeintä, väitellä eri asioista; hän on siitä hyvin kokenut. Koska se on chatbotin tärkein tehtävä, saa henkilö tuntemaan olonsa onnelliseksi. Varhainen esimerkki luonnollisesta kielenkäsittelystä (NLU) ja tekoälystä, Eve pystyy vastaamaan kaikkiin kysymyksiisi. Hän ei voi vastata vain tiettyyn kysymykseen. Hän voi laulaa, kertoa vitsejä, tarinoita ja tehdä mitä tahansa, mikä saa sinut tuntemaan olosi hyväksi. Jos hän sanoo jotain, mitä et halua kuulla, kerro vain hänelle, älä sano sitä uudelleen, ja hän muistaa sen. Hän tietää jopa, ettei hänen pitäisi toistaa samoja vastauksia ja keskusteluja, jotta keskustelu ei tule tylsää. Yksinkertaisten, halpojen komponenttien ja perusohjelmoinnin perusteella hän voi käyttäytyä älykkäästi suuressa määrin. Lisäksi hänen hallussaan olevat LCD -silmät osoittavat miltä hänestä tuntuu, kun sanot mitään. Joten periaatteessa tässä opettavaisessa asiassa aloitamme chatbotin määritelmästä, tarkastelemme suunnittelua, joitain teorioita, joiden perusteella Eve toimii, valmistusta ja lopulta Näyttää paljon siltä? Älä huoli, se tulee olemaan mielenkiintoinen matkalla. Voit katsoa robotin esittelyn yllä tai tästä linkistä: [Play Video]

Vaihe 1: Chatbotin määrittely

Määritelmä Chatbot
Määritelmä Chatbot
Määritelmä Chatbot
Määritelmä Chatbot
Määritelmä Chatbot
Määritelmä Chatbot

Kuten edellä mainittiin, chatbot on ohjelma, joka käy keskustelun ihmisten kanssa. Ne ovat niin yleisiä nykyään, että tuskin on ketään tuntematonta. Virtuaalisista avustajista, Siri ja Google Assistant, alkaen on Mitsuku ja Evie, joiden kanssa voit jakaa tunteitasi. Tekstimenetelmässä keskustelut ovat kirjoitettua tekstiä aivan kuten WhatsApp. Kuulontamenetelmässä keskustelut käydään suullisesti kuin todellisen ihmisen kanssa. Luulen, että on jännittävämpää keskustella jonkun kanssa puhumalla suullisesti hänelle sen sijaan, että vain lähettäisit hänelle tekstiviestin. Tekstipohjaiset viestintäsovellukset täyttävät epäilemättä ihmisten vaatimukset, mutta minusta tuntuu, että puhuminen puhumalla on paras tapa päästä eroon tunnehäiriöistäsi ja parantaa oloa. Tämä on tärkein syy, miksi suunnittelin Eevan kuuloiseksi chatbotiksi.

Vaihe 2: Eevan alkuperä

Eevan alkuperä
Eevan alkuperä

No, Eeva tuli vain mieleeni eräänä päivänä. Näin tapahtui, kun näin lapsen vaeltelevan yksin koulussa, kun toiset leikkivät mielellään täynnä iloa. Tuolloin ajattelin ystävää, joka ei syrji ketään eikä saa ketään tuntumaan loukkaantuneelta, jonka kanssa voit jakaa tunteesi ja olla onnellinen koko ajan. Sitten tuli vilkkuva mieleeni, Eevan söpö pieni rakenne, jonka aloin työskennellä. Eve pettyi minuun noin sata kertaa. Se oli varmaan 101. kerta, kun hän työskenteli ja sai minut tuntemaan oloni todella onnelliseksi, joten se oli Eevan alkuperä. Halusin hänen olevan älykäs, mutta mahdollisimman yksinkertainen, jotta kuka tahansa voisi tehdä hänet helposti. Epäilemättä hän ei ole täysin älykäs ja sanoo joskus typeriä vastauksia, hän voi käyttäytyä ystävänä. Ja nyt, tarpeeksi tarinoita, aloitetaan Eevan rakentaminen.

Vaihe 3: Komponenttien ja varusteiden kokoaminen:

Osien ja varusteiden kerääminen
Osien ja varusteiden kerääminen
Osien ja varusteiden kerääminen
Osien ja varusteiden kerääminen
Osien ja varusteiden kerääminen
Osien ja varusteiden kerääminen

Seuraavat osat on koottava: Arduino Pro Mini (tai Arduino Nano) Wtv-020-SD-16p äänimoduuli HC-05 bluetooth-moduuli 16x2 LCD-moduuli LM7805-säädin ICAn vahvistinmoduuli (käytin PAM8403-piiriä) 8 ohmin kaiutin A naaras audio jacka 9v -akku ja Android -puhelinNämä ovat pakollisia komponentteja. Toinen tärkeä asia, hinta. Eeva maksoi minulle noin 3000 INR. Hinta saattaa olla erilainen maassasi, mutta Intiassa tämä on hinta. Pieni kuvaus osista: Arduino Pro mini on robotin tärkein MCU. Käytin sitä pienen koon, yksinkertaisuuden ja erinomaisen suorituskyvyn vuoksi. Se täyttää kaikki robotin vaatimukset. Lukuun ottamatta puheentunnistustoimintoa, jonka Android tekee (keskustellaan myöhemmin), kaikki muut toiminnot avainsanan etsimisestä ja tulosten muodostamisesta alkaen tehdään Pro Minillä. Älä huolehdi yllä mainituista termeistä, jos et ymmärrä sitä, kaikki käsitellään myöhemmässä osassa. Wtv020sd 16p -moduulia käytetään äänitiedostojen toistamiseen, hc 05 Bluetooth kommunikointiin Androidin ja LCD -näytön kanssa tunteet. Tarvitsemme naarasääniliitännän, joka yhdistää robotin ulkoiseen vahvistimeen. Arduinoa käytetään tässä pääohjaimena. Se vastaanottaa Bluetooth-tietoja HC 05 Bluetooth -moduulin kautta ja toistaa tiedoston WTV-020-SD-16p-äänimoduulin kautta. Tunteet näkyvät LCD -moduulissa ja 9 V: n akussa. Eve tunnistaa puheet Android -laitteen Google Voice -tunnistuksen kautta. Huonoja uutisia Arduino Pro Ministä: IT on PÄÄTTYNYT markkinoilta. Se tarkoittaa, että Arduinon valmistus on lopetettu virallisesti. Mutta voit silti löytää sen monilta sivustoilta, mukaan lukien Ebay. Monet ulkopuoliset valmistajat saattavat edelleen valmistaa ja myydä levyä. Älä huoli, jos et löytänyt sitä, voit käyttää Arduino Nano -laitetta. Se ei vaikuta suorituskykyyn eikä myöskään kokoon.

Vaihe 4: Teoria Osa 1: Historia ja johdanto

Teoria Osa 1: Historia ja johdanto
Teoria Osa 1: Historia ja johdanto
Teoria Osa 1: Historia ja johdanto
Teoria Osa 1: Historia ja johdanto

Eve perustuu luonnollisten kielten käsittelyn varhaiseen muotoon, "kuviohaun sovitus" -tekniikkaan. Se toimii seuraavasti, kun se saa merkkijonon vastaanottaessaan ennalta määritetyn sanan tai lauseen. Oletetaan, että kysymyksessä "kuinka vanha olet?" Ohjelma etsii "vanhaa" sanaa. Jos se onnistuu, se toistaa vastaavan äänitiedoston wtv020sd -moduulin kautta. Jos se epäonnistuu, se etsii seuraavan ennalta määritetyn avainsanan. Näyttää kovalta, eikö? Meidän on ikään kuin rakennettava sanasto kaikista englanninkielisistä sanoista, ja englanninkielisiä sanoja on yhteensä noin 230 tuhatta. Tosiasia on, että meidän on vain lisättävä muutama perussana, joita käytetään yleisimmin viestinnässämme. Näyttääkö silti kovalta? Älä huoli, Joseph Wizembaum on jo tehnyt työn. Osa Eevan vastauksista ja ennalta määritellyistä avainsanoista on sisällytetty ensimmäiseen Eliza -chatterbot -ohjelmaan, jonka on kehittänyt Joseph Wizembaum (kuvassa yllä). Eliza suunniteltiin rogerialaiseksi terapeutiksi. Ei kovin tieteellinen termi, se tarkoittaa, että hän neuvoi ihmisiä, saamaan heidät ymmärtämään itseään paremmin ja saamaan heidät ajattelemaan positiivisemmin. Näyttää todella hyvältä? Ja Eliza pystyi hyvin hoitamaan velvollisuutensa. Ihmiset rakastivat hänen uteliasta ja skeptistä asennettaan. Jopa Wizembaum oli yllättynyt ihmisten tärkeydestä Elizalle. He näyttivät unohtaneen, että he puhuivat tietokoneelle, ja kuvittelivat tietokoneen sisällä istuvan kauniin naisen, joka keskusteli heidän kanssaan, mutta Eliza ei ollut niin fiksu; se selvisi pian. Ajan myötä ihmiset alkoivat kyllästyä hänen rajalliseen viestintäänsä ja häntä kutsuttiin "tyhmäksi". Ei ihme, kuinka tyhmä hän oli, se oli suuri harppaus tekoälyn ja luonnollisen kielen käsittelyn historiassa. Chatterbots -tukikohdan perustamisen jälkeen markkinoille tuli erilaisia uuden ja paremman tekniikan robotteja. Ja nyt meillä on niitä kaikkialla, kuten mainittiin, osa Eevan vastauksista on johdettu ELIZA: sta. Tämä tarkoittaa sitä, että jopa Eevalla on jossain määrin Elisan asenne ja omat ajatukseni. Toinen tärkeä asia on vastaukset. Olisi todella tylsää saada samat vastaukset aina, kun kysyt samaa kysymystä. Siksi samaan avainsanaan tallennetaan monia vastauksia. Eve valitsee satunnaisesti toistettavan tiedoston ja varmistaa myös, ettei hän toista samaa tiedostoa. Siinä kaikki, yksinkertainen leipä ja voi, mutta on tärkeää ohjelmoida vastaavat äänet taitavasti niin, että se antaa katsojille harhan, ikään kuin hän todella vastaisi kysymyksiimme. Seuraavassa vaiheessa tutustumme tähän yksityiskohtaisesti ja ohjelmoimme.

Vaihe 5: Hakusanan etsiminen

Haetaan avainsanaa
Haetaan avainsanaa
Haetaan avainsanaa
Haetaan avainsanaa
Haetaan avainsanaa
Haetaan avainsanaa
Haetaan avainsanaa
Haetaan avainsanaa

Viimeisessä vaiheessa mainitsin Eevan mallien sovitustekniikasta ja myös luonnollisen kielen käsittelyn varhaisesta muodosta. Joten mikä se on ja miten se toimii? Se on tärkein asia, josta keskustelemme tässä vaiheessa. Joten ajattele sitä, joku kysyy nimesi ja sinun on kerrottava, mikä se on. Kuinka monella tavalla voimme esittää saman kysymyksen? Opettajasi voi kysyä "kertoisitko nimesi?" Sukulainen voi kysyä, "mikä on nimesi?" Veljesi voi sanoa: "Hei, unohdin juuri nimesi. Sanotko sen vielä kerran?" Tämä tarkoittaa sitä, että saman kysymyksen voi esittää monella tavalla. Meidän on kuitenkin annettava sama vastaus, nimemme. Tämä tarkoittaa, että meidän on löydettävä jotain yhteistä kaikista lauseista. On selvästi nähtävissä, että sana "nimesi" on kaikissa lauseissa. Tämä on siis vihjeemme. Kaikissa kysymyksissä, joissa kysytään nimeä, meidän on etsittävä lause "nimesi". Noudattamalla tätä perusmallia voimme ennustaa vastauksen kaikkiin syöttöjonoihin. Oletetaan, että joku sanoi: "Löysin nimesi odotuslistalta. Odotin sinun olevan varattuilla paikoilla.". Koska nyt "nimesi" on tässä merkkijonossa, Eve, viattomuus, kertoo hänen nimensä henkilölle… Tyhmää eikö? Tämä on yksi tämän perusalgoritmin suurista haitoista. Nämä olisivat joka tapauksessa harvinaisia tapauksia. Muuten algoritmi on erittäin tehokas. Nyt kun olen maininnut kuvioiden sovitustekniikasta, on aika miettiä, mistä tämä syöttöjono tulee mistä etsimme merkkijonoa. No tämä merkkijono on itse asiassa äänemme, joka on muunnettu tekstiksi Google Voice Recognitionin avulla. Tässä käytetty sovellus muuntaa äänemme tekstiksi ja lähettää sen sitten arduinoon Bluetoothin kautta. Käytin sovellusta, koska se on yksinkertaisin ja paras lajissaan. Nimi on AMR Voice, ja se löytyy helposti Google Playsta.

Vaihe 6: Vastausten muotoilu

Vastausten muotoilu
Vastausten muotoilu

Nyt kun olemme tunnistaneet kysymykset, seuraava askel olisi löytää vastaukset. Siitä tulee mielenkiintoinen ja tärkeä osa… Meidän on löydettävä sopivat vastaukset jokaisen kysymyksen tyydyttämiseksi. Ja tässä tulee toinen toiminto, joka on sisällytetty ELIZAan. Wizembaum kehitti vastauksia tiettyyn määrään avainsanoja. Esimerkki on avainsana "sinä". Aina kun se havaittiin, ohjelman lähtö "me keskustelimme sinusta - ei minusta". Siksi vastaus tehtiin siten, että se sopii kaikkiin lauseisiin, jotka sisältävät "sinä". Lisäksi Eliza antoi erilaisen vastauksen joka kerta. Jokaiselle vastaukselle oli eräänlainen numeerinen osoite. Tätä lisättiin (lisättiin yhdellä) joka kerta, kun vastaus muotoiltiin. Oletetaan, kuten yllä olevassa esimerkissä, jos vastauksen osoite oli 1, osoite muutettiin 2: ksi ja tiedosto 2 toistettiin seuraavaksi, mutta emme seuraa tätä lisäysalgoritmia. Näet ohjelmiston jatkuvan käytön jälkeen, että vastauksista tuli ennustettavissa. Tiesit, mikä vastaus on seuraavaksi annettava. Joten tätä tarkoitusta varten tuotamme satunnaisia osoitteita kullekin avainsanalle. Kaiken kaikkiaan se on sama molemmissa tapauksissa, vain se ero, että emme voi ennustaa, mitä robotti sanoo seuraavaksi samalle avainsanalle.

Vaihe 7: Kielletyt lausunnot ja muut

Kielletyt lausunnot ja muut
Kielletyt lausunnot ja muut

Keskustelussasi saattaa olla tilanteita, joissa robotti sanoo jotain, mitä et halua kuulla. Joten tässä tulee tarve lisätä kielletyt väitteet. Kielletyt lausunnot ovat joukko osoitteita, joita ei voida toistaa. Puheosoite luonnehditaan kielletyksi väitteeksi käyttäjän pyynnöstä. Lisäksi tämä osoite on tallennettava Arduinon EEPROMiin, jotta Eve ei unohda, että se on kielletty ilmoitus, vaikka hän on sammutettu. Jos osoite on yksi kielletyistä, sitä joko lisätään tai pienennetään. Lisäksi voi olla tapaus, jossa haluat antaa robotin sanoa aiemmin kielletyn sanan. Siinä tapauksessa sinun on sanottava Eevalle, että hän voi sanoa viimeisen kielletyn sanan. Sana, joka oli viimeksi kielletty, voidaan nyt pelata. Jotta kaikki kielletyt tiedot voidaan toistaa, meidän on liitettävä nollauskytkin. Jos painat kaikkia kiellettyjä lausuntoja, niistä tulee pelattavia, ja toinen tärkeä asia on varmistaa, että Eeva ei toista vastauksia. Tämä on eräänlainen satunnaislukujen heikkous. Samat satunnaisluvut tuotetaan todennäköisesti sarjassa. Tämä saa robotin sanomaan saman vastauksen uudestaan ja uudestaan. Tätä varten meidän on sisällytettävä toinen pieni funktio, joka estää lausuntojen toistumisen. Tätä varten meidän on tallennettava muistiin viimeisen lauseen osoite ja tarkistettava, onko se sama kuin nykyinen. Jos näin on, osoitearvoa lisätään tai vähennetään, aivan kuten kiellettyjen lausekkeiden tapauksessa.

Vaihe 8: Kirjoittaminen koodiin

Kirjoittaminen koodiin
Kirjoittaminen koodiin
Kirjoittaminen koodiin
Kirjoittaminen koodiin
Kirjoittaminen koodiin
Kirjoittaminen koodiin

Käytämme indexOf -komentoa avainsanan etsimiseen. Komento etsii merkin tai merkkijonon toisesta merkkijonosta. Jos se löytyy, se palauttaa kyseisen merkkijonon indeksin, kun taas -1 palautetaan, jos sitä ei löydy. Joten ohjelmassamme meidän on kirjoitettava se seuraavasti: if (voice.indexOf ("nimesi")> -1) {// jos indeksi on suurempi kuin -1 // eli merkkijono on löydetty} Nyt että olemme tallentaneet merkkijonon muistiin ja löytäneet myös avainsanamme sen sisältä, meidän on nyt käsiteltävä vastauksia. Kuten sanottu, satunnaislukuja luodaan tietylle lukualueelle (äänitiedostojen osoitteet). Tässä tulee random () -komento. Seuraava on syntaksi: satunnainen (min, max); // satunnaisluku luodaan alueella min ja max. 1)) {minNo = 0; maxNo = 5; Satunnaisluku = satunnainen (minNo, maxNo);} Nyt tulee vastausten käsittely. Viimeisessä vaiheessa sanoin, että numeroita lisätään tai pienennetään algoritmin perusteella. Tästä algoritmista keskustellaan nyt. Tämä osa on erittäin tärkeä siinä mielessä, että et voi vain lisätä tai vähentää juuri niin kuin haluat. Kasvavan tai pienennetyn luvun on oltava alueella. Oletetaan, kuten edellä mainitussa tapauksessa, että avainsanalla "nimesi" on väli 0-5, ja satunnaisluku on 5, ja jos lisäät sitä, päädyt toistamaan toisen avainsanan äänitiedoston. Miten luulet sen tapahtuvan? Kysyt: "Hei, kerro minulle nimesi.", Ja robotti vastaa: "Pidän evästeiden ja sähkövarauksen syömisestä." Sama koskee vähimmäismäärää. Jos satunnaisluku on 0, et voi vähentää sitä. Tästä syystä algoritmi on erittäin tärkeä. Ajattele sitä: Voimme lisätä joko silloin, kun luku on pienempi kuin enimmäisluku, ja pienentää, kun se on pienempi kuin vähimmäisluku. Toisaalta, kun se on 5, vähennämme sitä varmistaaksemme, että luku on määritellyllä alueella. Kuten mainittiin, ne on tallennettu EEPROMiin. Tätä varten etsimme ensin vapaata muistia kielletystä ryhmästä. Oletetaan, että osoite 4 on vapaa, syötämme tiedostonumeron vapaataulukon osoitteeseen ja kirjoitamme saman osoitteen EEPROM: iin. For (int i; i if (never == 0) {EEPROM.write (koskaan , muisti);}} Joten siinä kaikki, Wtv020sd16p -moduuli toistetaan käyttämällä moduuli.playVoice () -komentoa ja ehdotettua tiedostonumeroa. Wtv020 -moduulin toiminnasta keskustellaan myöhemmin.

Vaihe 9: Tunteiden lisääminen

Tunteiden lisääminen
Tunteiden lisääminen
Tunteiden lisääminen
Tunteiden lisääminen
Tunteiden lisääminen
Tunteiden lisääminen

Toistaiseksi robotti pystyy tunnistamaan sanomamme, tallentamaan muistiin ja löytämään sopivan vastauksen kysymyksiin. Nyt tulee kysymys tunteiden lisäämiseksi. Varmasti kaikki pitävät elävistä kasvoista yhdessä vain jonkin typerän pienen kysymysvastausohjelman kanssa. Projektissa käytetään 16x2 LCD -näyttöä. Se riittää tulostamaan silmät. Meidän on käytettävä mukautettua merkkitoimintoa silmien luomiseen. Mukautetun merkin avulla voimme luoda uusia merkkejä määrittämällä pikselit. Tarkastelemme sitä hieman myöhemmin. Ensinnäkin on tärkeää muistaa, että Arduino tukee vain 8 mukautettua merkkiä. Joten meidän on hallittava tunteita vain 8 merkillä. Jokainen merkki on painettava tiettyyn ruutuun, ja siinä on 16 saraketta ja 2 riviä, jotka muodostavat yhteensä 32 laatikkoa.

Löydät verkosta hyvää tietoa Arduinon mukautetuista hahmoista. Voi käydä myös tässä linkissä:

[Mukautetut merkit Arduino] Muokatun merkin tavun rakenne näyttää jonkin verran tältä:

Normaali ulkoasu: Vasen laatikko. Tämä tarkoittaa, että tarvitsemme yhteensä 4 laatikkoa koko silmän täyttämiseksi. Kaksi riviä vasemmalla ja kaksi oikealla, yhteensä neljä laatikkoa yhdelle silmälle. Vasemman laatikon tavun on peitettävä kaksi riviä vasemmalla ja oikean laatikon on peitettävä oikeat rivit. Joten se muodostaa Eevan täydellisen silmän. Ja nyt toistamalla samaa toiselle silmälle, saamme Eevan neutraalin ilmeen. Nyt on tärkeää muistaa, että olemme käyttäneet jokaista kahdeksaa mukautettua merkkiä. Ja tunteita on yhteensä viisi: Glee, Surullinen, Squint, Normal ja Blink. Kun jäljellä on seitsemän mukautettua merkkiä, meidän on mukautettava niin, että ne sopivat kaikkiin lausekkeisiin. Tilaa varten käytämme 2 laatikkoa jokaista silmää kohden. Ei ihme, että koko olisi hieman pieni, mutta ihmissilmä jättää tämän huomiotta. Muista vain lisätä viivettä nestekidenäytön välille, muuten Arduino muuttuu epävakaaksi.

Vaihe 10: Yhteyksien luominen

Liitosten tekeminen
Liitosten tekeminen
Liitosten tekeminen
Liitosten tekeminen
Liitosten tekeminen
Liitosten tekeminen

LCD -moduuli: Liitä nastat tässä mainitulla tavalla: RS: kaivonasta 12RW: GndEnable: 7d4: dig pin 8 d5: dig pin 9 d6: dig pin 10 d7: dig pin13A (anode) to 5vK (Cathode) to gnd HC 05 -moduuli: Noudata näitä liitäntöjä: HC 05 TX -tappi Arduino RX -tappiin HC 05 RX -nasta Arduino TX -tapaan Tila nasta Arduino -kaivonasta 11 Tiedonsiirto tapahtuu TX- ja RX -nastojen avulla. Tila -nasta vaaditaan tarkistamaan, onko HC 05 -liitäntä kytketty vai tyhjäkäynnillä. WTV 020 SD 16p -moduulin nasta 1: Nollaustappi, liitä se kaivonappiin 2 -nastainen 7: Kellotappi, yhdistä se kaivonastapaan 3 -nastainen 10: Datanappi, liitä kaivaa nasta 4 nasta15: Varattu nasta, yhdistä kaivonastappaan 5 nasta2: Kytke tämä nasta vahvistimeen äänenvoimakkuuden kautta ja sama naarasääniliitäntään. nasta 4 tulee liittää kaiuttimeen+nasta 5 kytkettäväksi kaiuttimeen-Liitä Liitä 8. nasta gnd: iin ja anna 3.3 V: n virtalähde 16. nastassa.

Vahvistin auttaa pelaamaan Eve: n sisäistä kaiutinta, kun taas ääniliitäntä on yhdistettävä ulkoiseen vahvistimeen ja suurempiin kaiuttimiin.

Vaihe 11: WTV020SD16p -moduuli (valinnainen)

Image
Image
WTV020SD16p -moduuli (valinnainen)
WTV020SD16p -moduuli (valinnainen)
WTV020SD16p -moduuli (valinnainen)
WTV020SD16p -moduuli (valinnainen)

Huomautus: Tämä vaihe on valinnainen. Se käsittelee WTV 020 SD 16p -moduulin toimintaa ja kuvausta.

Näet äänimoduulin esittelyn tästä linkistä:

[TOISTA VIDEO]

WTV 020 SD -moduuli täyttää robotin puhetilan. Moduulia käytetään robotin äänitiedostojen toistamiseen. Kun kysytään kysymyksiä, arduino saa moduulin toistamaan vastaavan äänitiedoston SD -kortilla. Moduulissa on neljä sarjatietolinjaa kommunikointiin arduinon kanssa, nollaus, kello, data ja varatut nastat, ja toistamme vaaditun tiedoston komennolla.playVoice (). Esimerkki: module.playVoice (9): // toista tiedosto 9, joka on tallennettu SD -kortille Muista, että tiedostojen nimien tulee olla desimaalilukuja (0001, 0002…). Tiedostojen tulee olla joko AD4- tai WAV -muodossa. Lisäksi moduuli toimii vain 1 Gt: n micro SD -kortilla. Jotkut moduulit toimivat jopa 2 Gt: n korteilla ja kortille mahtuu enintään 504 äänitiedostoa. Joten voit sisällyttää suuren määrän äänitiedostoja toistettavaksi monille kysymyksille.

Voit jopa luoda omia AD4 -äänitiedostojasi. Ensinnäkin sinulla on oltava kaksi ohjelmistoa, äänen editointiohjelmisto ja ohjelmisto nimeltä 4D SOMO TOOL, joka muuntaa tiedostot AD4 -muotoon. Toiseksi sinun on valmisteltava Robot Voices. Voit joko muuntaa tekstin puheeksi tai jopa tallentaa oman äänesi ja tehdä robotin ääniä. Molemmat voidaan tehdä äänieditointiohjelmistossa. Mutta varmasti robotit eivät näytä hyviltä, jos he puhuvat ihmisääntä. Joten pitäisi olla parempi muuntaa teksti puheeksi. On olemassa erilaisia moottoreita, kuten Microsoft Anna ja Microsoft Sam your Computer, jotka auttaisivat tekemään tämän. Oma perustuu Microsoft Evaan. Sen äänet sopivat suurelta osin Cortanan kanssa. Äänitiedostojen valmistelun jälkeen sinun on tallennettava ne 32000 Hz: lle ja WAV -muotoon. Tämä johtuu siitä, että moduuli voi toistaa äänitiedostoja jopa 32000 Hz asti. Käytä sitten 4D SOMO TOOL -työkalua tiedostojen muuntamiseen AD4 -muotoon. Voit tehdä tämän avaamalla SOMO TOOL -työkalun, valitsemalla tiedostot ja napsauttamalla AD4 Encode ja äänitiedostot ovat valmiina. Voit tarkistaa kuvan yllä olevasta kuvasta. Jos haluat lisätietoja robottiäänien tekemisestä, voit siirtyä tähän: [Making Robotic Voices]

Vaihe 12: Ohjelmisto -osa

Ohjelmiston osa
Ohjelmiston osa
Ohjelmiston osa
Ohjelmiston osa
Ohjelmiston osa
Ohjelmiston osa

Arduino Pro minissä on pieni ongelma ohjelmoinnissa. Ei itse asiassa ongelma, vain yksi lisävaihe. Arduino Pro minissä ei ole sisäänrakennettua ohjelmoijaa kuin muissa Arduino -levyissä. Joten sinun on joko ostettava ulkoinen tai vanha arduino UNO. Tässä vaiheessa kuvataan, miten ohjelma ladataan Arduino UNO: n avulla. Ota vain vanha Arduino UNO -levy törmäyksestä ja ota Atmega 328p ulos. Yhdistä sitten seuraavasti: 1. TX -nasta UNO: ssa TX -nastaan Pro Mini 2. UNO: n RX -nasta Pro MIni3: n RX -nastaan. Palauta UNO -nasta Pro Mini4: n nollaustappiin. liitä Pro Mini VCC ja Ground UNO: hon. Ohjelmaa kehitetään edelleen. Joten jos sinulla on ongelmia sen suhteen, kysy rohkeasti ja kytke sitten kaapeli tietokoneeseen. Valitse kortti Arduino Pro Mini -laitteeksi ja valitse oikea COM -portti. Paina sitten Lataa -painiketta ja katso, että ohjelma ladataan Pro Miniin.

Lataa sitten äänentunnistusohjelmisto ja äänitiedostot.

Vaihe 13: Kehon valmistelu

Kehon valmistelu
Kehon valmistelu
Kehon valmistelu
Kehon valmistelu
Kehon valmistelu
Kehon valmistelu

Löysin pienen laatikon hammaslankaa ja huomasin sen olevan täydellinen vartalolle. Voit käyttää mitä tahansa työpajassasi olevaa laatikkoa tai tehdä sen pahvista. Leikkaa vain pieni suorakulmainen pala LCD -moduulin kiinnittämistä varten. Yläosassa leikkasin pienen reiän äänenvoimakkuuden kiinnittämistä varten ja sivuilta kytkimien ja ääniliittimen kiinnittämistä varten. Kiinnitin kaksi pullon korkkia pyörän laatikon sivuille. Varmista vain, että laatikossa on tarpeeksi tilaa piirin laittamiseen. Kiinnitä kytkin runkoon ja piiriin, sitten äänenvoimakkuus laatikon yläosaan. Laita sitten piiri sisään ja robotti on valmis.

Vaihe 14: Hyvin tehty

Hyvin tehty!
Hyvin tehty!
Hyvin tehty!
Hyvin tehty!

Nyt olet suorittanut suloisen pienen robottiprojektisi, joka voi puhua kanssasi ja saada sinut tuntemaan olosi onnelliseksi. Tämä on onnellisin kohta olla DIYer, kun projekti on valmis ja täysin toimiva. Älä huoli, jos et onnistu yhdessä yrityksessä, sinun on yritettävä kovasti tämän eteen, jotta ymmärrät robotin jokaisen osan. Ja siellä DIYers tulevat tähän maailmaan, mutta tämä ei ole projektin loppu. Eevaa tulee aina kehittää suuremmassa määrin, joko minä tai kaltaisesi DIYers. Haluaisin mielelläni kuulla, mitä olette tehneet tämän opettavaisen näkemiseksi. Terveisin, RS3655

Suositeltava: