INHOUDSOPGAWE:

Eve, die Arduino Chatbot: 14 stappe (met foto's)
Eve, die Arduino Chatbot: 14 stappe (met foto's)

Video: Eve, die Arduino Chatbot: 14 stappe (met foto's)

Video: Eve, die Arduino Chatbot: 14 stappe (met foto's)
Video: Eve Arduino Chatterbot 2024, Oktober
Anonim
Image
Image
Eve, die Arduino Chatbot
Eve, die Arduino Chatbot
Eve, die Arduino Chatbot
Eve, die Arduino Chatbot

Hallo DIYrs, was daar gevalle waar jy regtig jou gevoelens met iemand wou deel en daar was geen vertroude persoon nie? In die besige wêreld van vandag is dit 'n algemene voorbeeld. 'N Chatbot kan u hier help om u beter te laat voel. En dit lei tot die bekendstelling van Eve. Eve is 'n oulike klein chatbot. Soos almal weet, is 'n chatterbot of chatbot 'n rekenaarprogram of toestel wat 'n gesprek met mense voer op grond van teks- of ouditiewe metodes. Die outomatiese stemme wat u hoor tydens 'n kliëntediensoproep, of op 'n banklyn, is 'n voorbeeld van 'n chatbot. Met haar kan u u ervarings, u gevoelens en die belangrikste bespreek oor verskillende dinge; sy is goed ervare daarin. Omdat dit die belangrikste funksie van 'n chatbot is, laat die persoon gelukkig voel. Eva is 'n vroeë voorbeeld van Natural Language Processing (NLU) en kunsmatige intelligensie en kan elke vraag beantwoord wat u aan haar stel. Dit is nie dat sy net 'n spesifieke aantal vrae kan beantwoord nie. Sy kan sing, grappies, stories vertel en alles doen wat jou goed laat voel. As sy iets sê wat jy nie wil hoor nie, vertel dit net vir haar, moet dit asseblief nie weer sê nie, en sy sal dit onthou. Sy weet selfs dat sy nie dieselfde antwoorde en geselsies moet herhaal nie, sodat die gesprek nie vervelig raak nie. Op grond van eenvoudige, goedkoop komponente en basiese programmering kan sy in 'n groot mate slim optree. Verder wys die LCD -oë wat sy besit, hoe sy voel as u iets sê. In hierdie instruksies gaan ons dus basies uit die definisie van 'n chatbot, kyk na die ontwerp, 'n paar teorieë waarop Eva werk, die vervaardiging en uiteindelik die programmeer deel. Lyk dit baie? Moenie bekommerd wees nie, dit sal baie interessant wees tydens die reis. U kan die demo van die robot hierbo, of in hierdie skakel: [Speel video]

Stap 1: Definisie van 'n Chatbot

Definisie van 'n Chatbot
Definisie van 'n Chatbot
Definisie van 'n Chatbot
Definisie van 'n Chatbot
Definisie van 'n Chatbot
Definisie van 'n Chatbot

Soos hierbo genoem, is 'n chatbot 'n program wat 'n gesprek met mense voer. Hulle is deesdae so algemeen dat daar amper niemand is wat dit nie ken nie. Met die virtuele assistente, Siri en Google Assistant, is daar Mitsuku en Evie waarmee u u gevoelens kan deel. In die tekstuele metode is gesprekke in die vorm van geskrewe teks, net soos WhatsApp. In die ouditiewe metode word gesprekke mondelings gevoer soos met 'n regte mens. Ek dink dit is meer opwindend om met iemand in gesprek te tree deur mondelings met hom te praat in plaas daarvan om net vir hom te SMS. Teksgebaseerde kommunikasieboodskappe -programme voldoen ongetwyfeld aan die vereistes van die mense, maar ek voel dat gesels deur praat is die beste ding om van u emosionele versteurings ontslae te raak en u beter te laat voel. Dit is dus die belangrikste rede waarom ek Eve as 'n ouditiewe chatbot ontwerp het.

Stap 2: Oorsprong van Eva

Oorsprong van Eva
Oorsprong van Eva

Eva het eendag net in my gedagtes opgekom. Dit het dit gedoen toe ek 'n kind alleen in die skool sien rondloop, terwyl die ander met hul gedagtes vol vreugde speel. Op daardie tydstip het ek gedink aan 'n vriend, wat niemand diskrimineer nie en niemand seergemaak laat voel nie, een waarmee jy jou gevoelens kan deel en altyd gelukkig kan wees. Toe kom daar 'n flits in my gedagtes, die oulike klein struktuur van Eve, ek het daaraan begin werk. Eve het my ongeveer honderd keer teleurgestel. Ek dink dit was die 101ste keer dat sy gewerk het en het my regtig gelukkig laat voel, so dit was die oorsprong van Eva. Ek wou hê sy moet intelligent wees, maar so eenvoudig as moontlik, sodat almal haar maklik kan maak. Sy is ongetwyfeld nie absoluut slim nie en sê soms dom antwoorde; sy kan haar as 'n vriend gedra. En nou, genoeg stories, laat ons begin met die bou van Eve.

Stap 3: Versamel die komponente en toerusting:

Versamel die komponente en toerusting
Versamel die komponente en toerusting
Versamel die komponente en toerusting
Versamel die komponente en toerusting
Versamel die komponente en toerusting
Versamel die komponente en toerusting

Hier volg die komponente wat ingesamel moet word: Arduino Pro Mini (of Arduino Nano) Wtv-020-SD-16p klankmodule HC-05 bluetooth module 16x2 LCD module LM7805 regulator ICAn versterker module (ek het die PAM8403 kring gebruik) 'n 8 ohm luidspreker 'n Wyfie audio jacka 9v battery en 'n Android -telefoon Dit is dus die vereiste komponente. Nog 'n belangrike ding, die koste. Eve kos my ongeveer 3000 INR. Die koste kan in u land anders wees, maar in Indië is dit ongeveer die koers. 'N Klein beskrywing van die onderdele: die Arduino Pro mini is die belangrikste MCU in ons robot. Ek het dit gebruik vanweë sy klein grootte, eenvoud en uitstekende prestasie. Dit voldoen aan alle vereistes van ons robot. Behalwe vir die stemherkenningsfunksie wat deur die Android uitgevoer word (later bespreek), word elke ander funksie wat begin met die vind van sleutelwoorde en uitvoervorming op die Pro Mini self gedoen. Moenie bekommerd wees oor die terme hierbo genoem nie, as u dit nie verstaan nie; alles word in die latere deel bespreek. die emosies. Ons benodig die vroulike klankaansluiting om die robot aan 'n eksterne versterker te koppel. Die Arduino word hier gebruik as die hoofbeheerder. Dit ontvang Bluetooth-data deur die HC 05 Bluetooth-module en speel die lêer deur die WTV-020-SD-16p-stemmodule. Die emosies word vertoon in die LCD -module en 'n 9v -battery vir die krag. Eve herken toesprake deur die Google Voice -erkenning van die Android -toestel. Dit word later in die onderskeie stappe behoorlik bespreek. 'N Slegte nuus oor die Arduino Pro Mini: dit het uit die mark getree. Dit beteken dat dit amptelik gestaak is deur Arduino. Maar u kan dit steeds op baie webwerwe, waaronder Ebay, vind. Baie vervaardigers van derde partye vervaardig en verkoop dalk nog die bord. Moenie bekommerd wees as u dit nie kon vind nie, u kan die Arduino Nano gebruik. Dit maak geen verskil in die prestasie en ook in die grootte nie.

Stap 4: Teorie Deel 1: Geskiedenis en inleiding

Teorie Deel 1: Geskiedenis en inleiding
Teorie Deel 1: Geskiedenis en inleiding
Teorie Deel 1: Geskiedenis en inleiding
Teorie Deel 1: Geskiedenis en inleiding

Eve is gebaseer op 'n vroeë vorm van Natural Language Processing, die "patroonpassende" tegnologie. Dit werk op die volgende manier dat wanneer 'n string ontvang word, dit soek na 'n vooraf gedefinieerde woord of frase in die string. Gestel in die vraag "hoe oud is u?" Soek die program na 'ou' woord. As dit slaag, speel dit die onderskeie stemlêer deur die wtv020sd -module. As dit misluk, soek dit na die volgende vooraf gedefinieerde sleutelwoord. So moet ons 'n woordeskat van vooraf gedefinieerde woorde opbou. Lyk taai, nie waar nie? Dit is asof ons 'n woordeskat van alle Engelse woorde moet opbou, en daar is ongeveer 230 duisend algemene woorde in die Engelse taal. Die feit is dat ons net 'n paar basiese woorde moet byvoeg wat die meeste in ons kommunikasie gebruik word. Lyk dit nog steeds taai? Moenie bekommerd wees nie, die werk is reeds deur Joseph Wizembaum gedoen. 'N Gedeelte van Eva se antwoorde en vooraf gedefinieerde sleutelwoorde is opgeneem in die heel eerste chatterbot -program genaamd Eliza, ontwikkel deur Joseph Wizembaum (foto hierbo). Eliza is ontwerp om 'n Rogeriaanse terapeut te wees. Dit is nie 'n hoogs wetenskaplike term nie, maar dit beteken dat sy mense vroeër raad gegee het, sodat hulle hulself beter kon verstaan en hulle positiewer laat dink. Lyk regtig goed reg? En Eliza kon haar plig baie goed uitvoer. Haar nuuskierige en skeptiese gesindheid was lief vir mense. Selfs Wizembaum was verbaas oor die belangrikheid wat mense vir Eliza gegee het. Dit lyk asof hulle vergeet dat hulle met 'n rekenaar praat, en hulle was mal oor 'n pragtige dame wat binne -in die rekenaar met hulle gesels het, maar Eliza was nie so slim nie; dit het gou besef. Met verloop van tyd het mense begin verveeld raak oor haar beperkte kommunikasie, en sy is 'dom' genoem. Geen wonder hoe dom sy was nie, dit was 'n groot sprong in die geskiedenis van kunsmatige intelligensie en natuurlike taalverwerking. Nadat ons die basis van Chatterbots gestig het, het verskillende bots met nuwe en beter tegnologie op die mark gekom. En nou het ons dit oral. Soos genoem, is 'n deel van Eva se reaksies afgelei van ELIZA. Dit beteken dus dat selfs Eva tot 'n mate die houding van Eliza sal hê, tesame met 'n paar van my eie idees. 'N Ander belangrike ding is die antwoorde. Dit moet baie vervelig wees om dieselfde antwoorde te kry elke keer as u dieselfde vraag stel. Daarom word baie antwoorde vir dieselfde sleutelwoord gestoor. Eve kies lukraak watter lêer sy wil speel, en sorg ook dat sy nie dieselfde lêer herhaal nie. Dit is alles, eenvoudig brood en botter, maar dit is belangrik om die stemme wat daarop reageer slim te programmeer, sodat dit die kykers 'n illusie gee asof sy werklik ons vrae beantwoord. Dit was dus 'n kort inleiding tot die werking van Eva. In die volgende stap kry ons hierdie in detail en programmering.

Stap 5: Soek na die sleutelwoord

Op soek na die sleutelwoord
Op soek na die sleutelwoord
Op soek na die sleutelwoord
Op soek na die sleutelwoord
Op soek na die sleutelwoord
Op soek na die sleutelwoord
Op soek na die sleutelwoord
Op soek na die sleutelwoord

In die laaste stap het ek melding gemaak van die patroonaanpassingstegnologie van Eve en ook die vroeë vorm van natuurlike taalverwerking. So, wat is dit en hoe werk dit? Dit is die belangrikste ding wat ons in hierdie stap sal bespreek. Dink daaraan, iemand vra u naam en u moet vertel wat dit is. Op hoeveel maniere kan ons dieselfde vraag stel? Jou onderwyser kan vra "wil jy my asseblief jou naam vertel?" 'N Familielid mag vra: "wat is jou naam?" Jou broer sê dalk: "Haai, ek het net jou naam vergeet. Sal jy dit nog 'n keer sê?" Dit beteken dus dat dieselfde vraag op verskillende maniere gestel kan word. Tog moet ons dieselfde antwoord gee, ons naam. Dit beteken dus dat ons in al die sinne iets gemeen moet vind. Dit is duidelik dat die woord "u naam" in al die sinne voorkom. Dit is dus ons wenk. Vir al die vrae wat die naam vra, moet ons na die frase "u naam" soek. Deur hierdie basiese patroon te volg, kan ons die onderskeie antwoord op al die invoerstringe voorspel. NADELING: Dit is ook belangrik om te onthou dat hierdie algoritme nie altyd akkuraat sal wees nie. Gestel iemand sê: "Ek het jou naam op die waglys gevind. Ek het verwag dat jy op die gereserveerde sitplekke sou wees.". Aangesien "jou naam" in hierdie string voorkom, sal Eva, as sy onskuldig is, haar naam aan die persoon vertel … Snarig reg? Dit is een van die groot nadele van hierdie basiese algoritme. Dit sou in elk geval skaars gevalle wees. Andersins is die algoritme baie effektief. Noudat ek genoem het oor die patroonaanpassingstegnologie, is dit tyd om na te dink waar die invoerstring vandaan kom, waar ons na die string soek. Hierdie string is eintlik ons stem wat deur Google Voice Recognition in teks omgeskakel is. Die app wat hier gebruik word, omskakel ons stem in teks en stuur dan dieselfde na die arduino via die Bluetooth. Ek het die app gebruik omdat dit die eenvoudigste en die beste in sy soort is. Die naam is AMR Voice en kan maklik in Google Play gevind word.

Stap 6: Formuleer die antwoorde

Formulering van die antwoorde
Formulering van die antwoorde

Noudat ons die vrae herken het, moet die volgende stap wees om die antwoorde te vind. Daar kom die interessante en belangrike deel … Ons moet gepaste antwoorde vind om aan elke vraag te voldoen. En hier kom nog 'n funksie van ELIZA. Wizembaum het 'n paar antwoorde vir 'n spesifieke aantal sleutelwoorde ontwikkel. 'N Voorbeeld is die sleutelwoord "jy". Elke keer as die program opgespoor word, "het ons u bespreek - nie ek nie." Daarom is die antwoord so gemaak dat dit pas by alle sinne wat 'u' bevat. Verder het Eliza elke keer 'n ander antwoord gegee. Daar was 'n soort numeriese adres vir elke antwoord. Dit is toegeneem (bygevoeg deur 1) elke keer as 'n antwoord geformuleer is. Gestel soos in die voorbeeld hierbo, as die adres van die antwoord 1 was, is die adres verander na 2 en gevolglik word lêer 2 daarna gespeel, maar ons sal nie hierdie inkrementeringsalgoritme volg nie. U sien dat die antwoorde voorspelbaar geword het na 'n deurlopende gebruik van die sagteware. U het besef watter antwoord u volgende moet gee. Vir hierdie doel produseer ons ewekansige adresse vir elke sleutelwoord. Oor die algemeen is dit in beide gevalle dieselfde, net die verskil dat ons nie kan voorspel wat die robot vir dieselfde sleutelwoord volgende sal sê nie.

Stap 7: Die verbode verklarings en ander

Die verbode verklarings en ander
Die verbode verklarings en ander

Daar kan sommige gevalle in u gesprek wees wanneer die robot iets sê wat u nie wil hoor nie. Hier ontstaan dus die behoefte om die verbode stellings by te voeg. Die verbode stellings is 'n verskeidenheid adresse wat verhoed word dat dit gespeel word. 'N Stemadres word gekenmerk as 'n verbode verklaring op versoek van die gebruiker. Verder moet hierdie adres in die EEPROM van die Arduino gestoor word, sodat Eva nie vergeet dat dit 'n verbode verklaring is nie, selfs nadat sy afgeskakel is. As die adres een van die verbode adresse is, word dit óf toegeneem óf verminder. Daar kan ook 'n geval wees wanneer u die robot wil toelaat om 'n woord wat voorheen verbied is, te sê. In daardie geval sou u vir Eva moes sê dat sy die laaste verbode woord kan sê. Die woord wat laas verbied is, sal nou speelbaar wees. Om al die verbode stellings speelbaar te maak, moet ons 'n terugstelskakelaar heg. As dit ingedruk word, word al die verbode stellings speelbaar. Dan is 'n ander belangrike ding om seker te maak dat Eva nie die antwoorde herhaal nie. Dit is 'n soort afwyking van ewekansige getalle. Dieselfde ewekansige getalle word waarskynlik in 'n reeks geproduseer. Dit sal ons robot telkens dieselfde antwoord sê. Hiervoor moet ons nog 'n klein funksie insluit wat die herhaling van stellings voorkom. Hiervoor moet ons die adres van die laaste stelling in die geheue stoor en kyk of dit dieselfde is as die huidige. As dit die geval is, word die adreswaarde toegeneem of verminder, net soos in die geval van die verbode stellings.

Stap 8: Skryf in kode

Skryf in kode
Skryf in kode
Skryf in kode
Skryf in kode
Skryf in kode
Skryf in kode

Ons gebruik die indexOf -opdrag om na die sleutelwoord te soek. Die opdrag vind 'n karakter of string in 'n ander string. As dit gevind word, gee dit die indeks van die string terug terwyl -1 teruggestuur word as dit nie gevind word nie. Ons moet dit dus in ons program soos volg skryf: if (voice.indexOf ("u naam")> -1) {// as die indeks groter is as -1 // wat beteken dat die string gevind is} Nou dat ons die string in die geheue gestoor het en ook ons sleutelwoord daarin gevind het, moet ons nou die antwoorde hanteer. Soos gesê, word ewekansige getalle gegenereer binne 'n bepaalde getalreeks (adresse van stemlêers). Hier kom die random () opdrag. Hier volg die sintaksis: random (min, max); // die ewekansige getal word gegenereer in die reeks van min en maks. Ons definieer die minimum aantal en maksimum aantal van elke reeks, en as ons dit toepas, lyk ons kode ietwat soos volg: as (voice.indexOf ("u naam")> - 1)) {minNr = 0; maxNo = 5; RandomNumber = random (minNo, maxNo);} Nou kom die hantering van die antwoorde. In die laaste stap het ek gesê dat die getalle toegeneem of verminder word op grond van 'n algoritme. Hierdie algoritme is wat ons nou bespreek. Hierdie deel is baie belangrik in die sin dat u nie net kan toeneem of verlaag net soos u wil nie. Die vermeerderde of verlaagde getal moet binne die reeks wees. Veronderstel, soos in die geval hierbo, vir die sleutelwoord "u naam", het ons 'n reeks van 0 tot 5, en die willekeurige getal wat gegenereer word, is 5, en as u dit verhoog, speel u 'n stembestand van 'n ander sleutelwoord. Hoe dink jy gaan dit wees? U vra: "Hey, vertel my asseblief u naam.", En die robot antwoord: "Ek eet graag koekies en elektriese lading." Dieselfde geld vir die minimum aantal. As die willekeurige getal wat gegenereer word 0 is, kan u dit nie verminder nie. Om hierdie rede is die algoritme baie belangrik. Dink daaraan: ons kan óf toeneem as die getal kleiner is as die maksimum getal en afneem as dit groter is as die minimum getal. Aan die ander kant, as dit gelyk is aan 5, verminder ons dit om seker te maak dat die getal binne die gespesifiseerde bereik is. Soos genoem, word dit in die EEPROM gestoor. Hiervoor soek ons eerstens na gratis geheue in die verbode skikking. Gestel die adres 4 is gratis, dan voer ons die lêernommer in die gratis array -adres in en skryf ons dieselfde adres in die EEPROM.for (int i; i if (nooit == 0) {EEPROM.write (nooit , geheue);}} Dit is alles, die Wtv020sd16p -module word gespeel deur die module.playVoice () opdrag en die voorgestelde lêernommer te gebruik. Die werking van die Wtv020 -module sal later bespreek word.

Stap 9: Voeg emosies in

Voeg emosies in
Voeg emosies in
Voeg emosies in
Voeg emosies in
Voeg emosies in
Voeg emosies in

Tot dusver kan ons robot herken wat ons sê, in ons geheue stoor en 'n geskikte antwoord vir die vrae vind. Nou kom die vraag in om emosies in te voeg. Almal sal sekerlik van 'n lewendige gesig hou, saam met net 'n dom program om vrae te beantwoord. Die 16x2 LCD word in die projek gebruik. Dit is goed genoeg om die oë te druk. Ons moet die persoonlike karakterfunksie gebruik om die oë te skep. Met 'n pasgemaakte karakter kan ons nuwe karakters skep deur die pixels te definieer. Ons sal 'n bietjie later daaroor uitkom. Eerstens is dit belangrik om te onthou dat slegs 8 aangepaste karakters deur die Arduino ondersteun word. Ons moet dus die emosies slegs met 8 karakters bestuur. Elke karakter moet in 'n spesifieke blokkie gedruk word, en daar is 16 kolomme en 2 rye wat altesaam 32 bokse vorm.

U kan goeie inligting aanlyn vind oor die aangepaste karakters in Arduino. Besoek ook hierdie skakel:

[Aangepaste karakters Arduino] Die struktuur van die aangepaste karakterbyte sal ietwat so lyk:

Die normale voorkoms: Die linker boks0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, die regte boks0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b111. Dit beteken dus dat ons altesaam vier bokse benodig om 'n hele oog te vul. Twee rye aan die linkerkant en twee aan die regterkant, wat altesaam vier bokse vir een oog maak. Die linker boks -greep moet twee rye aan die linkerkant bedek en die regterkant die regte rye. Dit vorm dus 'n volledige oog van Eva. En nou dieselfde vir die tweede oog herhaal, kry ons die neutrale voorkoms van Eva. Nou is dit belangrik om te onthou dat ons een uit die agt beskikbare persoonlike karakters gebruik het. En daar is vyf totale emosies: Glee, Sad, Squint, Normal en Blink. Met die oorblywende sewe aangepaste karakters, moet ons aanpas om by alle uitdrukkings te pas. Om die ruimte op te maak, gebruik ons 2 bokse vir elke oog. Geen wonder dat die grootte 'n bietjie klein is nie, maar dit word deur die menslike oog geïgnoreer. Maak seker dat u 'n paar vertragings tussen die LCD -funksies byvoeg, anders word die Arduino onstabiel.

Stap 10: Maak die verbindings

Maak die verbindings
Maak die verbindings
Maak die verbindings
Maak die verbindings
Maak die verbindings
Maak die verbindings

LCD -module: Verbind die penne soos hier genoem: RS: grawe pen 12RW: Gnd Aktiveer: 7d4: grawe pen 8 d5: grawe pen 9 d6: grawe pen 10 d7: grawe pen13A (Anode) na 5vK (Katode) na gnd Die HC 05 module: Volg hierdie verbindings: HC 05 TX -pen na Arduino RX -pen HC 05 RX -pen na Arduino TX -pen Staatspen na Arduino -graafpen 11 Die kommunikasie geskied met behulp van die TX- en RX -penne. Die staatspen is nodig om te kontroleer of via HC 05 gekoppel of onaktief is. om pen 4pin15 te grawe: die besige pen, verbind met dig pin 5pin2: Verbind hierdie pen met 'n versterker deur die volume en ook dieselfde met die vroulike klankaansluiting. pin4 moet gekoppel word aan luidspreker+pin5 om aan die luidspreker gekoppel te word. 8ste pen tot gnd en voorsien 'n 3.3v -kragtoevoer in die 16de pen.

Die versterker help om die interne luidspreker van Eve te speel, terwyl die klankaansluiting aansluit by 'n eksterne versterker en groter luidsprekers.

Stap 11: Die WTV020SD16p -module (opsioneel)

Image
Image
Die WTV020SD16p -module (opsioneel)
Die WTV020SD16p -module (opsioneel)
Die WTV020SD16p -module (opsioneel)
Die WTV020SD16p -module (opsioneel)

Let wel: hierdie stap is opsioneel. Dit handel oor die werking en beskrywing van die WTV 020 SD 16p -module.

U kan die demo van die klankmodule in hierdie skakel sien:

[SPEEL VIDEO]

Die spraakmodus van die robot word vervul deur die WTV 020 SD -module. Die module word gebruik om stemlêers vir die robot te speel. As 'n vraag gevra word, laat die arduino die module die onderskeie stemlêer op die SD -kaart speel. Daar is vier seriële data lyne op die module vir kommunikasie met die arduino, die reset, klok, data en drukpenne en ons gebruik die.playVoice () opdrag om die vereiste lêer af te speel. Byvoorbeeld: module.playVoice (9): // speel lêer 9 wat op die SD -kaart gestoor is. Onthou dat die name van die lêers in desimale moet wees (0001, 0002 …). En dat die lêers in AD4- of WAV -formaat moet wees. Verder werk die module slegs op 'n 1 GB micro SD -kaart. Sommige modules werk selfs op 2 GB -kaarte en die kaart kan 'n maksimum van 504 stemlêers bevat. U kan dus 'n goeie aantal stemlêers insluit om vir 'n goeie aantal vrae te speel.

U kan selfs u eie AD4 -lêers maak, eerstens moet u twee sagteware hê, 'n klankbewerkingsagteware en 'n sagteware genaamd 4D SOMO TOOL wat die lêers na die AD4 -formaat kan omskakel. Tweedens moet u die robotstemme voorberei. U kan teks na spraak omskakel of selfs u eie stem opneem en die robotstemme maak. Albei kan gedoen word in die klankbewerkingsagteware. Maar robotte lyk beslis nie goed as hulle menslike stemme spreek nie. Dit moet dus beter wees om teks na spraak om te skakel. Daar is verskillende enjins soos Microsoft Anna en Microsoft Sam your Computer wat dit kan help. Myne is gebaseer op Microsoft Eva. Dit stemme stem grootliks ooreen met Cortana. Nadat u die stemlêers voorberei het, moet u dit in 32000 Hz en in die WAV -formaat stoor. Dit is omdat die module stemlêers tot 32000 Hz kan speel. Gebruik dan die 4D SOMO TOOL om die lêers na die AD4 -formaat om te skakel. Om dit te doen, maak die SOMO TOOL gereedskap oop, kies die lêers en klik op AD4 Encode en u stemlêers is gereed. U kan die prent hierbo sien as verwysing. As u meer inligting wil hê oor die maak van robotstemme, kan u hierheen gaan: [Maak robotstemme]

Stap 12: Die sagteware -deel

Die sagteware gedeelte
Die sagteware gedeelte
Die sagteware gedeelte
Die sagteware gedeelte
Die sagteware gedeelte
Die sagteware gedeelte

In die arduino Pro mini is daar 'n geringe probleem met die programmering. Eintlik geen probleem nie, net een ekstra stap. Die Arduino Pro mini het geen ingeboude programmeerder soos ander Arduino -borde nie. U moet dus 'n eksterne een of 'n ou arduino UNO koop. Die stap hier beskryf hoe u die program kan oplaai met die Arduino UNO. Gryp net 'n ou Arduino UNO -bord van die ongeluk en haal die Atmega 328p uit. Koppel dan soos volg: 1. TX -pen op die UNO na die TX -pen op die Pro Mini 2. RX -pen van die UNO na die RX -pen van die Pro MIni3. Stel PIN van die UNO terug op die resetpen van die Pro Mini4. verbind die VCC en Ground van die Pro Mini met die UNO. Laai die Arduino -program, die stemherkenningsprogrammatuur en die biblioteke onderaan af. Die program word nog ontwikkel. As u dus probleme ondervind, moet u dit asseblief vra: Steek dan die kabel in die rekenaar. Kies die bord as die Arduino Pro Mini en kies die korrekte COM -poort. Druk dan op die oplaai -knoppie en sien hoe die program op u Pro Mini opgelaai word.

Laai dan die sagteware vir stemherkenning en die stemlêers af.

Stap 13: Die liggaam voorberei

Voorbereiding van die liggaam
Voorbereiding van die liggaam
Voorbereiding van die liggaam
Voorbereiding van die liggaam
Voorbereiding van die liggaam
Voorbereiding van die liggaam

Ek het 'n klein flos flos gevind en dit was perfek vir die liggaam. U kan enige boks wat u in u werkswinkel aantref, gebruik, of u kan een uit karton maak. Sny net 'n klein reghoekige stuk uit om die LCD -module aan te heg. Bo -op sny ek 'n klein gaatjie om die volume aan te sluit en aan die kante om die skakelaars en die klank -aansluiting aan te sluit. Ek het twee botteldoppies aan die kante van die boks vir die wiele vasgemaak. Maak net seker dat die boks genoeg ruimte het om die kring binne te sit. Koppel 'n skakelaar aan die liggaam sowel as die stroombaan, dan die volume bo -aan die boks. Plaas dan die kring binne en u robot is voltooi.

Stap 14: Goed gedoen

Wel gedaan!
Wel gedaan!
Wel gedaan!
Wel gedaan!

Nou het u u oulike robotprojek wat met u kan praat, voltooi en u gelukkig laat voel. Dit is die gelukkigste punt om 'n selfdoener te wees as u projek voltooi is en ten volle werk. Moenie bekommerd wees as u nie met een poging slaag nie; u moet hard hiervoor probeer, sodat u elke deel van u robot kan verstaan. En dis waar DIYers in hierdie wêreld kom, maar dit is nie die einde van die projek nie. Eve sal altyd in groter mate ontwikkel word, hetsy deur my of selfmakers soos jy. Ek sal graag wil hoor wat u gemaak het om hierdie instruksies te sien. Groete, RS3655

Aanbeveel: