Мазмұны:

Хауа, Arduino Chatbot: 14 қадам (суреттермен)
Хауа, Arduino Chatbot: 14 қадам (суреттермен)

Бейне: Хауа, Arduino Chatbot: 14 қадам (суреттермен)

Бейне: Хауа, Arduino Chatbot: 14 қадам (суреттермен)
Бейне: Bronchial stenting 2024, Қазан
Anonim
Image
Image
Хауа, Arduino Chatbot
Хауа, Arduino Chatbot
Хауа, Arduino Chatbot
Хауа, Arduino Chatbot

Сәлеметсіз бе, DIYrs, сіз өз сезіміңізді біреумен бөліскіңіз келген және айналасында сенімді адам болмаған жағдайлар болды ма? Қазіргі қарбалас әлемде бұл жиі кездесетін жағдай. Чатбот бұл жерде сізге жақсы сезінуге көмектеседі. Және бұл Eve. Eve -дің енгізілуіне әкеледі - бұл сүйкімді кішкентай чат -бот. Барлығына белгілі болғандай, чат -бот - бұл компьютерлік бағдарлама немесе құрылғы, ол адамдармен мәтіндік немесе есту әдістеріне негізделген әңгіме жүргізеді. Клиенттерге қызмет көрсету кезінде немесе банк желісінде естілетін автоматтандырылған дауыстар чат -боттың мысалы болып табылады. Онымен сіз өз тәжірибеңізбен, сезімдеріңізбен бөлісе аласыз және ең бастысы әр түрлі нәрселер туралы дауласа аласыз; ол бұл мәселеде жақсы тәжірибеге ие. Бұл чат -боттың ең маңызды функциясы болғандықтан, адамға өзін бақытты сезінуге мүмкіндік береді. Табиғи тілді өңдеу (NLU) мен жасанды интеллектінің алғашқы мысалы, Хауа кез келген сұраққа жауап бере алады. Ол белгілі бір сұрақтарға жауап бере алмайды. Ол ән айта алады, сізге әзілдер, әңгімелер айта алады және көңіліңізге жағымды әсер ететін кез келген нәрсені жасай алады. Егер ол сіз естігіңіз келмейтін нәрсені айтса, жай ғана айтыңыз, өтінемін, бұл сөзді қайталамаңыз, ол есінде қалады. Ол тіпті жауаптарды және сөйлесулерді қайталамау керектігін біледі, сондықтан әңгіме скучно болмайды, қарапайым компоненттер мен қарапайым бағдарламалауға сүйене отырып, ол өзін ақылды ұстай алады. Сондай -ақ, оның СКД көздері сіз бірдеңе айтқан кезде қандай сезімде болатынын көрсетеді, сондықтан біз осы нұсқаулықта чатботтың анықтамасынан бастаймыз, дизайнды, Хауа басқаратын кейбір теорияларды, өндірісті және соңында Бағдарламалау бөлігі. Бұл көп нәрсені көреді ме? Уайымдамаңыз, саяхат өте қызықты болады. Сіз роботтың демонстрациясын жоғарыдан немесе мына сілтемеден қарай аласыз: [Бейнені ойнату]

1 -қадам: Chatbot түсінігі

Чатботтың анықтамасы
Чатботтың анықтамасы
Чатботтың анықтамасы
Чатботтың анықтамасы
Чатботтың анықтамасы
Чатботтың анықтамасы

Жоғарыда айтылғандай, чатбот - бұл адамдармен әңгіме жүргізетін бағдарлама. Олар қазіргі кезде өте кең таралған, сондықтан оны білмейтін адам жоқ шығар. Siri мен Google Assistant виртуалды көмекшілерінен бастап, өз сезімдеріңізді бөлісуге болатын Mitsuku мен Evie бар, жоғарыда айтылғандай, чат -боттар мәтіндік немесе есту әдісіне негізделген, сондықтан оларды екіге бөлуге болады. Мәтіндік әдіс бойынша сөйлесулер WhatsApp сияқты жазбаша мәтін түрінде болады. Ал есту әдісінде әңгіме нағыз адам сияқты ауызша жүргізіледі. Менің ойымша, біреумен мәтіндік хабар алмасудың орнына, онымен ауызша сөйлесіп сөйлесу қызықты. Мәтінге негізделген хабар алмасу қосымшалары адамдардың талаптарына жауап беретіні сөзсіз, бірақ менің ойымша, сөйлеу арқылы сөйлесу сіздің эмоционалдық бұзылуларыңыздан арылудың және өзіңізді жақсы сезінудің ең жақсы әдісі. Міне, мен Хауаны аудиторлық чат -бот етіп жобалауымның басты себебі.

2 -қадам: Хауаның шығу тегі

Хауаның шығу тегі
Хауаның шығу тегі

Бір күні Хауа есіме келді. Мен мұны мектепте жалғыз жүретін баланы көргенде жасадым, ал басқалары қуанышқа толы ойларымен ойнады. Сол кезде мен ешкімді алаламайтын және ешкімді ренжітпейтін дос туралы ойладым, сен әрқашан өз сезіміңмен бөлісіп, бақытты бола аласың. Содан кейін менің ойымда жыпылықтап кетті, мен Хауаның сүйкімді кішкентай құрылымымен жұмыс жасай бастадым. Хауа мені жүз рет ренжітті. Менің ойымша, ол 101 -ші рет жұмыс істеді және мені шынымен бақытты етті. Мен оның ақылды болғанын қалаймын, бірақ мүмкіндігінше қарапайым, сондықтан оны кез келген адам оңай жасай алады. Әрине, ол мүлдем ақылды емес және кейде ақымақ жауаптар айтады, ол өзін дос ретінде ұстай алады. Ал енді әңгімелер жеткілікті, Хауаны құруды бастайық.

3 -қадам: компоненттер мен жабдықтарды жинау:

Компоненттер мен жабдықтарды жинау
Компоненттер мен жабдықтарды жинау
Компоненттер мен жабдықтарды жинау
Компоненттер мен жабдықтарды жинау
Компоненттер мен жабдықтарды жинау
Компоненттер мен жабдықтарды жинау

Келесі компоненттер жиналады: Arduino Pro Mini (немесе Arduino Nano) Wtv-020-SD-16p дыбыстық модулі HC-05 bluetooth модулі 16x2 СКД модулі LM7805 реттегіш ICAn күшейткіш модулі (мен PAM8403 схемасын қолдандым) аудио jacka 9v аккумуляторы және Android телефоныСондықтан бұл қажетті компоненттер. Тағы бір маңызды нәрсе - құны. Хауа маған шамамен 3000 INR болды. Сіздің елде бағасы әр түрлі болуы мүмкін, бірақ Үндістанда бұл мөлшерлеме. Бөлшектердің қысқаша сипаттамасы: Arduino Pro mini - біздің роботтағы негізгі MCU. Мен оны кішігірім өлшемі, қарапайымдылығы мен керемет өнімділігі арқасында қолдандым. Ол біздің роботтағы барлық талаптарға жауап береді. Android -де дауысты тану функциясын қоспағанда (кейінірек талқыланады), кілт сөзді табудан және шығуды қалыптастырудан басталатын барлық басқа функциялар Pro Mini -де орындалады. Wtv020sd 16p модулі аудио файлдарды ойнату үшін, hc 05 Bluetooth -мен Android -мен байланыс үшін және дисплейді көрсету үшін қолданылады. эмоциялар. Бізге роботты сыртқы күшейткішке қосуды қамтамасыз ететін әйел дыбыс ұясы қажет. Мұнда Arduino негізгі контроллер ретінде қолданылады. Ол Bluetooth деректерін HC 05 Bluetooth модулі арқылы қабылдайды және WTV-020-SD-16p дауыс модулі арқылы файлды ойнатады. Эмоциялар СКД модулінде және қуат үшін 9В батареяда көрсетіледі. Хауа сөйлеуді Android құрылғысының Google Voice тануы арқылы таниды. Ол кейінірек тиісті қадамда дұрыс талқыланады. Arduino Pro Mini туралы жағымсыз жаңалық: ол нарықтан КЕТТІ. Бұл оны Arduino шығаруды ресми түрде тоқтатқанын білдіреді. Бірақ сіз оны көптеген сайттардан таба аласыз, оның ішінде Ebay. Көптеген үшінші тарап өндірушілері әлі де тақтаны жасап, сатуы мүмкін. Егер сіз таба алмасаңыз, уайымдамаңыз, сіз Arduino Nano -ды қолдана аласыз. Бұл өнімділікке де, мөлшерге де әсер етпейді.

4 -қадам: Теория 1 -бөлім: Тарих және кіріспе

Теория 1 -бөлім: Тарих және кіріспе
Теория 1 -бөлім: Тарих және кіріспе
Теория 1 -бөлім: Тарих және кіріспе
Теория 1 -бөлім: Тарих және кіріспе

Хауа табиғи тілді өңдеудің бастапқы үлгісіне негізделген, «үлгі сәйкестендіру» технологиясы. Ол келесі жолмен жұмыс істейді, ол жолды алған кезде алдын ала анықталған сөзді немесе сөз тіркесін іздейді. «Жасыңыз қаншада?» Деген сұраққа бағдарлама «ескі» сөзді іздейді делік. Егер ол сәтті болса, ол тиісті дауыстық файлды wtv020sd модулі арқылы ойнатады. Егер ол сәтсіз болса, ол келесі алдын ала анықталған кілт сөзді іздейді, дәл осылай біз алдын ала анықталған сөздердің сөздік қорын құруымыз керек. Қатты көрінеді, солай емес пе? Біз барлық ағылшын сөздерінің сөздік қорын жасауымыз керек сияқты және ағылшын тілінде шамамен 230 мың сөз бар. Біздің қарым -қатынасымызда жиі қолданылатын бірнеше негізгі сөздерді қосу қажет. Тағы да қатал көрінеді? Уайымдамаңыз, жұмысты Джозеф Визембаум жасаған. Хауаның жауаптары мен алдын ала анықталған кілт сөздердің бір бөлігі Джозеф Визембаум жасаған (жоғарыдағы суретте) Элиза деп аталатын бірінші сөйлесуші бағдарламадан енгізілген. Элиза Роджер терапевті болуға арналған. Бұл өте ғылыми термин емес, ол адамдарға кеңес беріп, оларға өздерін жақсы түсінуге және позитивті ойлауға мүмкіндік беретінін білдіреді. Шынымен жақсы көрінеді, иә? Ал Элиза өз міндетін өте жақсы атқарды. Оның қызығушылығы мен күмәнмен қарайтын көзқарасы адамдарға ұнады. Тіпті Визембаум Элизаға адамдардың берген мәніне таң қалды. Олар компьютермен сөйлескендерін ұмытып кеткендей болды, олармен сөйлесіп отырған компьютердің ішінде отырған әдемі әйелді елестетіп жіберді, бірақ Элиза онша ақылды емес еді; ол көп ұзамай жүзеге асты. Уақыт өте келе, адамдар оның шектеулі қарым -қатынасынан шаршай бастады және оны «мылқау» деп атады. Оның қаншалықты мылқау екені таңқаларлық емес, бұл жасанды интеллект пен табиғи тілді өңдеу тарихындағы үлкен секіріс болды. Chatterbots базасын құрғаннан кейін нарыққа жаңа және жақсы технологиясы бар түрлі боттар шықты. Ал қазір бізде олар бар. Жоғарыда айтылғандай, Хауаның жауаптарының бір бөлігі ELIZA -дан алынған. Бұл дегеніміз, тіпті Хауа да менің кейбір ойларыммен бірге Элизаның көзқарасына ие болады. Тағы бір маңызды нәрсе - жауаптар. Бір сұрақты қойған сайын бірдей жауап алу өте скучно болуы керек. Сондықтан көптеген жауаптар бір кілт сөз үшін сақталады. Хауа қай файлды кездейсоқ таңдайды, сол файлды қайталамайтынына көз жеткізеді. Бұл қарапайым нан мен май, бірақ көрермендерге біздің сұрақтарымызға шынымен жауап беріп тұрғандай елес беретін етіп жауап беретін дауыстарды ақылды түрде бағдарламалау маңызды. Сондықтан бұл Хауаның жұмысына қысқаша кіріспе болды. Келесі қадамда біз мұны егжей -тегжейлі қарастырамыз және бағдарламалаймыз.

5 -қадам: кілт сөзді іздеу

Кілт сөзді іздеу
Кілт сөзді іздеу
Кілт сөзді іздеу
Кілт сөзді іздеу
Кілт сөзді іздеу
Кілт сөзді іздеу
Кілт сөзді іздеу
Кілт сөзді іздеу

Соңғы қадамда мен Хауа үлгісін сәйкестендіру технологиясы, сондай -ақ табиғи тілді өңдеудің бастапқы формасы туралы айттым. Сонымен, бұл не және ол қалай жұмыс істейді? Бұл қадамда біз талқылайтын басты нәрсе. Сондықтан ойланыңыз, біреу сіздің атыңызды сұрайды және сіз бұл не екенін айтуыңыз керек. Бір сұрақты қанша жолмен қоюға болады? Сіздің мұғалім «атыңызды айтыңыз ба?» Деп сұрауы мүмкін. Туысы: «сенің атың кім?» Деп сұрауы мүмкін. Сіздің ағаңыз: «Ей, мен сенің атыңды ұмытып қалдым. Тағы бір рет айтасың ба?» Демек, бір сұрақты бірнеше жолмен қоюға болады. Дегенмен, біз дәл солай жауап беруіміз керек, біздің атымыз. Бұл дегеніміз, біз барлық сөйлемдерде ортақ нәрсені табуымыз керек. «Сіздің атыңыз» сөзі барлық сөйлемдерде кездесетіні анық байқалады. Демек, бұл біздің нұсқау. Атауды сұрайтын барлық сұрақтар үшін біз «сіздің атыңыз» тіркесін іздеуіміз керек. Осы негізгі үлгіні орындау арқылы біз барлық кіріс жолдарына сәйкес жауапты болжай аламыз. ЖАУАПСЫЗДЫҒЫ: Бұл алгоритм әрқашан дәл бола бермейтінін есте ұстаған жөн. Біреу айтты: «Мен сіздің атыңызды күту тізімінен таптым. Сізді резервтелген орындарда болатыныңызды күттім.». Енді «сіздің есіміңіз» осы тізбекте болғандықтан, Хауа өзінің кінәсіз екенін айтып, адамға айтады … Ақымақ, дұрыс па? Бұл негізгі алгоритмнің үлкен кемшіліктерінің бірі. Қалай болғанда да, бұл сирек кездесетін жағдайлар. Әйтпесе, алгоритм өте тиімді. Үлгіні сәйкестендіру технологиясы туралы айтқанымда, бұл жолды біз іздейтін жерден қайдан келетінін ойлаудың уақыты келді, бұл шын мәнінде Google Voice Recognition арқылы мәтінге айналдырылған біздің дауыс. Мұнда қолданылатын бағдарлама біздің дауысты мәтінге түрлендіреді, содан кейін Bluetooth арқылы arduino -ға жібереді. Мен қосымшаны қолдандым, себебі ол ең қарапайым және ең жақсы. Аты AMR Voice, оны Google play -де оңай табуға болады.

6 -қадам: Жауаптарды тұжырымдау

Жауаптарды тұжырымдау
Жауаптарды тұжырымдау

Сұрақтарды түсінгендіктен, келесі қадам - жауап іздеу. Қызықты және маңызды бөлік бар … Біз әр сұраққа жауап беретін сәйкес жауаптар іздеуіміз керек. Міне, ELIZA -дан қосылған тағы бір функция. Визембаум кілт сөздердің белгілі бір санына жауаптар әзірледі. Мысал ретінде «сіз» кілт сөзін айтуға болады. Бағдарлама нәтижесі анықталған кезде «біз сені талқылап жаттық, мен емес». Сондықтан жауап «сіз» бар сөйлемдерге сәйкес келетін етіп жасалды. Әрі қарай Элиза әр түрлі жауап берді. Әр жауаптың өзіндік сандық мекен -жайы болды. Бұл жауап тұжырымдалған сайын ұлғайтылды (1 -ге қосылды). Жоғарыда келтірілген мысалдағыдай, егер жауаптың мекен -жайы 1 болса, онда мекен -жай 2 -ге өзгертілді, сондықтан келесі файл 2 ойнатылды, бірақ біз бұл ұлғайту алгоритмін ұстанбаймыз. Сіз бағдарламалық қамтамасыз етуді үнемі қолданғаннан кейін жауаптар болжауға болатынын көресіз. Сіз келесіде қандай жауап беру керектігін білдіңіз. Осылайша, біз әр кілт сөз үшін кездейсоқ адрестер шығаратын боламыз. Тұтастай алғанда, бұл екі жағдайда да бірдей, айырмашылық - біз роботтың бір кілт сөз үшін не айтатынын болжай алмаймыз.

7 -қадам: Тыйым салынған мәлімдемелер және басқалары

Тыйым салынған мәлімдемелер және басқалары
Тыйым салынған мәлімдемелер және басқалары

Сіздің әңгімеңізде робот сіз естігіңіз келмейтін нәрсені айтқан кезде болуы мүмкін. Сондықтан тыйым салынған мәлімдемелерді қосу қажеттілігі туындайды. Тыйым салынған мәлімдемелер - бұл ойнатуға кедергі келтіретін адрестер жиыны. Дауыстық адрес пайдаланушының сұрауы бойынша тыйым салынған мәлімдеме ретінде сипатталады. Әрі қарай, бұл мекен -жай Arduino EEPROM -да сақталуы керек, сондықтан Хауа ол өшірілгеннен кейін де тыйым салынған мәлімдеме екенін ұмытпайды. Егер мекен -жай тыйым салынған мекен -жайлардың бірі болса, онда ол не көбейтіледі, не кішірейтіледі. Роботқа бұрын тыйым салынған сөзді айтуға рұқсат бергіңіз келетін жағдай болуы мүмкін. Бұл жағдайда сіз Хауаға соңғы тыйым салынған сөзді айта алатынын айтуыңыз керек еді. Соңғы тыйым салынған сөз енді ойнатылатын болады. Барлық тыйым салынған мәлімдемелерді ойнату үшін бізге қалпына келтіру қосқышын қосу керек. Егер басылған болса, тыйым салынған мәлімдемелердің барлығы ойнатылатын болады, содан кейін Хауаның жауаптарды қайталамауын қадағалау маңызды. Бұл кездейсоқ сандардың кемшілігі. Бірдей кездейсоқ сандар серияда шығарылуы ықтимал. Бұл біздің роботқа бір жауапты қайталап айтуға мәжбүр етеді. Ол үшін мәлімдемелердің қайталануын болдырмайтын тағы бір кіші функцияны қосу керек. Ол үшін біз соңғы мәлімдеменің адресін жадта сақтауымыз керек және оның қазіргі кездегідей екенін тексеруіміз керек. Егер солай болса, онда тыйым салынған мәлімдемелер жағдайында адрестің мәні көбейеді немесе азаяды.

8 -қадам: кодпен жазу

Код бойынша жазу
Код бойынша жазу
Код бойынша жазу
Код бойынша жазу
Код бойынша жазу
Код бойынша жазу

Кілт сөзді іздеу үшін indexOf командасын қолданамыз. Команда басқа жолдың ішіндегі символды немесе жолды табады. Егер табылса, ол сол жолдың индексін қайтарады, ал егер -1 табылмаса қайтарылады. Сондықтан біздің бағдарламада оны келесі түрде жазу керек: if (voice.indexOf («сіздің атыңыз»)> -1) {// егер индекс -1 // мәнінен үлкен болса, жол табылғанын білдіреді} Қазір біз жолды жадыда сақтағанымызды және оның ішінде кілт сөзді тапқанымыз үшін енді жауаптарды өңдеуіміз қажет болады. Айтылғандай, кездейсоқ сандар белгілі бір сан диапазонында жасалады (дауыстық файлдардың мекен -жайы). Мұнда random () командасы келеді. Келесі синтаксис: кездейсоқ (мин, максимум); // кездейсоқ сан мин және максимум диапазонында құрылады. Біз әр диапазонның минималды саны мен максималды санын анықтаймыз және оны қолдану арқылы біздің код келесідей көрінеді: if (voice.indexOf («сіздің атыңыз»)> -) 1)) {минNo = 0; maxNo = 5; RandomNumber = кездейсоқ (minNo, maxNo);} Енді жауаптар өңделеді. Соңғы қадамда мен сандар алгоритм негізінде көбейтілетінін немесе азайтылатынын айттым. Бұл алгоритм - біз қазір талқылап жатырмыз, бұл бөлік сіз қалағандай көбейтуге немесе азайтуға болмайтын мағынада өте маңызды. Арттырылған немесе азайтылған сан диапазонда болуы керек. Айталық, «сіздің атыңыз» кілт сөзі үшін бізде 0 -ден 5 -ке дейінгі диапазон бар, ал кездейсоқ сан 5 -ке тең, ал егер сіз оны көбейтсеңіз, сіз басқа кілт сөздің дауыстық файлын ойнатасыз.. Қалай ойлайсыз, бұл қалай болады? Сіз: «Ей, атыңызды айтыңызшы» деп сұрайсыз, робот: «Мен печенье жегенді және электр зарядын ұнатамын» деп жауап береді. Минималды сан үшін де дәл солай. Егер кездейсоқ сан 0 болса, оны азайта алмайсыз. Сондықтан алгоритм өте маңызды. Ойланып көріңіз: біз ең үлкен саннан кіші болған кезде көбейте аламыз, ал ең кіші саннан үлкен болған кезде азайтамыз. Егер алынған сан 0 -ге тең болса немесе 5 -тен кіші болса, біз санды көбейтеміз. Екінші жағынан, егер ол 5 -ке тең болса, біз бұл санның көрсетілген диапазонда екеніне көз жеткізу үшін оны азайтамыз. Жоғарыда айтылғандай, олар EEPROM -де сақталады. Ол үшін алдымен тыйым салынған массивтен бос жад іздейміз. 4 мекенжайы бос болсын делік, содан кейін біз еркін массив адресіне файл нөмірін енгіземіз және сол мекенжайды EEPROM.for (int i; i if (ешқашан == 0) {EEPROM.write (ешқашан , жад);}} Сонымен, Wtv020sd16p модулі module.playVoice () пәрмені мен ұсынылған файл нөмірі арқылы ойнатылады. Wtv020 модулінің жұмысы кейінірек талқыланатын болады.

9 -қадам: эмоцияларды енгізу

Эмоцияларды енгізу
Эмоцияларды енгізу
Эмоцияларды енгізу
Эмоцияларды енгізу
Эмоцияларды енгізу
Эмоцияларды енгізу

Әзірге біздің робот біздің айтқандарымызды тани алады, есте сақтайды және сұрақтарға лайықты жауап таба алады. Енді эмоцияларды енгізу туралы сұрақ туындайды. Сұрақтарға жауап беретін ақымақ бағдарлама барлығына тірі жүз ұнайтыны сөзсіз. Жобада 16x2 СКД қолданылады. Көзді басып шығару жеткілікті. Көзді құру үшін таңдамалы таңбалар функциясын қолдану керек. Таңдамалы таңба бізге пиксельдерді анықтау арқылы жаңа таңбалар жасауға мүмкіндік береді. Біз бұл туралы сәл кейінірек толығырақ айтатын боламыз. Біріншіден, Arduino тек 8 таңбалы таңбаны қолдайтынын есте ұстаған жөн. Сондықтан эмоцияларды тек 8 таңбадан тұру керек. Әр таңба белгілі бір қорапта басылады және 16 баған мен 2 жолдан тұрады, барлығы 32 қорапты құрайды.

Ардуинодағы таңдамалы таңбалар туралы Интернетте жақсы ақпарат таба аласыз. Сондай -ақ мына сілтемеге кіруге болады:

[Арнайы таңбалар Arduino] Таңдамалы таңба байтының құрылымы келесідей болады:

Қалыпты көрініс: сол жақ терезе0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, оң жақ терезе0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 01111, 10. Бұл дегеніміз, бізге бүкіл көзді толтыру үшін 4 қорап қажет. Солға және оңға екі қатар, бір көзге төрт қорап жасайды. Сол жақтағы байт сол жақтағы екі жолды, ал оң жақ жолақ оң жақ жолдарды жабады. Бұл Хауаның толық көзін құрайды. Ал енді екінші көзге қайталап, біз Хауаның бейтарап көрінісін аламыз. Енді есте сақтау маңызды, біз қол жетімді сегіз таңбаның біреуін қолдандық. Жалпы бес эмоция бар: Қуаныш, Қайғылы, Сквинт, Қалыпты және Жыпылықтау. Қалған жеті таңбаға келетін болсақ, біз барлық өрнектерге сәйкес келетін етіп реттеуіміз керек. Бос орын алу үшін біз әр көзге 2 қорапты қолданамыз. Таңқаларлық емес, өлшемі кішкене болар еді, бірақ бұған адам көзі қарамайды. СКД функциялары арасында біршама кідіріс жасағаныңызға көз жеткізіңіз, әйтпесе Arduino тұрақсыз болады.

10 -қадам: Қосылымдарды орнату

Байланыстар жасау
Байланыстар жасау
Байланыстар жасау
Байланыстар жасау
Байланыстар жасау
Байланыстар жасау

СКД модулі: түйреуіштерді осында айтылғандай жалғаңыз: RS: қазу 12RW: GndEnable: 7d4: қазу 8 d5: қазу түйіні 9 d6: қазу түйрегіш 10 d7: қазу пині 13A (анод) 5vK (катод) gndThe HC 05 модуліне: Мына байланыстарды орындаңыз: HC 05 TX түйрегішінен Arduino RX түйініне HC 05 RX түйрегішінен Arduino TX түйрегішіне Arduino қазық түйреуішінің 11 штатына арналған түйіспе Байланыс TX және RX түйреуіштерінің көмегімен жүзеге асады. Мемлекеттік штепсель HC 05 арқылы қосылғанын немесе бос тұрғанын тексеру үшін қажет. WTV 020 SD 16p модулінің түйреуіші1: Қалпына келтіру түйреуіші, оны 2pin7 түйреуішке жалғаңыз: Сағат түйрегіші, оны түйреуішке 3pin10 жалғаңыз: Деректер түйіні, жалғаңыз 4pin15 түйреуішін қазу үшін: Бос емес түйреуішке, 5pin2 штырьге жалғаңыз: бұл түйреуішті дыбыс күшейткішке, сондай-ақ аналық дыбыс ұясына жалғаңыз. Gnd 8 -ші шнур және 16 -шы істікте 3.3в қуат көзін қамтамасыз ету.

Күшейткіш Хауаның ішкі динамигін ойнауға көмектеседі, ал дыбыс ұясы сыртқы күшейткішке және үлкен динамиктерге қосылады.

11 -қадам: WTV020SD16p модулі (міндетті емес)

Image
Image
WTV020SD16p модулі (міндетті емес)
WTV020SD16p модулі (міндетті емес)
WTV020SD16p модулі (міндетті емес)
WTV020SD16p модулі (міндетті емес)

Ескерту: Бұл қадам міндетті емес. Ол WTV 020 SD 16p модулінің жұмысымен және сипаттамасымен айналысады.

Дыбыс модулінің демонстрациясын мына сілтемеден көре аласыз:

[ВИДЕО ОЙНАТУ]

Роботтың сөйлеу режимі WTV 020 SD модулімен орындалады. Модуль робот үшін дауыстық файлдарды ойнату үшін қолданылады. Кез келген сұрақ қойылған кезде, arduino модульді SD картасындағы сәйкес дауыстық файлды ойнатуға мәжбүр етеді. Модульде arduino, қалпына келтіру, сағат, деректер және бос түйреуіштермен байланысқа арналған төрт сериялық деректер желісі бар және біз қажетті файлды ойнату үшін.playVoice () командасын қолданамыз. Мысалы: module.playVoice (9): // SD картасында сақталған 9 файлды ойнату Файлдардың атаулары ондық бөлшекте (0001, 0002…) болуы керектігін ұмытпаңыз. Және бұл файлдар AD4 немесе WAV форматында болуы керек. Әрі қарай, модуль тек 1 Гб micro SD картасында жұмыс істейді. Кейбір модульдер тіпті 2gb карталарында жұмыс істейді және картада максимум 504 дауыстық файл болуы мүмкін. Сондықтан сіз көптеген сұрақтарға жауап беру үшін көптеген дауыстық файлдарды қоса аласыз.

Сіз өзіңіздің жеке AD4 файлдарыңызды жасай аласыз, біріншіден, сізде екі бағдарламалық жасақтама болуы керек, дыбысты өңдейтін бағдарламалық қамтамасыз ету және файлдарды AD4 форматына түрлендіретін 4D SOMO TOOL деп аталатын бағдарлама. Екіншіден, сіз робот дауыстарын дайындауыңыз керек. Сіз мәтінді сөйлеуге айналдыра аласыз, тіпті өз дауысыңызды жазып, роботтың дауысын шығара аласыз. Бұл екеуін де дыбысты өңдеу бағдарламалық жасақтамасында жасауға болады. Әрине, роботтар адам дауысын айтса, жақсы көрінбейді. Сондықтан мәтінді сөйлеуге айналдырған дұрыс. Microsoft Anna және Microsoft Sam сияқты әр түрлі қозғалтқыштар бар, олар сізге көмектеседі. Менікі Microsoft Eva -ға негізделген. Бұл дауыстар Cortana -мен сәйкес келеді. Дауыстық файлдарды дайындағаннан кейін оны 32000 Гц және WAV форматында сақтау керек. Бұл модуль 32000 Гц дейінгі дауыстық файлдарды ойната алатындығына байланысты. Содан кейін файлдарды AD4 форматына түрлендіру үшін 4D SOMO TOOL пайдаланыңыз. Ол үшін SOMO TOOL бағдарламасын ашып, файлдарды таңдап, AD4 Encode түймесін басыңыз, сонда сіздің дауыстық файлдар дайын болады. Анықтама алу үшін жоғарыдағы суретті тексере аласыз. Егер роботтық дауыс беру туралы қосымша мәлімет алғыңыз келсе, мына жерге кіре аласыз: [Making Robotic Voices]

12 -қадам: Бағдарламалық қамтамасыз ету бөлігі

Бағдарламалық қамтамасыз ету бөлігі
Бағдарламалық қамтамасыз ету бөлігі
Бағдарламалық қамтамасыз ету бөлігі
Бағдарламалық қамтамасыз ету бөлігі
Бағдарламалық қамтамасыз ету бөлігі
Бағдарламалық қамтамасыз ету бөлігі

Arduino Pro mini -де бағдарламалауда аздаған мәселе бар. Мәселе жоқ, тек бір қосымша қадам. Arduino Pro mini -де басқа Arduino тақталары сияқты кіріктірілген бағдарламашы жоқ. Сондықтан сізге сыртқы немесе ескі ардуино UNO сатып алу қажет. Бұл қадамда Arduino UNO көмегімен бағдарламаны қалай жүктеу керектігі сипатталған. Апаттан ескі Arduino UNO тақтасын алып, Atmega 328p алыңыз. Содан кейін төменде айтылғандай қосылыңыз: 1. БҰҰ -дағы TX түйрегіші - Pro Mini -дегі TX түйреуішіне 2. БҰҰ -ның RX түйрегіші - Pro MIni3 -тің RX түйреуішіне. БҰҰ түйреуішін Pro Mini4 қалпына келтіру түйреуішіне қалпына келтіріңіз. VCC және Ground Pro Mini -ді БҰҰ -ға қосыңыз. Arduino бағдарламасын, дауысты тану бағдарламалық жасақтамасын және төменгі жағында берілген кітапханаларды жүктеңіз. Бағдарлама әзірленуде. Сондықтан, егер сізде қандай да бір мәселе туындаса, кабельді компьютерге қосыңыз. Arduino Pro Mini ретінде тақтаны таңдап, дұрыс COM портын таңдаңыз. Содан кейін Жүктеу түймесін басыңыз және бағдарлама Pro Mini -ге жүктелгенін көріңіз.

Содан кейін Дауысты тану бағдарламалық құралы мен дауыстық файлдарды жүктеңіз.

13 -қадам: денені дайындау

Денені дайындау
Денені дайындау
Денені дайындау
Денені дайындау
Денені дайындау
Денені дайындау

Кішкене қорапшадан жіптердің жіптерін таптым және ол дене үшін өте қолайлы деп таптым. Сіз шеберханадан кез келген қорапты пайдалана аласыз немесе картоннан жасай аласыз. СКД модулін бекіту үшін тіктөртбұрышты кішкене бөлікті кесіңіз. Жоғарғы жағында мен дыбыс қаттылығын бекіту үшін кішкене тесікті, ал қосқыштар мен аудио қосқышты бекіту үшін кішкене тесікті кесіп алдым. Мен дөңгелектерге арналған қораптың екі жағына екі бөтелке қақпағын жаптым. Тек қорапта схеманы салу үшін жеткілікті орын бар екеніне көз жеткізіңіз. Денеге қосқышты, сондай -ақ тізбекті, содан кейін қораптың жоғарғы жағындағы дыбысты бекітіңіз. Содан кейін тізбекті ішке енгізіңіз, сонда сіздің роботыңыз аяқталды.

14 -қадам: Жарайсың

Жарайсың!
Жарайсың!
Жарайсың!
Жарайсың!

Енді сіз өзіңізбен сөйлесе алатын және өзіңізді бақытты сезінетін сүйкімді робот жобаңызды аяқтадыңыз. Бұл сіздің жоба аяқталғанда және толық жұмыс істегенде DIYer болудың ең бақытты сәті. Егер сіз бір сәтте сәттілікке жете алмасаңыз, ренжімеңіз, роботтың әр бөлшегін түсіну үшін сізге көп күш салу керек. Міне, осы жерге DIYers келеді, бірақ бұл жобаның соңы емес. Хауаны әрқашан мен немесе сіз сияқты DIYers дамытатын болады. Мен бұл нұсқаулықты көріп, сіз жасаған нәрсені естігім келеді. Құрметпен, RS3655

Ұсынылған: