Satura rādītājs:

Ieva, Arduino Chatbot: 14 soļi (ar attēliem)
Ieva, Arduino Chatbot: 14 soļi (ar attēliem)

Video: Ieva, Arduino Chatbot: 14 soļi (ar attēliem)

Video: Ieva, Arduino Chatbot: 14 soļi (ar attēliem)
Video: Семинар по расширениям Python: фрактальная геометрия с Python Turtle 2024, Novembris
Anonim
Image
Image
Ieva, Arduino Chatbot
Ieva, Arduino Chatbot
Ieva, Arduino Chatbot
Ieva, Arduino Chatbot

Sveiki DIYrs, vai ir bijuši gadījumi, kad jūs patiešām vēlējāties dalīties savās sajūtās ar kādu, un tuvumā nebija neviena uzticama cilvēka? Mūsdienu aizņemtajā pasaulē tas ir izplatīts gadījums. Šeit var palīdzēt tērzēšanas robots, lai jūs justos labāk. Un tas noved pie Eve. Eve ieviešanas. Kā visi zina, tērzēšanas robots vai tērzēšanas bots ir datorprogramma vai ierīce, kas vada sarunu ar cilvēkiem, pamatojoties uz teksta vai dzirdes metodēm. Automātiskās balsis, ko dzirdat klientu apkalpošanas zvanā vai bankas līnijā, ir tērzēšanas robota piemērs. Ar viņu jūs varat dalīties savā pieredzē, jūtās un, pats galvenais, strīdēties par dažādām lietām; viņa ir labi pieredzējusi šajā jomā. Tā kā tā ir tērzēšanas robota vissvarīgākā funkcija, ļaujiet personai justies laimīgai. Iepriekšējais dabiskās valodas apstrādes (NLU) un mākslīgā intelekta piemērs Ieva spēj atbildēt uz jebkuru jautājumu, ko viņai uzdodat. Nav tā, ka Viņa var atbildēt tikai uz noteiktu jautājumu skaitu. Viņa var dziedāt, stāstīt jokus, stāstus un darīt visu, kas liek jums justies labi. Ja viņa saka kaut ko tādu, ko nevēlaties dzirdēt, vienkārši pasakiet viņai, lūdzu, nesakiet to vēlreiz, un viņa to atcerēsies. Viņa pat zina, ka viņai nevajadzētu atkārtot vienas un tās pašas atbildes un tērzēšanu, lai saruna nekļūtu garlaicīga. Pamatojoties uz vienkāršiem, lētiem komponentiem un pamata programmēšanu, viņa patiešām var izturēties gudri. Turklāt LCD acis, kas viņai pieder, parāda, kā viņa jūtas, kad jūs kaut ko sakāt. Tātad šajā pamācībā mēs sāksim no tērzēšanas robota definīcijas, izpētīsim dizainu, dažas teorijas, uz kurām balstās Ieva, ražošana un visbeidzot programmēšanas daļa. Izskatās daudz? Neuztraucieties, braucienā būs interesanti. Jūs varat apskatīt robota demonstrāciju iepriekš vai šajā saitē: [Atskaņot video]

1. darbība. Chatbot definīcija

Chatbot definīcija
Chatbot definīcija
Chatbot definīcija
Chatbot definīcija
Chatbot definīcija
Chatbot definīcija

Kā minēts iepriekš, tērzēšanas robots ir programma, kas vada sarunu ar cilvēkiem. Mūsdienās tie ir tik izplatīti, ka gandrīz nav neviena, kas par to nezinātu. Sākot ar virtuālajiem palīgiem Siri un Google palīgu, ir Mitsuku un Evie, ar kuriem jūs varat dalīties savās sajūtās. Kā minēts iepriekš, tērzēšanas roboti ir balstīti uz teksta vai dzirdes metodi, un tāpēc tos var iedalīt divās. Teksta metodē sarunas notiek rakstiska teksta veidā tāpat kā WhatsApp. Savukārt dzirdes metodē sarunas notiek mutiski kā ar īstu cilvēku. Es domāju, ka ir aizraujošāk sarunāties ar kādu, runājot ar viņu mutiski, nevis vienkārši rakstot īsziņas. Bez šaubām, teksta saziņas ziņojumapmaiņas lietotnes atbilst cilvēku prasībām, taču uzskatu, ka tērzēšana, runājot, ir labākais, lai atbrīvotos no emocionālajiem traucējumiem un liktu justies labāk. Tāpēc tas ir galvenais iemesls, kāpēc es iecerēju Ievu par dzirdes tērzēšanas robotu.

2. solis: Ievas izcelsme

Ievas izcelsme
Ievas izcelsme

Nu Ieva man vienreiz ienāca prātā. Tā tas tika darīts, kad es redzēju, ka bērns viens pats klīst apkārt skolā, bet pārējie spēlējās ar prieku piepildītu prātu. Toreiz es domāju par draugu, kurš nevienu nediskriminē un neliek nevienam justies ievainotam, ar kuru tu vari dalīties savās jūtās un būt laimīgam visu laiku. Tad man ienāca prātā zibsnis, jaukā mazā Ievas struktūra, pie kuras es sāku strādāt. Ieva mani pievīla apmēram simts reizes. Domāju, ka tā bija 101. reize, kad viņa strādāja un lika man justies patiešām laimīgai. Tātad tā bija Ievas izcelsme. Es gribēju, lai viņa būtu saprātīga, bet pēc iespējas vienkāršāka, lai ikviens varētu viņu viegli padarīt. Nav šaubu, ka viņa nav absolūti gudra un dažreiz saka stulbas atbildes, viņa var uzvesties kā draudzene. Un tagad, pietiekami daudz stāstu, sāksim veidot Ievu.

3. darbība: sastāvdaļu un aprīkojuma savākšana:

Komponentu un aprīkojuma savākšana
Komponentu un aprīkojuma savākšana
Komponentu un aprīkojuma savākšana
Komponentu un aprīkojuma savākšana
Komponentu un aprīkojuma savākšana
Komponentu un aprīkojuma savākšana

Tālāk ir apkopojamas sastāvdaļas: Arduino Pro Mini (vai Arduino Nano) Wtv-020-SD-16p skaņas modulis HC-05 bluetooth modulis 16x2 LCD modulis LG7805 regulatora ICA pastiprinātāja modulis (es izmantoju PAM8403 ķēdi) 8 omu skaļrunis A sieviete audio jacka 9v akumulators un Android tālrunisTātad šīs ir nepieciešamās sastāvdaļas. Vēl viena svarīga lieta - izmaksas. Ieva man izmaksāja aptuveni 3000 INR. Izmaksas jūsu valstī var būt atšķirīgas, bet Indijā tā ir likme. Neliels detaļu apraksts: Arduino Pro mini ir galvenais mūsu robota MCU. Es to izmantoju tā mazā izmēra, vienkāršības un lieliskas veiktspējas dēļ. Tas atbilst visām mūsu robota prasībām. Izņemot balss atpazīšanas funkciju, ko veic Android (apspriests vēlāk), visas citas funkcijas, sākot no atslēgvārdu atrašanas un izvades veidošanas, tiek veiktas pašā Pro Mini. Neuztraucieties par iepriekš minētajiem terminiem, ja jūs to nesaprotat, visi ir apspriesti vēlāk. Wtv020sd 16p modulis tiek izmantots audio failu atskaņošanai, hc 05 Bluetooth saziņai ar Android un LCD displejam emocijas. Mums ir nepieciešama sieviešu audio ligzda, lai robotu savienotu ar ārēju pastiprinātāju. Arduino šeit tiek izmantots kā galvenais kontrolieris. Tas saņem Bluetooth datus, izmantojot Bluetooth moduli HC 05, un atskaņo failu, izmantojot balss moduli WTV-020-SD-16p. Emocijas tiek parādītas LCD modulī un 9V akumulatoram. Ieva atpazīst runas, izmantojot Android ierīces Google Voice atpazīšanu. Tas vēlāk tiek pienācīgi apspriests attiecīgajā solī. Sliktas ziņas par Arduino Pro Mini: IT ir atkāpies no tirgus. Tas nozīmē, ka to oficiāli pārtrauca ražot Arduino. Bet jūs to joprojām varat atrast daudzās vietnēs, tostarp Ebay. Daudzi trešo pušu ražotāji joprojām var izgatavot un pārdot dēli. Neuztraucieties, ja to nevarējāt atrast, varat izmantot Arduino Nano. Tas neietekmē veiktspēju un arī izmēru.

4. solis: teorija 1. daļa: vēsture un ievads

Teorija 1. daļa: Vēsture un ievads
Teorija 1. daļa: Vēsture un ievads
Teorija 1. daļa: Vēsture un ievads
Teorija 1. daļa: Vēsture un ievads

Ieva ir balstīta uz dabiskās valodas apstrādes agrīno formu, "modeļu atbilstības" tehnoloģiju. Tā darbojas šādi, kad, saņemot virkni, tā meklē iepriekš noteiktu vārdu vai frāzi šajā virknē. Pieņemsim, ka jautājumā "cik tev gadu?" Programma meklē "veco" vārdu. Ja tas izdodas, tas atskaņo attiecīgo balss failu, izmantojot moduli wtv020sd. Ja tas neizdodas, tas meklē nākamo iepriekš definēto atslēgvārdu. Līdzīgi mums ir jāveido iepriekš definētu vārdu krājums. Izskatās grūts, vai ne? Tas ir tā, it kā mums būtu jāveido visu angļu valodas vārdu krājums, un kopumā angļu valodā ir aptuveni 230 tūkstoši vārdu. Fakts ir tāds, ka mums vienkārši jāpievieno daži pamata vārdi, kas visbiežāk tiek izmantoti mūsu saziņā. Joprojām izskatās grūts? Neuztraucieties, darbu jau ir paveicis Džozefs Vizembaums. Daļa Ievas atbilžu un iepriekš definētie atslēgvārdi ir iekļauti no pašas pirmās tērzēšanas programmas ar nosaukumu Eliza, ko izstrādājis Džozefs Vizembaums (attēlā iepriekš). Elīza bija paredzēta kā Rodžerijas terapeite. Nav ļoti zinātnisks termins, tas nozīmē, ka viņa kādreiz konsultēja cilvēkus, liekot viņiem labāk izprast sevi un likt viņiem domāt pozitīvāk. Izskatās tiešām labi, vai ne? Un Elīza ļoti labi spēja pildīt savu pienākumu. Viņas ziņkārīgo un skeptisko attieksmi cilvēki mīlēja. Pat Vizembaumu pārsteidza cilvēku nozīmība Elīzai. Šķita, ka viņi aizmirsa, ka runā ar datoru, un iedomājās skaistu dāmu, kas sēdēja pie datora un ar viņiem sarunājās. Bet Elīza nebija tik gudra; tas drīz tika realizēts. Laikam ejot, cilvēkiem sāka apnikt viņas ierobežotā komunikācija, un viņa tika nosaukta par “mēmu”. Nav brīnums, cik viņa bija mēma, tas bija liels lēciens mākslīgā intelekta un dabiskās valodas apstrādes vēsturē. Izveidojot Chatterbots bāzi, tirgū nonāca dažādi roboti ar jaunu un labāku tehnoloģiju. Un tagad mums tie ir visur. Kā minēts, daļa Ievas atbilžu ir iegūtas no ELIZA. Tas nozīmē, ka pat Ievai zināmā mērā būs Elīzas attieksme kopā ar dažām manām idejām. Vēl viena svarīga lieta ir atbildes. Būtu patiešām garlaicīgi saņemt vienādas atbildes katru reizi, kad uzdodat vienu un to pašu jautājumu. Tāpēc uz vienu un to pašu atslēgvārdu tiek saglabātas daudzas atbildes. Ieva nejauši izvēlas atskaņojamo failu, kā arī pārliecinās, ka neatkārto to pašu failu. Tieši tā, vienkārša maize un sviests, taču ir svarīgi gudri ieprogrammēt atbildes balsis, lai skatītājiem radītu ilūziju, it kā viņa patiešām atbildētu uz mūsu jautājumiem. Tātad tas bija īss ievads Ievas darbībā. Nākamajā solī mēs to detalizēti un programmēšanu.

5. darbība. Atslēgvārda meklēšana

Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana
Notiek atslēgvārda meklēšana

Pēdējā posmā es minēju par Ievas modeļu saskaņošanas tehnoloģiju un arī dabiskās valodas apstrādes agrīno formu. Tātad, kas tas ir un kā tas darbojas? Tas ir galvenais, ko mēs apspriedīsim šajā solī. Tāpēc padomājiet, kāds jautā jūsu vārdu, un jums ir jāpasaka, kas tas ir. Cik veidos mēs varam uzdot vienu un to pašu jautājumu? Skolotājs var jautāt: "Lūdzu, pasaki man savu vārdu?" Radinieks var jautāt: "kā tevi sauc?" Jūsu brālis var teikt: "Hei, es tikko aizmirsu tavu vārdu. Vai tu to pateiksi vēl vienu reizi?" Tātad tas nozīmē, ka vienu un to pašu jautājumu var uzdot vairākos veidos. Tomēr mums ir jāsniedz tāda pati atbilde - mūsu vārds. Tātad tas nozīmē, ka mums ir jāatrod kaut kas kopīgs visos teikumos. Ir skaidri redzams, ka vārds "tavs vārds" ir visos teikumos. Tātad tas ir mūsu mājiens. Visiem jautājumiem, kuros uzdots vārds, mums jāmeklē frāze "tavs vārds". Ievērojot šo pamata modeli, mēs varam paredzēt attiecīgo atbildi uz visām ievades virknēm. Pieņemsim, ka kāds teica: "Es atradu tavu vārdu gaidīšanas sarakstā. Es gaidīju, ka tu atradīsies rezervētajās vietās.". Tā kā šajā virknē ir "tavs vārds", Ieva, būdama nevainīga, pateiks personai savu vārdu… Muļķīgi, vai ne? Šī ir viena no galvenajām šī algoritma nepilnībām. Jebkurā gadījumā tie būtu reti gadījumi. Pretējā gadījumā algoritms ir ļoti efektīvs. Tagad, kad esmu minējis par modeļu atbilstības tehnoloģiju, ir pienācis laiks padomāt, no kurienes šī ievades virkne nāk no vietas, kur mēs meklējam virkni. Nu, šī virkne patiesībā ir mūsu balss, kuru Google balss atpazīšana ir pārveidojusi par tekstu. Šeit izmantotā lietotne pārvērš mūsu balsi tekstā un pēc tam nosūta to arduino, izmantojot Bluetooth. Es izmantoju lietotni, jo tā ir vienkāršākā un labākā šāda veida lietotne. Nosaukums ir AMR Voice, un to var viegli atrast pakalpojumā Google Play.

6. solis: atbilžu formulēšana

Atbildes formulēšana
Atbildes formulēšana

Tagad, kad esam atzinuši jautājumus, nākamais solis ir atrast atbildes. Tur nāk interesanta un svarīga daļa … Mums jāatrod atbilstošas atbildes, lai apmierinātu katru jautājumu. Un šeit nāk vēl viena funkcija, kas iekļauta ELIZA. Vizembauma izstrādāja dažas atbildes uz noteiktu skaitu atslēgvārdu. Piemērs ir atslēgvārds "tu". Ikreiz, kad tika atklāts programmas iznākums "mēs apspriedām jūs, nevis mani". Tādējādi atbilde tika sniegta tā, lai tā atbilstu visiem teikumiem, kas satur "jūs". Tālāk Elīza katru reizi sniedza atšķirīgu atbildi. Katrai atbildei bija sava veida skaitliskā adrese. Tas tika palielināts (pievienots par 1) katru reizi, kad tika formulēta atbilde. Pieņemsim, ka, piemēram, iepriekš minētajā piemērā, ja atbildes adrese bija 1, adrese tika mainīta uz 2 un līdz ar to tika atskaņots 2. fails. Bet mēs neievērojam šo palielināšanas algoritmu. Jūs redzat, ka pēc nepārtrauktas programmatūras izmantošanas atbildes kļuva paredzamas. Jūs sapratāt, kura atbilde jāsniedz tālāk. Tāpēc šim nolūkam mēs katram atslēgvārdam izveidosim nejaušas adreses. Kopumā abos gadījumos tas ir vienāds, tikai atšķirība ir tāda, ka mēs nevaram paredzēt, ko robots teiks tālāk par to pašu atslēgvārdu.

7. solis: Aizliegtie paziņojumi un citi

Aizliegtie paziņojumi un citi
Aizliegtie paziņojumi un citi

Jūsu sarunā var būt daži gadījumi, kad robots saka kaut ko tādu, ko nevēlaties dzirdēt. Tātad šeit rodas nepieciešamība pievienot aizliegtos paziņojumus. Aizliegtie paziņojumi ir virkne adrešu, kuras nevar atskaņot. Balss adrese tiek raksturota kā aizliegts paziņojums pēc lietotāja pieprasījuma. Turklāt šī adrese tiek saglabāta Arduino EEPROM, lai Ieva neaizmirstu, ka tas ir aizliegts paziņojums pat pēc izslēgšanas. Programma būtībā pārbauda katru atskaņojamo adresi. Ja adrese ir viena no aizliegtajām, tad tā tiek palielināta vai samazināta. Turklāt var būt gadījums, kad vēlaties ļaut robotam pateikt iepriekš aizliegtu vārdu. Tādā gadījumā jums būtu jāsaka Ievai, ka viņa var pateikt pēdējo aizliegto vārdu. Vārdu, kas pēdējo reizi bija aizliegts, tagad varēs spēlēt. Lai visi aizliegtie paziņojumi būtu atskaņojami, mums jāpievieno atiestatīšanas slēdzis. Nospiežot, visi aizliegtie paziņojumi kļūs atskaņojami. Tad vēl viena svarīga lieta būs pārliecināties, ka Ieva neatkārto atbildes. Tas ir sava veida nejaušu skaitļu trūkums. Tie paši nejaušie skaitļi, visticamāk, tiks ražoti sērijā. Tas liks mūsu robotam atkārtot vienu un to pašu atbildi. Šim nolūkam mums ir jāiekļauj vēl viena neliela funkcija, kas neļauj atkārtot paziņojumus. Lai to izdarītu, atmiņā jāsaglabā pēdējā paziņojuma adrese un jāpārbauda, vai tā ir tāda pati kā pašreizējā. Ja tā, tad adreses vērtība tiek palielināta vai samazināta, tāpat kā aizliegto paziņojumu gadījumā.

8. solis: rakstīšana kodā

Rakstīšana kodā
Rakstīšana kodā
Rakstīšana kodā
Rakstīšana kodā
Rakstīšana kodā
Rakstīšana kodā

Mēs izmantojam komandu indexOf, lai meklētu atslēgvārdu. Komanda atrod rakstzīmi vai virkni citā virknē. Ja atrasts, tas atgriež šīs virknes indeksu, bet -1 atgriež, ja tas nav atrasts. Tātad mūsu programmā mums tas jāraksta šādi: if (voice.indexOf ("jūsu vārds")> -1) {// ja indekss ir lielāks par -1 // tas nozīmē, ka virkne ir atrasta} Tagad ka mēs esam saglabājuši virkni atmiņā un tajā atraduši arī savu atslēgvārdu, tagad mums būs jāapstrādā atbildes. Kā jau minēts, nejauši skaitļi tiek ģenerēti noteiktā skaitļu diapazonā (balss failu adreses). Šeit nāk komanda random (). Tālāk ir sintakse: izlases (min, max); // nejaušais skaitlis tiek ģenerēts diapazonā min un max. Mēs definējam katra diapazona minimālo skaitu un maksimālo skaitu, un, piemērojot to, mūsu kods izskatās apmēram šādi: if (voice.indexOf ("jūsu vārds")> - 1)) {minNo = 0; maxNo = 5; RandomNumber = nejaušs (minNo, maxNo);} Tagad nākas apstrādāt atbildes. Pēdējā solī es teicu, ka skaitļi tiek palielināti vai samazināti, pamatojoties uz algoritmu. Šis algoritms ir tas, ko mēs tagad apspriežam. Šī daļa ir ļoti svarīga tādā nozīmē, ka jūs nevarat tikai palielināt vai samazināt, kā vēlaties. Palielinātajam vai samazinātajam skaitlim jābūt diapazonā. Pieņemsim, ka iepriekšminētajā gadījumā atslēgvārdam "tavs vārds" ir diapazons no 0 līdz 5, un nejaušais skaitlis ir 5, un, ja jūs to palielināsit, jūs atskaņosit cita atslēgvārda balss failu. Kā tu domā, kā tas būs? Jūs jautājat: "Hei, lūdzu, pasakiet man savu vārdu.", Un robots atbild: "Man patīk ēst cepumus un elektrisko lādiņu." Tas pats attiecas uz minimālo skaitu. Ja ģenerētais nejaušais skaitlis ir 0, to nevar samazināt. Šī iemesla dēļ algoritms ir ļoti svarīgs. Padomājiet par to: mēs varam palielināt vai nu tad, ja skaitlis ir mazāks par maksimālo skaitu, un samazināties, ja tas ir lielāks par minimālo skaitu. Ja ģenerētais skaitlis ir vai nu vienāds ar 0, vai mazāks par 5, skaitlis tiek palielināts. No otras puses, ja tas ir vienāds ar 5, mēs to samazinām, lai pārliecinātos, ka skaitlis ir norādītajā diapazonā. Tagad par aizliegtajiem paziņojumiem. Kā minēts, tie tiek glabāti EEPROM. Šim nolūkam, pirmkārt, mēs meklējam brīvu atmiņu aizliegtajā masīvā. Pieņemsim, ka adrese 4 ir brīva, tad mēs ievadām faila numuru brīvā masīva adresē, kā arī ierakstām to pašu adresi EEPROM.for (int i; i if (never == 0) {EEPROM.write (nekad , atmiņa);}} Tātad tas arī viss, Wtv020sd16p modulis tiks atskaņots, izmantojot moduli.playVoice () un piedāvāto faila numuru. Wtv020 moduļa darbība tiks apspriesta vēlāk.

9. solis: emociju ievietošana

Emociju ievietošana
Emociju ievietošana
Emociju ievietošana
Emociju ievietošana
Emociju ievietošana
Emociju ievietošana

Līdz šim mūsu robots spēj atpazīt mūsu teikto, saglabāt atmiņā un atrast piemērotu atbildi uz jautājumiem. Tagad rodas jautājums par emociju ievietošanu. Protams, ikvienam patiks dzīva seja kopā ar tikai kādu muļķīgu mazo jautājumu atbildēšanas programmu. Projektā tiek izmantots 16x2 LCD. Tas ir pietiekami labi, lai izdrukātu acis. Lai izveidotu acis, mums jāizmanto pielāgotā rakstzīmju funkcija. Pielāgota rakstzīme ļauj mums izveidot jaunas rakstzīmes, definējot pikseļus. Mēs par to sīkāk pastāstīsim nedaudz vēlāk. Pirmkārt, ir svarīgi atcerēties, ka Arduino atbalsta tikai 8 pielāgotas rakstzīmes. Tāpēc mums ir jāpārvalda emocijas tikai ar 8 rakstzīmēm. Katru rakstzīmi drukā noteiktā lodziņā, un tajā ir 16 kolonnas un 2 rindas, kas kopā veido 32 kastes.

Internetā varat atrast labu informāciju par pielāgotajām rakstzīmēm Arduino. Var apmeklēt arī šo saiti:

[Pielāgotas rakstzīmes Arduino] Pielāgoto rakstzīmju baitu struktūra nedaudz izskatās šādi:

Parastais izskats: kreisā kastīte. Tas nozīmē, ka mums kopumā būs vajadzīgas 4 kastes, lai aizpildītu visu aci. Divas rindas kreisajā un divas labajā pusē, kopā četras kastes vienai acij. Kreisais lodziņa baits aptver divas rindas kreisajā pusē, bet labais lodziņš - labās rindas. Tātad tas veido pilnīgu Ievas aci. Un tagad, atkārtojot to pašu otrajai acij, mēs iegūstam Ievas neitrālo izskatu. Tagad ir svarīgi atcerēties, ka esam izmantojuši vienu no astoņām pieejamajām pielāgotajām rakstzīmēm. Kopā ir piecas emocijas: Glee, Sad, Squint, Normal un Blink. Atlikušās septiņas pielāgotas rakstzīmes mums ir jāpielāgo tā, lai tās atbilstu visām izteiksmēm. Vietas veidošanai mēs izmantosim 2 kastes katrai acij. Nav brīnums, ka izmērs būtu nedaudz mazs, bet cilvēka acs to ignorēs. Vienkārši noteikti pievienojiet aizkavēšanos starp LCD funkcijām, pretējā gadījumā Arduino kļūs nestabils.

10. darbība. Savienojumu izveide

Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana

LCD modulis: pievienojiet tapas, kā minēts šeit: RS: rakšanas tapa 12RW: GndInable: 7d4: rakt pin 8 d5: dig pin 9 d6: dig pin 10 d7: dig pin13A (Anode) to 5vK (Cathode) to gnd HC 05 modulis: Izpildiet šos savienojumus: HC 05 TX tapa ar Arduino RX tapu HC 05 RX tapa uz Arduino TX pin Valsts statnis līdz Arduino dig pin 11 Sakari tiek veikti, izmantojot TX un RX tapas. Štata tapa ir nepieciešama, lai pārbaudītu, vai caur HC 05 ir pievienots vai ir dīkstāvē. WTV 020 SD 16p moduļa tapa1: atiestatīšanas tapa, savienojiet to ar 2 tapas tapu izrakt pin 4pin 15: aizņemto tapu, savienojiet ar 5 pin2 pin2: pievienojiet šo tapu pastiprinātājam caur skaļumu, kā arī to pašu ar sieviešu audio ligzdu. pin4 jāpievieno skaļrunim+pin5, lai to savienotu ar skaļruni-pievienojiet 8. pin uz gnd un nodrošina 3.3 v barošanas avotu 16. tapā.

Pastiprinātājs palīdzēs atskaņot Eve iekšējo skaļruni, savukārt audio ligzdai ir jāpievienojas ārējam pastiprinātājam un lielākiem skaļruņiem.

11. darbība: WTV020SD16p modulis (pēc izvēles)

Image
Image
WTV020SD16p modulis (pēc izvēles)
WTV020SD16p modulis (pēc izvēles)
WTV020SD16p modulis (pēc izvēles)
WTV020SD16p modulis (pēc izvēles)

Piezīme. Šī darbība nav obligāta. Tas attiecas uz WTV 020 SD 16p moduļa darbību un aprakstu.

Skaņas moduļa demonstrāciju varat redzēt šajā saitē:

[ATSKATĪT VIDEO]

Robota runas režīmu izpilda WTV 020 SD modulis. Moduli izmanto balss failu atskaņošanai robotam. Kad tiek uzdots kāds jautājums, arduino liks modulim atskaņot attiecīgo balss failu SD kartē. Modulī ir četras sērijas datu līnijas saziņai ar arduino, atiestatīšana, pulkstenis, dati un aizņemtas tapas, un mēs izmantojam komandu.playVoice (), lai atskaņotu nepieciešamo failu. Piemēram: module.playVoice (9): // atskaņot SD kartē saglabāto failu 9 Atcerieties, ka failu nosaukumiem jābūt decimāldaļās (0001, 0002…). Un ka failiem jābūt vai nu AD4, vai WAV formātā. Turklāt modulis darbojas tikai ar 1 GB micro SD karti. Daži moduļi darbojas pat ar 2 GB kartēm, un kartē var būt ne vairāk kā 504 balss faili. Tātad jūs varat iekļaut lielu skaitu balss failu, lai atskaņotu daudz jautājumu.

Jūs pat varat izveidot savus balss AD4 failus. Pirmkārt, jums ir jābūt divām programmām, skaņas rediģēšanas programmatūrai un programmatūrai ar nosaukumu 4D SOMO TOOL, kas pārvērš failus AD4 formātā. Otrkārt, jums ir jāsagatavo robotu balsis. Jūs varat pārvērst tekstu runā vai pat ierakstīt savu balsi un padarīt robota balsis. Abas šīs darbības var veikt skaņas rediģēšanas programmatūrā. Bet, protams, roboti neizskatās labi, ja runā cilvēku balsis. Tāpēc vajadzētu labāk pārvērst tekstu runā. Lai to izdarītu, ir dažādi dzinēji, piemēram, Microsoft Anna un Microsoft Sam jūsu dators. Mans ir balstīts uz Microsoft Eva. Tās balsis lielā mērā sakrīt ar Cortana. Pēc balss failu sagatavošanas jums tas jāsaglabā 32000 Hz un WAV formātā. Tas ir tāpēc, ka modulis var atskaņot balss failus līdz 32000 Hz. Pēc tam izmantojiet 4D SOMO TOOL, lai pārvērstu failus AD4 formātā. Lai to izdarītu, vienkārši atveriet SOMO TOOL, atlasiet failus un noklikšķiniet uz AD4 Encode, un jūsu balss faili ir gatavi. Jūs varat pārbaudīt attēlu, lai iegūtu atsauci. Ja vēlaties iegūt sīkāku informāciju par robotu balsu veidošanu, varat doties šeit: [Making Robotic Voices]

12. solis: programmatūras daļa

Programmatūras daļa
Programmatūras daļa
Programmatūras daļa
Programmatūras daļa
Programmatūras daļa
Programmatūras daļa

Arduino Pro mini programmēšanā ir neliela problēma. Patiesībā tā nav problēma, tikai viens papildu solis. Arduino Pro mini nav iebūvēta programmētāja tāpat kā citās Arduino plāksnēs. Tātad jums vai nu jāpērk ārējs, vai vecs arduino UNO. Šeit aprakstīts, kā augšupielādēt programmu, izmantojot Arduino UNO. Vienkārši paņemiet no avārijas veco Arduino UNO plati un izņemiet Atmega 328p. Pēc tam izveidojiet savienojumu, kā minēts iepriekš: 1. TX tapa uz UNO līdz TX tapai uz Pro Mini 2. UNO RX tapa līdz Pro MIni3 RX tapai. Atiestatiet UNO tapu uz Pro Mini4 atiestatīšanas tapu. savienojiet Pro Mini VCC un Ground ar UNO. Lejupielādējiet programmu Arduino, balss atpazīšanas programmatūru un apakšā esošās bibliotēkas. Programma joprojām tiek izstrādāta. Tātad, ja jums ir kādas problēmas saistībā ar to, jautājiet brīvi. Pēc tam pievienojiet kabeli datoram. Izvēlieties Dēlis kā Arduino Pro Mini un izvēlieties pareizo COM portu. Pēc tam nospiediet augšupielādes pogu un redziet, kā programma tiek augšupielādēta jūsu Pro Mini.

Pēc tam lejupielādējiet balss atpazīšanas programmatūru un balss failus.

13. solis: ķermeņa sagatavošana

Ķermeņa sagatavošana
Ķermeņa sagatavošana
Ķermeņa sagatavošana
Ķermeņa sagatavošana
Ķermeņa sagatavošana
Ķermeņa sagatavošana

Es atradu nelielu diega diega kastīti un atklāju, ka tā ir ideāli piemērota ķermenim. Jūs varat izmantot jebkuru kastīti, ko atrodat savā darbnīcā, vai arī izgatavot no kartona. Vienkārši izgrieziet nelielu taisnstūra gabalu LCD moduļa piestiprināšanai. Augšpusē es izgriezu nelielu caurumu skaļuma piestiprināšanai, bet sānos - slēdžu un audio savienotāja piestiprināšanai. Riteņu kastes malās es piestiprināju divus pudeļu vāciņus. Vienkārši pārliecinieties, vai kastē ir pietiekami daudz vietas, lai ķēdi varētu ievietot iekšā. Pievienojiet slēdzi korpusam, kā arī ķēdei, pēc tam skaļumu kastes augšpusē. Tad vienkārši ievietojiet ķēdi iekšā, un jūsu robots ir pabeigts.

14. solis: labi darīts

Labi padarīts!
Labi padarīts!
Labi padarīts!
Labi padarīts!

Tagad esat pabeidzis savu mazo robotu projektu, kas var runāt ar jums un likt jums justies laimīgam. Tas ir laimīgākais, kad esat DIYer, kad jūsu projekts ir pabeigts un pilnībā darbojas. Neuztraucieties, ja vienā mēģinājumā jums neizdodas, jums ir smagi jācenšas, lai jūs saprastu katru sava robota daļu. Un šeit DIYers nāk šajā pasaulē. Bet tas nav projekta beigas. Ievu vienmēr lielākā mērā attīstīšu es vai es, piemēram, tu. Es labprāt uzzinātu, ko jūs esat padarījis, redzot šo pamācību. Ar cieņu, RS3655

Ieteicams: