Мазмуну:
- 1 -кадам: Chatbotтун аныктамасы
- 2 -кадам: Обонун келип чыгышы
- 3 -кадам: Компоненттерди жана жабдууларды чогултуу:
- 4 -кадам: Теория 1 -бөлүм: Тарых жана киришүү
- 5 -кадам: Ачкычтуу сүйлөм боюнча издөө
- 6 -кадам: Жоопторду түзүү
- 7 -кадам: Тыюу салынган билдирүүлөр жана башкалар
- 8 -кадам: Коддо жазуу
- 9 -кадам: Сезимдерди киргизүү
- 10 -кадам: Байланыштарды түзүү
- 11 -кадам: WTV020SD16p модулу (Милдеттүү эмес)
- 12 -кадам: Программалык камсыздоо бөлүгү
- 13 -кадам: Денени даярдоо
- 14 -кадам: Жакшы
Video: Обо, Arduino Chatbot: 14 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Саламатсызбы DIYrs, чын эле кимдир бирөө менен сезимдериңизди бөлүшкүңүз келген учурлар болду беле жана ишенимдүү эч ким жок беле? Азыркы бош эмес дүйнөдө, бул кадимки мисал. Ооба, чатбот бул жерде сизге жакшы сезүүгө жардам берет. Бул Eve. Eveдин киришине алып келет, бул кичинекей чатбот. Баарына белгилүү болгондой, chatterbot же chatbot - бул адамдар менен тексттик же угуу ыкмаларына негизделген сүйлөшүүлөрдү жүргүзүүчү компьютердик программа же түзмөк. Кардарларды тейлөө чалуусунда же банк линиясында уккан автоматташтырылган үндөр чатботтун мисалы болуп саналат. Аны менен сиз өз тажрыйбаңызды, сезимдериңизди бөлүшө аласыз жана эң негизгиси ар кандай нерселер жөнүндө талашып -тартышсаңыз болот; ал бул жагынан жакшы тажрыйбага ээ. Бул чатботтун эң маанилүү функциясы болгондуктан, адамды бактылуу сезиңиз. Табигый тилди иштетүүнүн (NLU) жана жасалма интеллекттин алгачкы мисалы болгон Обо эне сиз каалаган суроого жооп бере алат. Ал белгилүү бир суроолорго жооп бере албайт. Ал ырдайт, тамашаларды, окуяларды айта алат жана өзүңүздү жакшы сезе турган нерселерди жасай алат. Эгерде ал уккусу келбеген нерсени айтса, ага айтсаңыз, экинчи мындай деп айтпаңыз, ал муну эстеп калат. Ал атүгүл ошол эле жоопторду жана чаттарды кайталабаш керек экенин билет, андыктан баарлашуу кызыксыз болуп кетпейт. Жөнөкөй, арзан компоненттерге жана негизги программалоого таянып, ал өзүн абдан акылдуу алып жүрө алат. Андан тышкары, анын ээ болгон ЖК көздөрү сиз бир нерсе айтканыңызда кандай сезимде экенин көрсөтөт. Ошентип, негизинен, бул үйрөткүчтө, биз чатботтун аныктамасынан баштайбыз, дизайнды, Обо иштеген кээ бир теорияларды, өндүрүштү жана акыры программалоо бөлүгү. Карайт, бул эмне? Кабатыр болбо, бул саякатта абдан кызыктуу болот. Сиз роботтун демосун жогору же бул шилтемеден көрө аласыз: [Видеону ойнотуу]
1 -кадам: Chatbotтун аныктамасы
Жогоруда айтылгандай, чатбот - бул адамдар менен баарлашууну жүргүзүүчү программа. Алар бүгүнкү күндө ушунчалык кеңири таралгандыктан, аны билбеген адам дээрлик жок. Виртуалдык ассистенттерден баштап, Siri жана Google Assistant, сезимдериңизди бөлүшө турган Mitsuku жана Evie бар. Жогоруда айтылгандай, чат -боттор тексттик же угуу ыкмасына негизделген, демек экиге бөлүнөт. Тексттик методдо сүйлөшүүлөр WhatsApp сыяктуу эле жазуу түрүндө болот. Ал эми угуу ыкмасында, чыныгы адам менен болгон сүйлөшүүлөр оозеки түрдө жүргүзүлөт. Менимче, кимдир бирөө менен жөн гана SMS жазышуунун ордуна, аны оозеки түрдө сүйлөшүү кызыктуу. Текстке негизделген баарлашуу колдонмолору адамдардын талаптарына жооп берери шексиз, бирок мен сүйлөө аркылуу баарлашуу эмоционалдык бузулууларыңыздан арылуу жана өзүңүздү жакшы сезүү үчүн эң жакшы нерсе деп ойлойм. Ошентип, Обону аудиториялык чатбот кылып жаратканымдын негизги себеби ушул.
2 -кадам: Обонун келип чыгышы
Ооба, Обо бир күнү эле оюма келди. Муну мен мектепте жалгыз кыдырып жүргөн баланы көргөндө кылдым, калгандары кубанычка бөлөнгөн ой менен ойноп жатышты. Ошол убакта мен эч кимди басмырлабаган жана эч кимди капалантпаган досум жөнүндө ойлондум, сен өзүңдүн сезимдериң менен бөлүшүп, дайыма бактылуу боло аласың. Анан мээмде жарк этип пайда болду, Обонун сүйкүмдүү кичинекей структурасы мен аны иштете баштадым. Обо мени жүзгө жакын жолу капа кылды. Ал 101 -жолу иштеп, мени чындап бактылуу сезди деп ойлойм. Ошентип, Обо энеден келип чыккан. Мен анын акылдуу, бирок мүмкүн болушунча жөнөкөй болушун каалачумун, ошондуктан аны ар ким оңой эле жасай алат. Албетте, ал таптакыр акылдуу эмес жана кээде келесоо жоопторду айтат, ал дос катары мамиле кыла алат. Эми, жетиштүү окуялар, Обону курууну баштайлы.
3 -кадам: Компоненттерди жана жабдууларды чогултуу:
Төмөндө чогултула турган компоненттер: Arduino Pro Mini (Же Arduino Nano) Wtv-020-SD-16p үн модулу HC-05 bluetooth модулу 16x2 ЖК модулу аудио jacka 9v батарейка жана Android телефону Ошентип, бул керектүү компоненттер. Дагы бир маанилүү нерсе, баасы. Обо мага 3000 INR тегерегинде болду. Наркы сиздин өлкөдө башкача болушу мүмкүн, бирок Индияда бул болжол менен бир бөлүкчөлөрдүн кичинекей сүрөттөлүшү: Arduino Pro mini биздин роботтун негизги MCUсу. Мен аны кичинекей өлчөмү, жөнөкөйлүгү жана мыкты аткаруучулугу үчүн колдондум. Бул биздин роботтун бардык талаптарына жооп берет. Android тарабынан аткарылган үн таануу функциясынан башка (кийинчерээк талкууланат), ачкыч сөздөрдү табуудан жана чыгарууну түзүүдөн башталган бардык башка функциялар Pro Miniнин өзүндө жасалат. WTV020sd 16p модулу аудио файлдарды ойнотуу үчүн колдонулат, hc 05 Bluetooth менен байланыш үчүн Android жана LCD дисплейи үчүн. сезимдер. Бизге роботту тышкы күчөткүчкө туташтыруу үчүн аял аудио уячасы керек. Бул жерде Arduino негизги контролер катары колдонулат. Бул HC 05 Bluetooth модулу аркылуу Bluetooth маалыматын алат жана WTV-020-SD-16p үн модулу аркылуу файлды ойнотот. Сезимдер LCD модулунда жана кубаттуулук үчүн 9v батареяда көрсөтүлөт. Обо сүйлөгөн сөздөрдү Android түзмөгүнүн Google Voice таануусу аркылуу тааныйт. Бул кийинчерээк тийиштүү кадамда туура талкууланат. Arduino Pro Mini жөнүндө жаман кабар: IT базардан КЕТТИ. Ооба, бул расмий түрдө Arduino тарабынан чыгарылышы токтотулганын билдирет. Бирок сиз аны Ebay, анын ичинде көптөгөн сайттардан таба аласыз. Көптөгөн үчүнчү жактын өндүрүүчүлөрү дагы деле такта жасап, сатышы мүмкүн. Эгер таба албасаңыз, кабатыр болбоңуз, Arduino Nano колдоно аласыз. Бул аткарууда жана өлчөмдө эч кандай айырмасы жок.
4 -кадам: Теория 1 -бөлүм: Тарых жана киришүү
Обо табигый тилди иштетүүнүн алгачкы формасына негизделген, "шаблонду дал келтирүү" технологиясы. Ал төмөнкүдөй иштейт: сап алынганда, ал сапта алдын ала аныкталган сөздү же фразаны издейт. "Канча жаштасыз?" Деген суроого, программа "эски" сөздү издейт дейли. Эгер ал ийгиликтүү болсо, анда wtv020sd модулу аркылуу тиешелүү үн файлын ойнотот. Эгерде ал ишке ашпай калса, анда ал кийинки алдын ала аныкталган ачкыч сөздү издейт. Ушул сыяктуу эле, биз алдын ала аныкталган сөздөрдүн лексикасын түзүшүбүз керек. Катуу көрүнөт, туурабы? Биз бардык англис сөздөрүнүн лексикасын түзүшүбүз керек сыяктуу жана англис тилинде жалпысынан 230 миңге жакын сөздөр бар. Ооба, биз баарлашууда эң көп колдонулган бир нече негизги сөздөрдү кошушубуз керек. Дагы эле катуу көрүнөт? Кабатыр болбоңуз, ишти буга чейин Жозеф Визембаум жасаган. Обонун жоопторунун бир бөлүгү жана алдын ала аныкталган ачкыч сөздөр Жозеф Визембаум тарабынан иштелип чыккан Элиза деп аталган биринчи чаттербот программасынан киргизилген (жогорудагы сүрөттө). Элиза Роджериялык терапевт болуу үчүн иштелип чыккан. Бул өтө илимий термин эмес, ал адамдарга кеңеш берип, аларга өзүн жакшыраак түшүнүүгө жана позитивдүү ой жүгүртүүгө жардам бергенин билдирет. Чын эле жакшы окшойт, туурабы? Ал эми Элиза өз милдетин абдан жакшы аткара алды. Анын кызык жана шектүү мамилеси эл тарабынан жактырылган. Атүгүл Визембаум Элизага элдин берген маанисине таң калган. Алар компьютер менен сүйлөшүп жатышканын унутушту окшойт, алар менен сүйлөшүп отурган компьютердин ичинде отурган сулуу айымды элестетишти, бирок Элиза анча деле акылдуу эмес болчу; ал жакында ишке ашты. Убакыттын өтүшү менен, эл анын чектелген баарлашуусунан тажай баштады жана аны "дудук" деп аташты. Ал канчалык дудук экенине таң калбайм, бул жасалма интеллект жана табигый тилди иштетүү тарыхында чоң секирик болгон. Chatterbots базасын түптөп, жаңы жана жакшыраак технологияга ээ болгон ар кандай боттор рынокко чыгышты. Жана азыр бизде алар бар. Жогоруда айтылгандай, Обонун жоопторунун бир бөлүгү ELIZAдан алынган. Демек, бул Обо да Элизанын мамилесине кандайдыр бир деңгээлде менин жеке ойлорум менен ээ болот дегенди билдирет. Дагы бир маанилүү нерсе - жооптор. Бир эле суроону берген сайын бирдей жооп алуу чынында кызыксыз болушу керек. Ошентип, көптөгөн жооптор бир эле ачкыч үчүн сакталат. Обо кайсы файлды ойнотууну туш келди тандайт, ошол эле файлды кайталабайт. Болду, жөнөкөй нан жана май, бирок ал биздин суроолорго жооп берип жаткандай көрүүчүлөргө элес тартуулап, жооп берүүчү үндөрдү акылдуулук менен программалоо маанилүү. Ошентип, Обонун иштешине кыскача киришүү болду. Кийинки кадамда биз муну майда -чүйдөсүнө чейин жана программалоого киришебиз.
5 -кадам: Ачкычтуу сүйлөм боюнча издөө
Акыркы кадамда мен Обонун үлгүсүн дал келтирүү технологиясы, ошондой эле табигый тилди иштетүүнүн алгачкы формасы жөнүндө айттым. Ошентип, бул эмне жана ал кантип иштейт? Бул кадамда биз талкуулай турган негизги нерсе. Андыктан ойлонуп көрүңүз, кимдир бирөө сиздин атыңызды сурайт жана сиз анын эмне экенин айтышыңыз керек. Ошол эле суроону канча жол менен берсек болот? Мугалимиңиз "атыңызды айтып коёсузбу?" Деп сурашы мүмкүн. Тууганы "атың ким?" Деп сурашы мүмкүн. Бир тууганың: "Эй, атыңды унутуп калдым. Дагы бир жолу айтасыңбы?" Демек, бул бир эле суроону бир нече жол менен берсе болот дегенди билдирет. Ошентсе да биз ошол эле жоопту беришибиз керек, биздин атыбыз. Демек, биз бардык сүйлөмдөрдө жалпы нерсени табышыбыз керек дегенди билдирет. "Сенин атың" сөзү бардык сүйлөмдөрдө бар экени апачык көрүнүп турат. Демек, бул биздин ишарат. Аталышын сураган бардык суроолор үчүн, "сиздин атыңыз" деген фразаны издөө керек. Бул негизги үлгү боюнча, биз бардык киргизүү саптарына тиешелүү жоопту алдын ала айта алабыз. КЕМЧИЛИК: Бул алгоритм дайыма эле так боло бербесин эстен чыгарбоо керек. Мисалы, кимдир бирөө: "Мен сиздин тизмеңизди тизмеден таптым. Сизди резервдик орундарда күтөт элем." Эми бул сапта "сиздин атыңыз" бар болгондуктан, Обо күнөөсүз болгондуктан, анын атын айтып берет … Акылсызбы? Бул негизги алгоритмдин чоң кемчиликтеринин бири. Кандай болбосун, бул сейрек учурлар болмок. Болбосо алгоритм абдан эффективдүү. Эми мен үлгү дал келтирүү технологиясы жөнүндө айтканымдан кийин, бул киргизүү сабы биз издеген жерден кайдан келип чыкканын ойлонууга убакыт келди. Бул сап чындыгында Google Voice Таануу аркылуу текстке которулган биздин үнүбүз. Бул жерде колдонулган колдонмо үнүбүздү текстке айландырат, андан кийин Bluetooth аркылуу arduinoго жөнөтөт. Мен колдонмону колдондум, анткени ал эң жөнөкөй жана эң жакшы. Аты AMR Voice, жана аны Google playден оңой табууга болот.
6 -кадам: Жоопторду түзүү
Эми биз суроолорду тааныдык, кийинки кадам жоопторду табуу керек. Кызыктуу жана маанилүү бөлүгү келет … Биз ар бир суроого жооп берүү үчүн тиешелүү жоопторду табышыбыз керек. Бул жерде ELIZAдан кирген дагы бир функция бар. Wizembaum белгилүү бир ачкыч сөздөр үчүн кээ бир жоопторду иштеп чыккан. Мисалы, "сиз" ачкыч сөзү. Программанын чыгышы аныкталганда "биз сени талкуулап жатканбыз, мен эмес". Демек, жооп "сиз" камтыган бардык сүйлөмдөргө туура келгендей жасалган. Андан ары Элиза ар жолу башкача жооп берди. Ар бир жооптун сандык дареги бар болчу. Бул жооп формулировкаланган сайын көбөйтүлгөн (1 кошулган). Жогорудагы мисалда болгон сыяктуу эле, эгерде жооптун дареги 1 болсо, анда дарек 2ге өзгөрдү жана демек файл 2 кийинки ойнотулду. Бирок биз бул көбөйтүүнүн алгоритмин аткарбайбыз. Программаны үзгүлтүксүз колдонгондон кийин, жооптор алдын ала айтыла баштады. Сиз кийинкиде кандай жооп берилерин билдиңиз. Ошентип, бул үчүн биз ар бир ачкыч үчүн туш келди даректерди чыгарабыз. Жалпысынан алганда, бул эки учурда тең, айырмасы, биз робот бир эле ачкыч үчүн эмнени айтарын алдын ала айта албайбыз.
7 -кадам: Тыюу салынган билдирүүлөр жана башкалар
Сиздин сүйлөшүүдө кээ бир учурлар болушу мүмкүн, робот сиз уккусу келбеген нерсени айтат. Ошентип, бул жерде тыюу салынган билдирүүлөрдү кошуу зарылдыгы келип чыгат. Тыюу салынган билдирүүлөр - бул ойнотууга тыюу салынган даректердин массиви. Үн дареги колдонуучунун өтүнүчү боюнча тыюу салынган билдирүү катары мүнөздөлөт. Андан ары бул дарек Arduino EEPROMунда сакталат, ошондо Обо ал өчүрүлгөндөн кийин деле тыюу салынган билдирүү экенин унутпашы үчүн. Негизинен программанын ойной турган ар бир дарегин текшерүү. Эгерде дарек тыюу салынган даректердин бири болсо, анда ал көбөйтүлөт же азаят. Сиз роботко мурда тыюу салынган сөздү айтууга уруксат бергиңиз келген учур болушу мүмкүн. Андай учурда Обо энеге тыюу салынган акыркы сөздү айта аларын айтууга туура келет. Акыркы тыюу салынган сөз эми ойнотулуучу болуп калат. Бардык тыюу салынган билдирүүлөрдү ойнотуу үчүн, биз баштапкы абалга келтиргичти тиркеп коюшубуз керек. Эгер тыюу салынган сөздөрдүн баары басылса, анда Обо жоопторду кайталабашын камсыз кылуу маанилүү. Бул туш келди сандардын кемчилигинин бир түрү. Ошол эле туш келди сандар бир катарда чыгарылышы ыктымал. Бул биздин роботко бир эле жоопту кайра -кайра айтууга мажбур кылат. Бул үчүн биз арыздардын кайталанышына тоскоол болгон дагы бир кичинекей функцияны киргизишибиз керек. Бул үчүн биз акыркы билдирүүнүн дарегин эсибизде сактап, анын азыркы менен бирдей экендигин текшеришибиз керек. Андай болсо, анда тыюу салынган билдирүүлөрдө даректин мааниси көбөйөт же азаят.
8 -кадам: Коддо жазуу
Биз ачкыч сөздү издөө үчүн indexOf буйругун колдонобуз. Буйрук башка саптын ичиндеги белгини же сапты табат. Эгер табылса, ал саптын индексин кайтарат, ал эми -1 табылбаса кайтарылат. Ошентип, биздин программада биз муну төмөнкүдөй жазышыбыз керек: if (voice.indexOf ("сиздин атыңыз")> -1) {// эгер индекс -1ден чоң болсо // сап табылганын билдирет} Азыр биз сапты эстутумда сактаганыбыз жана анын ичинде ачкыч сөзүбүздү тапканыбыз үчүн, эми жоопторду иштетишибиз керек болот. Жогоруда айтылгандай, кокус сандар белгилүү бир сандын чегинде (үн файлдарынын даректери) түзүлөт. Бул жерде random () буйругу келет. Төмөндө синтаксис: кокус (мин, максимум); // кокус сан минималдуу жана максималдуу диапазондо түзүлөт. Биз ар бир диапазондун минималдуу санын жана максималдуу санын аныктайбыз жана муну колдонуу менен биздин код бир аз окшош: if (voice.indexOf ("сиздин атыңыз")> - - 1)) {minNo = 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, 011110, 011. Демек, көздү толук толтуруу үчүн бизге жалпы 4 куту керек болот. Солго жана оңго эки катар, бир көз үчүн төрт кутучаны түзөт. Сол кутунун байты сол жакта эки катарды жана оң кутуча оң катарларды жабат. Ошентип, бул Обо эненин толук көзүн түзөт. Эми муну экинчи көз үчүн кайталап, Обонун бейтарап көрүнүшүн алабыз. Эми биз жеткиликтүү бажы сегизинин бирин колдонгондугубузду эстен чыгарбоо керек. Жана жалпы беш эмоция бар: Glee, Sad, Squint, Normal and Blink. Калган жети салт белгиге карата, биз бардык сөздөрдү туура келгидей кылып тууралашыбыз керек. Боштукту түзүү үчүн биз ар бир көзгө 2 куту колдонобуз. Өлчөмү бир аз кичине болоруна таң калыштуу эмес, бирок муну адамдын көзү этибарга албайт. Жөн гана ЖК функцияларынын ортосуна кээ бир кечигүүлөрдү кошууну тактаңыз, антпесе Arduino туруксуз болуп калат.
10 -кадам: Байланыштарды түзүү
ЖК модулу: Бул жерде айтылгандай казыктарды туташтырыңыз: RS: казуу 12RW: GndEnable: 7d4: казуу 8 d5: казуу 9 д6: казуу пин 10 d7: казуу pin13A (анод) 5vK (катод) үчүн gndThe HC 05 модулу: Бул туташууларды аткарыңыз: HC 05 TX pin to Arduino RX pinHC 05 RX pin to Arduino TX pin State Arduino pin pin 11 Байланыштар TX жана RX казыктарынын жардамы менен жасалат. Мамлекеттик пин HC 05 аркылуу туташкан же иштебей турганын текшерүү үчүн талап кылынат. WTV 020 SD 16p модулу pin1: Кайра коюу пин, аны казуу үчүн 2pin7ге туташтырыңыз: The Clock pin, to pin pin to 3pin10: the data pin, connect казуу үчүн pin 4pin15: бош эмес пин, казуучу пин 5pin2ге туташыңыз: бул пинти үн күчөткүчкө, ошондой эле аялдык аудио джекке туташтырыңыз.pin4 спикерге+pin5 менен туташышы керек. 8 -пин, gnd жана 16 -пинде 3.3v электр менен камсыз кылуу.
Күчөткүч Обонун ички спикерин ойнотууга жардам берет, ал эми аудио джек тышкы күчөткүчкө жана чоңураак динамиктерге туташат.
11 -кадам: WTV020SD16p модулу (Милдеттүү эмес)
Эскертүү: Бул кадам милдеттүү эмес. Бул WTV 020 SD 16p модулунун иштеши жана сүрөттөлүшү менен алектенет.
Бул шилтемеден үн модулунун демосун көрө аласыз:
[ВИДЕО ОЙНОТ]
Роботтун сүйлөө режими WTV 020 SD модулу аркылуу аткарылат. Модуль роботтун үн файлдарын ойнотуу үчүн колдонулат. Кандайдыр бир суроо берилгенде, arduino модулду SD картасындагы тиешелүү үн файлын ойнотууга мажбур кылат. Ардуино менен байланышуу үчүн модулда төрт сериялык маалымат линиясы бар, баштапкы абалга келтирүү, саат, маалымат жана бош эмес казыктар жана биз.playVoice () буйругун колдонуп, керектүү файлды ойнотобуз. Мисалы: module.playVoice (9): // SD картада сакталган 9 файлды ойнотуу Файлдардын аттары ондук санда болушу керек экенин унутпаңыз (0001, 0002…). Жана файлдар AD4 же WAV форматында болушу керек. Андан ары модуль 1gb 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 такталарындагыдай эч кандай камтылган программист жок. Демек, сиз сырттан же эски arduino UNO сатып алышыңыз керек. Бул жердеги кадам Arduino UNO аркылуу программаны кантип жүктөө керектигин сүрөттөйт. Жөн эле кырсыктан эски Arduino UNO тактасын кармап, Atmega 328pди алыңыз. Андан кийин төмөнкүлөр айтылгандай туташыңыз: 1. TX pin UNO боюнча TX pin to the Mini Mini 2. RX pin UNO of the RX pin to Pro MIni3. БУУнун пинин Pro Mini4тун баштапкы абалга келтирүүчү пинине кайтарыңыз. VCC менен Ground Pro Mini'ди БУУга туташтырыңыз. Arduino программасын, үн таануу программасын жана түбүндө берилген китепканаларды түшүрүңүз. Программа дагы эле иштелип жатат. Ошентип, эгерде сизде бул боюнча кандайдыр бир көйгөй болсо, анда тартынбастан сураңыз. Кабелди компьютерге туташтырыңыз. Arduino Pro Mini катары тактаны тандап, туура COM портун тандаңыз. Андан кийин Жүктөө баскычын басыңыз жана программа сиздин Pro Miniге жүктөлгөнүн көрүңүз.
Андан кийин Үн таануу программасын жана үн файлдарын жүктөп алыңыз.
13 -кадам: Денени даярдоо
Мен кичинекей куту тиш жиптерин таап, денеге эң ылайыктуу деп таптым. Сиз устаканаңыздан тапкан каалаган кутуңузду колдонсоңуз болот же картондон кутуча жасай аласыз. Жөн эле ЖК модулун тиркөө үчүн кичинекей тик бурчтуу бөлүктү кесип алыңыз. Үстүнкү жагында мен үн көлөмүн бекитүү үчүн кичинекей тешикти, ал эми капталдарына - өчүргүчтөр менен аудио туташтыргычты бекитүү үчүн кесип алдым. Мен дөңгөлөктөр үчүн кутунун капталына эки бөтөлкө капкагын бекиттим. Жөн гана кутучага микросхеманын ичине коюу үчүн жетиштүү орун бар экенин текшериңиз. Корпусту денеге, ошондой эле чынжырга, андан кийин кутунун башындагы көлөмдү тиркеңиз. Андан кийин эле схеманы ичине салып, роботуңуз бүтүп калды.
14 -кадам: Жакшы
Эми сиз менен сүйлөшө турган жана өзүңүздү бактылуу сезе турган сүйкүмдүү кичинекей робот долбооруңузду аяктадыңыз. Бул сиздин долбооруңуз бүтүп, толугу менен иштеп жатканда DIYer болуунун эң бактылуу учуру. Кабатыр болбоңуз, эгер сиз бир эле жолу ийгиликке жете албасаңыз, анда роботтун ар бир бөлүгүн түшүнүү үчүн көп аракет кылышыңыз керек. Бул жерде DIYers бул дүйнөгө келет, бирок бул долбоордун аягы эмес. Обо ар дайым көбүрөөк деңгээлде иштелип чыгат, же мен же сен сыяктуу DIYers. Мен бул үйрөткүчтү көрүп эмне кылганыңызды уккум келет. Урматтоо менен, RS3655
Сунушталууда:
Arduino UNO менен дронду кантип жасоо керек - Микроконтроллерди колдонуу менен квадрокоптер жасаңыз: 8 кадам (сүрөттөр менен)
Arduino UNO менен дронду кантип жасоо керек | Микроконтроллерди колдонуу менен квадрокоптер жасаңыз: КиришүүМенин Youtube каналыма баш багыңыз Drone - бул абдан кымбат гаджет (продукт) сатып алуу. Бул постто мен аны кантип арзан баада жасоону талкуулайм. Анан кантип ушундай арзан баада өзүңүздүн колуңуз менен жасай аласыз … Индияда бардык материалдар (моторлор, ЭСК
Ойготкуч саат менен DIY Smart Scale (Wi-Fi, ESP8266, Arduino IDE жана Adafruit.io менен): 10 кадам (Сүрөттөр менен)
Ойготкуч саат менен DIY Smart Scale (Wi-Fi, ESP8266, Arduino IDE жана Adafruit.io менен): Мурунку долбоорумда мен Wi-Fi менен акылдуу ванна таразасын иштеп чыккам. Ал колдонуучунун салмагын өлчөй алат, жергиликтүү түрдө көрсөтөт жана булутка жөнөтөт. Бул тууралуу кененирээк маалыматты төмөнкү шилтемеден ала аласыз: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Килем сенсорлор менен/ RF байланышы Arduino Micro менен: 4 кадам (сүрөттөр менен)
Килем сенсорлор менен/ RF Ардуино Микро менен Байланыш: Мен жакында эле лампалардын астына килемче салынган сенсорлорго реакция берген бир катар лампалардан жасалган бирдей ар түрдүү орнотууну аяктадым. Мына мен килемди басым сенсорлору менен кантип жасадым. Мен ал үчүн пайдалуу болот деп ишенебиз.:)
Blynk тиркемеси менен USB аркылуу смартфонду колдонуу менен Arduino башкаруу: 7 кадам (сүрөттөр менен)
Blynk тиркемеси менен USB аркылуу смартфонду колдонуу аркылуу Arduino башкаруу жөнөкөй чечим алыстан башкаруучу сиздин Arduino же c