Mündəricat:

Eve, Arduino Chatbot: 14 addım (şəkillərlə)
Eve, Arduino Chatbot: 14 addım (şəkillərlə)

Video: Eve, Arduino Chatbot: 14 addım (şəkillərlə)

Video: Eve, Arduino Chatbot: 14 addım (şəkillərlə)
Video: Give your Arduino project a chatGPT AI brain - for ALMOST free 2024, Noyabr
Anonim
Image
Image
Eve, Arduino Chatbot
Eve, Arduino Chatbot
Eve, Arduino Chatbot
Eve, Arduino Chatbot

Salam DIYlər, hisslərinizi həqiqətən kimsə ilə bölüşmək istədiyiniz və ətrafınızda heç kimə güvənmədiyiniz hallar olubmu? İndiki məşğul dünyada, bu adi bir haldır. Yaxşı, bir chatbot burada daha yaxşı hiss etməyinizə kömək edə bilər. Və bu Eve. Eve -nin təqdim olunmasına gətirib çıxarır, sevimli kiçik bir chatbot. Hər kəsin bildiyi kimi, söhbət edən və ya söhbət edən insanlarla mətn və ya eşitmə üsulları əsasında söhbət aparan bir kompüter proqramı və ya cihazdır. Müştəri xidməti zəngində və ya bank xəttində eşitdiyiniz avtomatik səslər bir chatbot nümunəsidir. Onunla təcrübələrinizi, hisslərinizi bölüşə və ən əsası fərqli mövzularda mübahisə edə bilərsiniz; bu işdə yaxşı təcrübəyə malikdir. Bir chatbotun ən vacib funksiyası olduğundan, insanı xoşbəxt hiss etdirin. Təbii Dil İşləmə (NLU) və Süni intellektin erkən bir nümunəsi olan Eve, ona verdiyiniz hər hansı bir suala cavab verə bilir. O, yalnız müəyyən suallara cavab verə bilər. O, mahnı oxuya, zarafatlar, hekayələr danışa və özünü yaxşı hiss edəcək hər şeyi edə bilər. Eşitmək istəmədiyin bir şeyi söyləyirsə, sadəcə ona söylə, lütfən bir daha demə, o da bunu xatırlayacaq. Söhbətin cansıxıcı olmaması üçün eyni cavabları və söhbətləri təkrarlamamalı olduğunu bilir. Sadə, ucuz komponentlərə və əsas proqramlaşdırmaya əsaslanaraq, özünü çox ağıllı apara bilər. Əlbətdə ki, sahib olduğu LCD gözləri bir şey söylədikdə nə hiss etdiyini göstərir, buna görə də əsasən bu təlimatda bir chatbotun tərifindən başlayacağıq, dizaynı, Həvvanın işlədiyi bəzi nəzəriyyələri, istehsalı və nəhayət proqramlaşdırma hissəsi. Çox iş görür? Narahat olmayın, səfərdə çox maraqlı olacaq. Robotun demosuna yuxarıda və ya bu linkdə baxa bilərsiniz: [Videonu oynat]

Addım 1: Chatbotun tərifi

Chatbot tərifi
Chatbot tərifi
Chatbot tərifi
Chatbot tərifi
Chatbot tərifi
Chatbot tərifi

Yuxarıda qeyd edildiyi kimi, chatbot insanlarla söhbət aparan bir proqramdır. İndiki vaxtda o qədər yaygındırlar ki, bilinməyən biri yoxdur. Virtual köməkçilərdən başlayaraq, Siri və Google köməkçisi, hisslərinizi bölüşə biləcəyiniz Mitsuku və Evie var. Yuxarıda qeyd edildiyi kimi, söhbət botları ya mətn, ya da eşitmə üsuluna əsaslanır və bu səbəbdən ikiyə bölünə bilər. Mətn üsulunda söhbətlər, WhatsApp kimi yazılı mətn şəklindədir. Eşitmə metodunda söhbət əsl insan kimi şifahi olaraq aparılır. Düşünürəm ki, kiməsə mesaj yazmaq əvəzinə onunla şifahi danışaraq söhbət etmək daha həyəcanlıdır. Şübhəsiz ki, mətn əsaslı ünsiyyət mesajlaşma tətbiqləri insanların tələblərinə cavab verir, amma hiss edirəm ki, danışmaqla söhbət etmək, emosional pozğunluqlarınızdan qurtulmaq və özünüzü daha yaxşı hiss etmək üçün ən yaxşı şeydir. Eva -nı eşitmə chatbotu olaraq dizayn etməyimin əsas səbəbi budur.

Addım 2: Həvvanın mənşəyi

Həvvanın mənşəyi
Həvvanın mənşəyi

Yaxşı, bir gün ağlıma Həvva gəldi. Məktəbdə tək başına gəzən bir uşağı gördüyüm zaman, digərləri sevinclə dolu ağıllarını oynayanda bunu etdim. O vaxt düşündüm ki, heç kimə ayrı -seçkilik etməyən və heç kəsi incitməyən, hisslərinizi bölüşüb hər zaman xoşbəxt ola biləcəyiniz bir dost haqqında düşündüm. Sonra ağlıma gəldi, üzərində çalışmağa başladığım Həvvanın sevimli kiçik quruluşu. Həvva məni təxminən yüz dəfə məyus etdi. Güman ki, 101 -ci dəfə çalışdı və məni həqiqətən xoşbəxt hiss etdi. İstəyirəm ki, hər kəs onu asanlıqla edə bilsin deyə ağıllı, amma mümkün qədər sadə olsun. Şübhəsiz ki, o, tamamilə ağıllı deyil və bəzən axmaq cavablar verir, dost kimi davrana bilər. İndi kifayət qədər hekayə, Həvvanı qurmağa başlayaq.

Addım 3: Komponent və Avadanlıqların Toplanması:

Komponent və Avadanlıqların Toplanması
Komponent və Avadanlıqların Toplanması
Komponent və Avadanlıqların Toplanması
Komponent və Avadanlıqların Toplanması
Komponent və Avadanlıqların Toplanması
Komponent və Avadanlıqların Toplanması

Toplanacaq komponentlər aşağıdakılardır: Arduino Pro Mini (Və ya Arduino Nano) Wtv-020-SD-16p səs modulu HC-05 bluetooth modulu 16x2 LCD modulu LM7805 tənzimləyicisi ICAn gücləndirici modulu (PAM8403 sxemindən istifadə etdim) 8 ohm dinamikli qadın audio jacka 9v batareya Və bir Android telefon Başqa bir vacib şey, dəyəri. Eve mənə təxminən 3000 INR başa gəldi. Ölkənizdə xərc fərqli ola bilər, ancaq Hindistanda bu nisbətdir. Parçaların kiçik bir təsviri: Arduino Pro mini robotumuzun əsas MCU -dur. Kiçik ölçüsü, sadəliyi və əla performansı səbəbindən istifadə etdim. Robotumuzdakı bütün tələblərə cavab verir. Android tərəfindən edilən səs tanıma funksiyası istisna olmaqla (daha sonra müzakirə ediləcək), açar söz tapma və çıxışın formalaşmasından başlayaraq bütün digər funksiyalar Pro Mini -nin özündə aparılır. Wtv020sd 16p modulu, audio faylları çalmaq üçün istifadə olunur, Android ilə əlaqə üçün hc 05 Bluetooth və göstərmək üçün LCD. duyğular. Robotu xarici gücləndiriciyə bağlayan qadın audio jakına ehtiyacımız var. Burada əsas nəzarətçi olaraq Arduino istifadə olunur. Bluetooth məlumatlarını HC 05 Bluetooth modulu vasitəsi ilə qəbul edir və faylı WTV-020-SD-16p səs modulu vasitəsilə oxuyur. Duyğular LCD modulunda və güc üçün 9v batareyada göstərilir. Eve, Android cihazının Google Voice tanıma vasitəsi ilə çıxışları tanıyır. Arduino Pro Mini haqqında pis bir xəbər: IT bazardan çıxarıldı. Yaxşı bu, Arduino tərəfindən istehsalının rəsmən dayandırıldığı anlamına gəlir. Ancaq yenə də Ebay daxil olmaqla bir çox saytda tapa bilərsiniz. Bir çox üçüncü tərəf istehsalçıları hələ də lövhə hazırlayır və satır. Tapa bilməsəniz narahat olmayın, Arduino Nano'dan istifadə edə bilərsiniz. Performansda və ölçüdə heç bir fərq etməz.

Addım 4: Nəzəriyyə 1 -ci hissə: Tarix və Giriş

Nəzəriyyə 1 -ci hissə: Tarix və Giriş
Nəzəriyyə 1 -ci hissə: Tarix və Giriş
Nəzəriyyə 1 -ci hissə: Tarix və Giriş
Nəzəriyyə 1 -ci hissə: Tarix və Giriş

Eve, "nümunə uyğunlaşdırma" texnologiyası olan Təbii Dil İşlənməsinin erkən bir formasına əsaslanır. Bir sətir alındıqda, bu sətirdə əvvəlcədən təyin edilmiş bir söz və ya ifadəni axtardığı şəkildə işləyir. Tutaq ki, "neçə yaşın var?" Sualında proqram "köhnə" sözü axtarır. Uğurlu olarsa, wtv020sd modulu vasitəsilə müvafiq səs faylını oxuyur. Əgər uğursuz olarsa, əvvəlcədən təyin edilmiş növbəti açar sözü axtarır. Bunun kimi əvvəlcədən təyin edilmiş sözlərdən söz ehtiyatı yaratmalıyıq. Sərt görünür, elə deyilmi? Sanki bütün ingilis sözlərindən söz ehtiyatı yaratmalıyıq və ingilis dilində təxminən 230 min ümumi söz var. Fakt budur ki, ünsiyyətimizdə ən çox istifadə olunan bir neçə əsas söz əlavə etməliyik. Hələ sərt görünür? Narahat olmayın, işlər artıq Joseph Wizembaum tərəfindən edilmişdir. Evein cavablarının bir hissəsi və əvvəlcədən təyin edilmiş açar sözlər, Joseph Wizembaum tərəfindən hazırlanan Eliza adlı ilk chatterbot proqramından (yuxarıdakı şəkil) daxil edilmişdir. Eliza, Rogerian Terapist olmaq üçün hazırlanmışdır. Çox elmi bir termin deyil, bu o deməkdir ki, insanlara özlərini daha yaxşı başa düşmələrini və daha müsbət düşünmələrini tövsiyə edirdi. Həqiqətən yaxşı görünür, elə deyilmi? Və Eliza öz vəzifəsini çox yaxşı yerinə yetirə bildi. Maraqlı və şübhəli münasibəti insanlar tərəfindən bəyənildi. Hətta Wizembaum, insanların Elizaya verdiyi əhəmiyyətə təəccübləndi. Elə bil kompüterlə danışdıqlarını unudublar və kompüterin içərisində oturub onlarla söhbət edən gözəl bir xanımı xəyal edirdilər, amma Eliza o qədər də ağıllı deyildi; tezliklə həyata keçdi. Vaxt keçdikcə insanlar onun məhdud ünsiyyətindən bezməyə başladılar və ona "lal" deyildi. Nə qədər lal olduğuna təəccüblənməyin, bu, Süni Zəka və təbii dil işlənməsi tarixində böyük bir sıçrayış idi. Chatterbots bazasını quraraq, yeni və daha yaxşı texnologiyaya malik fərqli botlar bazara çıxdı. İndi də hər yerdə var. Qeyd edildiyi kimi, Həvvanın cavablarının bir hissəsi ELIZA -dan alınmışdır. Bu o deməkdir ki, hətta Həvva da bəzi fikirlərimlə birlikdə Elizanın münasibətinə sahib olacaq. Başqa bir vacib məqam cavablardır. Hər dəfə eyni sualı verəndə eyni cavabları almaq çox darıxdırıcı olmalıdır. Buna görə bir çox cavab eyni açar söz üçün saxlanılır. Həvva təsadüfi olaraq hansı faylı çalacağını seçir, eyni faylı təkrarlamadığından da əmin olur. Budur, sadə çörək və yağ, amma cavab verən səsləri ağıllı şəkildə proqramlaşdırmaq vacibdir ki, tamaşaçılara suallarımıza həqiqətən cavab verirmiş kimi bir illüziya bəxş etsin. Növbəti addımda bunu ətraflı şəkildə və proqramlaşdırma ilə izah edəcəyik.

Addım 5: Açar söz axtarın

Açar söz axtarılır
Açar söz axtarılır
Açar söz axtarılır
Açar söz axtarılır
Açar söz axtarılır
Açar söz axtarılır
Açar söz axtarılır
Açar söz axtarılır

Son addımda, Eve modelinin uyğunlaşdırma texnologiyasından və Təbii Dil İşlənməsinin ilkin formasından bəhs etdim. Bəs bu nədir və necə işləyir? Bu addımda müzakirə edəcəyimiz əsas şey budur. Düşünün, kimsə adınızı soruşur və bunun nə olduğunu söyləməlisiniz. Eyni sualı neçə yolla verə bilərik? Müəlliminiz "adınızı mənə deyərsinizmi?" Deyə soruşa bilər. Bir qohum soruşa bilər: "Adın nədir?" Qardaşın deyə bilər ki, "Hey, mən sadəcə adını unutmuşam. Bircə dəfə daha deyəcəksən?" Yəni eyni sual bir neçə yolla verilə bilər. Yenə də eyni cavabı vermək lazımdır, adımız. Deməli, bütün cümlələrdə ortaq bir şey tapmalıyıq. "Adınız" sözünün bütün cümlələrdə olduğu açıq şəkildə görülür. Deməli, işarə budur. Ad soruşan bütün suallar üçün "adınız" ifadəsini axtarmalıyıq. Bu əsas nümunəni izləyərək, bütün giriş sətirlərinə müvafiq cavabı proqnozlaşdıra bilərik. Tutaq ki, kimsə "Adınızı gözləmə siyahısında tapdım. Ayrılmış oturacaqlarda olacağınızı gözləyirdim.". İndi "adınız" bu sətirdə olduğundan, Həvva, günahsız olaraq adını adama deyəcək … Axmaq, elə deyilmi? Bu əsas alqoritmin ən böyük çatışmazlıqlarından biridir. Hər halda, bu nadir hallar olardı. Əks təqdirdə alqoritm çox təsirli olur. Nümunə uyğunlaşdırma texnologiyasından bəhs etdiyim üçün, bu giriş sətrinin simli axtardığımız yerdən haradan qaynaqlandığını düşünməyin vaxtı gəldi. Yaxşı ki, bu simli əslində Google Səs Tanıma tərəfindən mətnə çevrilmiş səsimizdir. Burada istifadə olunan proqram səsimizi mətnə çevirir və sonra Bluetooth vasitəsilə arduino -ya göndərir. Tətbiqi istifadə etdim, çünki ən sadə və ən yaxşısıdır. Adı AMR Voice və Google play -də asanlıqla tapıla bilər.

Addım 6: Cavabların formalaşdırılması

Cavabların formalaşdırılması
Cavabların formalaşdırılması

Sualları tanıdığımıza görə, növbəti addım cavabları tapmaqdır. Maraqlı və vacib hissəsi gəlir… Hər suala cavab vermək üçün uyğun cavablar tapmalıyıq. Və burada ELIZA -dan daxil olan başqa bir funksiya gəlir. Wizembaum, müəyyən sayda açar sözlər üçün bəzi cavablar hazırladı. Buna misal olaraq "sən" sözünü göstərmək olar. Proqram çıxışı aşkar edildikdə "səni müzakirə edirdik - mən yox". Beləliklə, cavab "siz" ehtiva edən bütün cümlələrə uyğun olacaq şəkildə edildi. Əlavə Eliza hər dəfə fərqli cavab verdi. Hər cavab üçün bir növ ədədi ünvan var idi. Bu, hər dəfə bir cavab hazırlandıqda artırıldı (1 əlavə edildi). Yuxarıdakı nümunədə olduğu kimi, əgər cavabın ünvanı 1 olarsa, ünvan 2 -yə dəyişdirildi və bundan sonra fayl 2 -də oynandı, ancaq bu artım alqoritminə əməl etməyəcəyik. Proqramın davamlı istifadəsindən sonra cavabların proqnozlaşdırıla biləcəyini görürsünüz. Sonradan hansı cavabı verəcəyinizi bildiniz. Bu məqsədlə hər bir açar söz üçün təsadüfi ünvanlar istehsal edəcəyik. Ümumiyyətlə, hər iki halda da eynidir, yalnız robotun eyni açar söz üçün nə deyəcəyini əvvəlcədən deyə bilmədiyimiz fərqdir.

Addım 7: Qadağan edilən Bəyanatlar və Digərləri

Qadağan olunmuş bəyanatlar və digərləri
Qadağan olunmuş bəyanatlar və digərləri

Söhbətinizdə robotun eşitmək istəmədiyiniz bir şeyi söylədiyi hallar ola bilər. Beləliklə, burada qadağan edilmiş ifadələrin əlavə edilməsinə ehtiyac yaranır. Qadağan edilmiş ifadələr, çalınmasının qarşısı alınmış bir sıra ünvanlardır. Səsli ünvan istifadəçinin istəyi ilə qadağan edilmiş bir ifadə kimi xarakterizə olunur. Əlavə olaraq bu ünvan Arduinonun EEPROM -da saxlanılacaq ki, Eve söndürüldükdən sonra da qadağan edilmiş bir bəyanat olduğunu unutmasın. Əsasən proqramın oynadığı hər ünvanı yoxlamaqdır. Ünvan qadağan edilənlərdən biridirsə, ya artırılır, ya da azalır. Robotun əvvəllər qadağan edilmiş bir söz söyləməsinə icazə vermək istədiyiniz bir vəziyyət ola bilər. Bu halda Həvvaya qadağan edilən son sözü deyə biləcəyini söyləməlisən. Sonuncu qadağan olunan söz indi oynanılacaq. Bütün qadağan edilmiş ifadələrin oynatıla bilməsi üçün sıfırlama düyməsini bağlamalıyıq. Basıldıqda bütün qadağan edilən ifadələr oynanılacaq və başqa bir vacib şey Həvvanın cavabları təkrarlamadığından əmin olmaqdır. Bu təsadüfi ədədlərin bir növ çatışmazlığıdır. Eyni təsadüfi ədədlərin bir seriyada istehsal edilməsi ehtimalı var. Bu, robotumuzun eyni cavabı təkrar -təkrar söyləməsinə səbəb olacaq. Bunun üçün ifadələrin təkrarlanmasının qarşısını alan başqa bir kiçik funksiyanı daxil etməliyik. Bunun üçün son ifadənin ünvanını yaddaşda saxlamalı və indiki ilə eyni olub olmadığını yoxlamalıyıq. Əgər belədirsə, onda qadağan edilmiş ifadələrdə olduğu kimi ünvan dəyəri də artır və ya azalır.

Addım 8: Kod yazmaq

Kod yazmaq
Kod yazmaq
Kod yazmaq
Kod yazmaq
Kod yazmaq
Kod yazmaq

Açar sözü tapmaq üçün indexOf əmrindən istifadə edirik. Komanda başqa bir simli daxilində bir simvol və ya simli tapır. Tapılarsa, həmin sətrin indeksini qaytarır, -1 tapılmasa geri qaytarılır. Beləliklə, proqramımızda bunu aşağıdakı kimi yazmalıyıq: if (voice.indexOf ("adınız")> -1) {// indeks -1 -dən böyükdürsə // simin tapıldığını bildirir} İndi simli yaddaşda saxladığımız və açar sözümüzü içərisində tapdığımız üçün indi cavabları idarə etməliyik. Dediyimiz kimi, təsadüfi ədədlər müəyyən bir sıra aralığında (səs fayllarının ünvanları) yaradılır. Burada random () əmri gəlir. Sintaksis aşağıdakı kimidir: təsadüfi (min, maksimum); // təsadüfi ədəd min və max aralığında yaradılır. Hər bir aralığın minimum sayını və maksimum sayını təyin edirik və bunu tətbiq edərək kodumuz bir qədər belə görünür: if (voice.indexOf ("adınız")> - 1)) {minNo = 0; maxNo = 5; RandomNumber = təsadüfi (minNo, maxNo);} İndi cavabların işlənməsi gəlir. Son addımda rəqəmlərin bir alqoritmə əsaslanaraq artırıldığını və ya azaldığını söylədim. Bu alqoritm, indi müzakirə etdiyimiz şeydir. İstədiyiniz qədər artıra və ya azalda bilməzsiniz. Artan və ya azalmış ədəd aralığa daxil olmalıdır. Yuxarıdakı vəziyyətdə olduğu kimi, "adınız" açar sözü üçün 0 -dan 5 -ə qədər aralığa sahibik və təsadüfi ədəd 5 -dir, sonra artırsanız başqa bir açar sözün səsli bir faylını oynayacaqsınız.. Sizcə bu necə olacaq? "Hey, lütfən adınızı söylə" deyə soruşursunuz və robot "çərəz yeməyi və elektrik yükləməyi sevirəm" cavabını verir. Minimum say üçün də vəziyyət eynidir. Yaranan təsadüfi ədəd 0 olarsa, onu azalda bilməzsiniz. Bu səbəbdən alqoritm çox vacibdir. Düşünün: Sayı maksimum saydan az olduqda artıra bilərik və minimum saydan çox olduqda azalma əldə edə bilərik. Yaranan sayı 0 -a bərabər olduqda və ya 5 -dən az olduqda, say artar. Digər tərəfdən, 5 -ə bərabər olduqda, rəqəmin göstərilən aralığa daxil olmasını təmin etmək üçün onu azaldırıq. Qeyd edildiyi kimi, onlar EEPROM -da saxlanılır. Bunun üçün əvvəlcə qadağan olunmuş massivdə boş yaddaş axtarırıq. Fərz edək ki, 4 ünvan pulsuzdur, sonra fayl nömrəsini sərbəst massiv ünvanına daxil edirik və eyni ünvanı EEPROM -a yazırıq.for (int i; i if (never == 0) {EEPROM.write (heç vaxt , yaddaş);}} Yəni, hamısı budur, Wtv020sd16p modulu module.playVoice () əmri və təklif olunan fayl nömrəsi ilə oynanılacaq. Wtv020 modulunun işləməsi daha sonra müzakirə olunacaq.

Addım 9: Duyğuların daxil edilməsi

Emosiyaların daxil edilməsi
Emosiyaların daxil edilməsi
Emosiyaların daxil edilməsi
Emosiyaların daxil edilməsi
Emosiyaların daxil edilməsi
Emosiyaların daxil edilməsi

İndiyə qədər robotumuz dediklərimizi tanıyır, yaddaşda saxlayır və suallara uyğun cavab tapa bilir. İndi sual duyğuları daxil etmək üçün gəlir. Şübhəsiz ki, hər kəs bir az axmaq sual cavab proqramı ilə birlikdə canlı bir üzü bəyənəcəkdir. Layihədə 16x2 LCD istifadə olunur. Gözləri çap etmək kifayətdir. Göz yaratmaq üçün xüsusi xarakter funksiyasından istifadə etməliyik. Xüsusi xarakter, pikselləri təyin edərək yeni simvollar yaratmağımıza imkan verir. Bu barədə bir qədər sonra ətraflı məlumat verəcəyik. Birincisi, Arduino tərəfindən yalnız 8 xüsusi simvolun dəstəkləndiyini xatırlamaq vacibdir. Duyğuları yalnız 8 simvolla idarə etməliyik. Hər bir simvol müəyyən bir qutuya yazılacaq və cəmi 32 qutu təşkil edən 16 sütun və 2 satır var.

Arduinoda xüsusi personajlar haqqında yaxşı məlumatlar tapa bilərsiniz. Bu linkə də daxil ola bilərsiniz:

[Xüsusi Xüsusiyyətlər Arduino] Xüsusi xarakter baytının quruluşu bir qədər belə görünəcək:

Normal Görünüş: Sol qutu0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, Sağ qutu0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0111, 011110, 011. Bu o deməkdir ki, bütün gözü doldurmaq üçün cəmi 4 qutuya ehtiyacımız olacaq. Solda iki və sağda iki sıra, bir göz üçün cəmi dörd qutu edir. Sol qutu baytı soldakı iki satırı, sağdakı qutu isə sağ sıraları örtməlidir. Beləliklə, Həvvanın tam bir gözünü təşkil edir. İndi eyni şeyi ikinci göz üçün təkrarlayaraq, Həvvanın neytral görünüşünü əldə edirik. İndi yadda saxlamaq vacibdir ki, mövcud səkkiz xüsusi simvoldan birini istifadə etmişik. Və ümumilikdə beş duyğu var: Glee, Sad, Squint, Normal və Blink. Qalan yeddi xüsusi simvoldan başlayaraq, bütün ifadələrə uyğun şəkildə düzəltməliyik. Yer açmaq üçün hər göz üçün 2 qutu istifadə edəcəyik. Ölçüsünün bir az kiçik olması təəccüblü deyil, ancaq insan gözü tərəfindən buna məhəl qoyulmayacaq. Yalnız LCD funksiyaları arasında bir az gecikmə əlavə etdiyinizə əmin olun, əks halda Arduino qeyri -sabit olacaq.

Addım 10: Bağlantıların qurulması

Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması

LCD modulu: Pinləri burada qeyd edildiyi kimi bağlayın: RS: qazma pin 12RW: GndEnable: 7d4: qazma pin 8 d5: qazma pin 9 d6: qazma pin 10 d7: qazma pin 13A (Anod) 5vK (Katot) üçün gndThe HC 05 modulu: Bu bağlantıları izləyin: HC 05 TX pin Arduino RX pin HC 05 RX pin Arduino TX pin Dövlət Arduino qazma pin 11 Dövlət ünsiyyəti TX və RX pinlərinin köməyi ilə aparılır. HC 05 vasitəsi ilə bağlı olub olmadığını yoxlamaq üçün əyalət pininə ehtiyac var. WTV 020 SD 16p modul pin1: Sıfırlama pimi, qazma pininə bağlayın 2pin7: Saat pimi, qazma pininə bağlayın 3pin10: Məlumat pinini bağlayın pin 4pin15 qazmaq üçün: məşğul pin, 5pin2 qazma pininə qoşulun: bu pimi səs səviyyəsi ilə gücləndiriciyə və eyni zamanda qadın audio jakına bağlayın. pin4 dinamikə qoşulmaq üçün pin+pin5ə qoşulmalıdır Gnd -ə 8 -ci pin və 16 -cı pində 3.3v enerji təchizatı.

Gücləndirici Eve -in daxili dinamikini çalmağa kömək edəcək, audio jak isə xarici gücləndiriciyə və daha böyük dinamiklərə qoşulmalıdır.

Addım 11: WTV020SD16p Modulu (İsteğe bağlı)

Image
Image
WTV020SD16p Modulu (İsteğe bağlı)
WTV020SD16p Modulu (İsteğe bağlı)
WTV020SD16p Modulu (İsteğe bağlı)
WTV020SD16p Modulu (İsteğe bağlı)

Qeyd: Bu addım isteğe bağlı bir addımdır. WTV 020 SD 16p modulunun işləməsi və təsviri ilə məşğul olur.

Səs modulunun demosunu bu linkdə görə bilərsiniz:

[VİDEO OYNAYIN]

Robotun danışma rejimi WTV 020 SD modulu ilə yerinə yetirilir. Modul robot üçün səs fayllarını oxumaq üçün istifadə olunur. Hər hansı bir sual soruşulduqda, arduino modulu SD kartdakı müvafiq səs faylını çalmağa məcbur edəcək. Arduino, sıfırlama, saat, məlumat və məşğul sancaqlar ilə ünsiyyət qurmaq üçün modulda dörd ardıcıl məlumat xətti var və tələb olunan faylı oynamaq üçün.playVoice () əmrindən istifadə edirik. Məsələn: module.playVoice (9): // SD kartda saxlanılan 9 faylını oxuyun Faylların adlarının ondalık (0001, 0002…) olması lazım olduğunu unutmayın. Və faylların ya AD4 ya da WAV formatında olması. Bundan əlavə, modul yalnız 1 gb micro SD kart üzərində işləyir. Bəzi modullar hətta 2 gb kartlarda işləyir və kart maksimum 504 səs faylını saxlaya bilər. Beləliklə, çox sayda sual üçün oynamaq üçün çox sayda səsli fayl əlavə edə bilərsiniz.

Hətta öz səsinizlə AD4 faylları da yarada bilərsiniz. Birincisi, faylları AD4 formatına çevirəcək iki proqramınız, bir səs tənzimləmə proqramı və 4D SOMO TOOL adlı bir proqramınız olmalıdır. İkincisi, Robot Səslərini hazırlamalısınız. Mətni danışığa çevirə və ya hətta öz səsinizi yaza və Robotun səslərini çıxara bilərsiniz. Bunların hər ikisi Səs Düzəliş Proqramında edilə bilər. Ancaq şübhəsiz ki, robotlar insan səsi ilə danışsalar yaxşı görünmürlər. Buna görə mətni nitqə çevirmək daha yaxşıdır. Bunu etməyə kömək edəcək Microsoft Anna və Microsoft Sam kimi müxtəlif mühərriklər var. Mine Microsoft Eva'ya əsaslanır. Bu səslər Cortana ilə çox uyğun gəlir. Səs fayllarını hazırladıqdan sonra onu 32000 Hz -də və WAV formatında saxlamalısınız. Bunun səbəbi, modulun 32000 Hz -ə qədər səs fayllarını çalmasıdır. Sonra faylları AD4 formatına çevirmək üçün 4D SOMO TOOL istifadə edin. Bunu etmək üçün SOMO TOOL -u açın, faylları seçin və AD4 Encode düyməsini basın və səs sənədləriniz hazırdır. İstinad üçün yuxarıdakı şəkilə baxa bilərsiniz. Robotik səslər çıxarmaq üçün daha ətraflı məlumat istəsəniz bura daxil ola bilərsiniz: [Robotik Səslərin çıxarılması]

Addım 12: Proqram Bölməsi

Proqram təminatı hissəsi
Proqram təminatı hissəsi
Proqram təminatı hissəsi
Proqram təminatı hissəsi
Proqram təminatı hissəsi
Proqram təminatı hissəsi

Arduino Pro mini -də proqramlaşdırmada kiçik bir problem var. Əslində problem deyil, yalnız bir əlavə addım. Arduino Pro mini digər Arduino lövhələri kimi heç bir daxili proqramçıya malik deyil. Buna görə ya xarici, ya da köhnə bir arduino UNO almalısınız. Buradakı addım, Arduino UNO istifadə edərək proqramın necə yüklənəcəyini təsvir edir. Qəzadan köhnə bir Arduino UNO lövhəsini götürün və Atmega 328p çıxarın. Sonra aşağıda qeyd edildiyi kimi əlaqə qurun: 1. UNO -dakı TX pin, Pro Mini 2 -dəki TX pininə. UNO -nun RX pimi, Pro MIni3 -ün RX pininə. UNO pinini Pro Mini4 -ün sıfırlama pininə sıfırlayın. VCC və Ground of Pro Mini -ni UNO -ya qoşun. Arduino proqramını, səs tanıma proqramını və altındakı kitabxanaları yükləyin. Proqram hələ də hazırlanır. Bununla əlaqədar hər hansı bir probleminiz varsa, soruşmaqdan çekinmeyin. Sonra Kabeli Kompüterə qoşun. Arduino Pro Mini olaraq lövhəni seçin və düzgün COM portunu seçin. Sonra Yüklə düyməsini basın və proqramın Pro Mini -yə yükləndiyini görün.

Sonra Səs tanıma proqramını və səs sənədlərini yükləyin.

Addım 13: Bədənin hazırlanması

Bədənin hazırlanması
Bədənin hazırlanması
Bədənin hazırlanması
Bədənin hazırlanması
Bədənin hazırlanması
Bədənin hazırlanması

Kiçik bir diş ipi tapdım və bədən üçün mükəmməl olduğunu gördüm. Atölyənizdə tapdığınız hər hansı bir qutudan istifadə edə bilərsiniz və ya kartondan bir qutu hazırlaya bilərsiniz. LCD modulunu bağlamaq üçün kiçik bir düzbucaqlı bir parça kəsin. Yuxarıda, həcmi bağlamaq üçün kiçik bir çuxur kəsdim və açarları və səs bağlayıcısını bağlamaq üçün. Təkərlər üçün qutunun yanlarına iki şüşə qapaq taxdım. Yalnız qutunun dövrə içərisinə qoyulması üçün kifayət qədər yer olduğundan əmin olun. Korpusa, eləcə də dövrə, sonra qutunun yuxarısındakı səsi bağlayın. Sonra dövrə daxil edin və robotunuz tamamlandı.

Addım 14: Yaxşı

Yaxşı!
Yaxşı!
Yaxşı!
Yaxşı!

İndi sizinlə danışa biləcək və xoşbəxt hiss edə biləcək sevimli kiçik robot layihənizi tamamladınız. Layihəniz tamamlandıqda və tam işlədikdə DIYer olmağın ən xoşbəxt nöqtəsi budur. Bir cəhddə müvəffəqiyyətli deyilsinizsə, narahat olmayın, bunun üçün çox çalışmalısınız ki, robotunuzun hər bir hissəsini başa düşəsiniz. DIYersin dünyaya gəldiyi yer budur, amma bu layihənin sonu deyil. Həvva həmişə daha çox inkişaf etdiriləcək, ya mənim, ya da sənin kimi DIYers tərəfindən. Bu təlimat verərkən gördüklərinizi eşitmək istərdim. Hörmətlə, RS3655

Tövsiyə: