Sveikinimai, mieli draugai. Galiausiai įrašiau darbo su balso moduliu pamoką. Matau, kad jums patiko mano namuose pagamintas balsu įjungtas įrenginys, ir daugelis jau pradėjo domėtis, kada bus išleista praktinė darbo su balso valdymo moduliu pamoka.
Apie šio atpažinimo modulio pranašumus:
- Modulis yra autonominis ir gali dirbti be išorinio valdymo valdiklio, o tai labai svarbu radijo mėgėjams, kurie nėra susipažinę su programavimu.
- Šis modulis, kaip ir kiti modeliai, yra palyginamas su funkcionalumu, kaina ir santykiniu paprastumu tvarkant ir jungiant.
- Turi aukštą atpažinimo sugebėjimą.
- Nereikia išmaniojo telefono.
Ir taip einam! Šis vaizdo įrašas visų pirma bus skirtas pradedantiesiems, tiems, kurie nėra gerai susipažinę su programavimu ir sąsajomis, paprastai eiliniams radijo mėgėjams. Vaizdo įraše aš parodysiu viską nuo „A“ iki „Z“: pradėsime diegdami programas ir jungdamiesi, o baigsime konkrečiu modulio autonominio veikimo rezultatu.
Vis dėlto pradėsime nuo teorinių žinių, kad suprastume, kaip vis dar veikia šis inžinerijos stebuklas. Visų pirma, jūs turite žinoti kai kurias šio balso atpažinimo modulio savybes:
Srovės sunaudojimas: ne daugiau kaip 40 mA, srovė nėra kritinė, todėl tiesiog atminkite. Maitinimo įtampa yra 5 V, programavimo metu maitinsime kompiuterio USB prievado modulį, o darbo metu jūs pats nuspręsite, iš ko maitinti. Balso komandų atpažinimo tikslumas - 99% idealiomis sąlygomis. Balso atpažinimo modulio versija V3.1 gali atsiminti 80 balso komandų! Kurio, mano manymu, visiškai pakanka bet kokiam tikslui. Bet tada vėl tai „BET“. Bet modulis per laiko vienetą gali atpažinti tik septynias bet kokias komandas ir jūs galite pasirinkti, kurią komandų dėžę pasirinkti.
Tai yra, galite į duomenų bazę įrašyti visas 80 komandų, tačiau atpažinimui pasirinkite tik septynias, bet kurias septynias iš aštuoniasdešimt. Panašiai kaip su kompiuteriu: kietajame diske galite parašyti 80 komandų, o RAM galite dirbti tik su 7 komandomis. Jei jums sunku dabar suprasti, tada šiek tiek vėliau, manau, jums paaiškės, apie ką tai yra. Balso komandos trukmė yra 1,5 sekundės (1500 ms). Modulio plokštę galima valdyti per UART sąsają, tačiau informacijos galima paimti tiek iš UART, tiek iš plokštėje esančių GPIO prievadų. Tiesą sakant, ką mes darysime: mes paimsime signalą iš uosto išvesties.
Mes pereiname prie praktinės dalies.
Ko mums reikia darbui?
- Pats balso atpažinimo modulio V3 (V3.1) variantas nėra toks svarbus - darbo principas visiems vienodas. Modulis pateikiamas su mikrofonu.
- Modulio vadove, tai yra, data yra šūdas.
- terminalo programa.
- Konverterio USB-UART sąsajos.
Visos nuorodos, skirtos įsigyti ir atsisiųsti programinę įrangą, pateikiamos vaizdo įrašo pabaigoje straipsnio pabaigoje.
Tai viskas. Kaip sakė Gagarinas - „Eime“.
Atsisiųskite vadovą ir terminalą. Mes įdiegiame terminalą. Mes prijungiame modulį prie sąsajos keitiklio.
Būkite labai atsargūs jungdamiesi. Nėra baisu, jei sumaišysite TXD ir RXD, nieko blogo neatsitiks. Bet jei sumaišysite pliusą su bendra viela - tai bus katastrofa! Kaip man nutiko - modulis ir kompiuterio prievadas iškart sudegė! Būkite labai atsargūs ir nekartokite mano klaidų. Neskubėkite, neskubėkite, prieš įjungdami keletą kartų patikrinkite grandinę ir tik tada prijunkite prie USB.
Prisijungę prie USB jūsų sistema pradės ieškoti keitiklio tvarkyklių, 90% atvejų sistema suras tvarkyklę ir ją įdiegs, tačiau jei dėl kokių nors priežasčių to neįvyko, tada turėsite rasti tvarkyklę tinkle ir patys ją įdiegti. Norėdami tai padaryti, paieškos juostoje įrašykite „CP2102 tvarkyklės atsisiuntimas“ ar panašiai, modulis yra įprastas, yra daug tvarkyklės variantų.
Toliau, sėkmingai įdiegę įrangą, einame į įrenginių tvarkytuvę ir apžiūrime prievadus. Mus domina priskirtas keitiklio numeris. Kai sužinosime prievado numerį, paleiskite terminalą. Mes einame į nustatymus ir nustatome vertes, kaip mano paveikslėlyje.
Terminalo lange užrašome komandą - „AA 02 00 0A“ (iš duomenų lapo | AA | 02 | 00 | 0A |). Visose komandose raidės visada rašomos didžiosiomis ir lotyniškomis raidėmis.
Siuntimo lauke turėtų būti atsakymas, pavyzdžiui: „AA 08 00 STA BR IOM IOPW AL GRP 0A“ (arba iš duomenų lapo | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |). Jei atsakymas atėjo, tada viskas gerai, grindys padarytos. Jei ne, mes žaidžiame su perdavimo greičio terminale nustatymais, tiesiog gali būti, kad modulis sukonfigūruotas kitokiam greičiui.
Aš negalvosiu apie tai, ką reiškia šis modulio atsakymas, jūs pats galite tai pamatyti instrukcijose. O komanda yra užklausa dėl įdiegtų parametrų.
Dabar jums reikia prijungti apkrovą prie modulio. Krovinio vaidmenyje aš naudosiu šviesos diodus su rezistoriais. Na, ateityje, eksploatacijos metu, šie šviesos diodai bus pakeisti apkrovos valdymo relė su tranzistoriaus jungikliais, manau, kad tai suprantama.
Paaiškinsiu pačiai komandaiAA 02 00 0A"Ar paketas susideda iš 4 baitų, baitai yra poriniai simboliai šešioliktainėje sistemoje - AA, 02.00.0A. Visose komandose paketas prasidės baitu. AA ir pabaiga baitu 0A (Nulis ir A) yra būtina sąlyga. Modulio atsakymai taip pat prasidės ir baigsis šiais simboliais.
«AA 02 00 0A"- antrasis šios komandos baitas reiškia baitų skaičių tarp pradžios ir pabaigos baitų, trumpai tariant, išskyrus AA ir 0A. Ir viskas, kas tarp jų, suskaičiuojama ir užrašoma antrame baite. Kaip matome šiame pavyzdyje, tarp AA ir 0A yra du baitai - 02 00, taigi - 02, tai yra, skaičius laiko save. Kitas pavyzdys “AA 03 20 01 0A„Tai yra tarp AA ir 0A kainavo tris baitus - «03 20 01Taigi, antrasis baitas yra 03. Manau, kad jūs suprasite.
12 komanda - modulio prievadų konfigūracija.
Modulio plokštėje yra prievadai, iš kurių mes imsimės signalo prieš tai darydami, turite sukonfigūruoti šiuos prievadus. Naudodami šią komandą galite sukonfigūruoti prievadus.
„AA 03 12 01 0A“ - trečias baitas yra komanda, o ketvirtasis yra komandos vertė. Ketvirtasis baitas gali pasiimti šias vertes ir nustatyti šias parinktis: jei „00“ yra impulsų režimas, tai yra, kai atpažįstama balso komanda, trumpas impulsas siunčiamas į mums reikalingą prievadą. Jei „01“ yra atvirkštinis režimas, tai yra, atpažinus balso komandą, mums reikalingas prievadas pakeis būseną į priešingą pusę, jei ji buvo 0, ji taps 1 ir atvirkščiai. Jei „02“ - režimas, kuriuo uostas pereina į nulį. Jei „03“ - režimas, kuriuo uostas pereina į vieną.
20 komanda - modulio prievadų konfigūracija.
„AA 03 20 01 0A“ - trečias baitas yra komandos, kurią parašysime, numeris. Dviejų 1 ir 2 komandų įrašymo pavyzdys: "AA 04 20 01 02 0A". Dviejų komandų 1, 2, 3 įrašymo pavyzdys: "AA 05 20 01 02 03 0A".
30 komanda - įrašo įkėlimas į modulio „atpažinimo funkciją“.
„AA 03 30 01 0A“ - trečias baitas yra įkėlimo komanda atpažinimo atpažinimo priemonės atmintyje 01. Jei jums reikia parašyti dvi komandas - „AA 04 30 01 02 0A“jei reikia įrašyti visas septynias komandas - "AA 09 30 01 02 03 04 05 06 07 0A".
15 komanda - Automatinis balso komandų paleidimas atpažinimo įrankiui įjungus maitinimą - veikimas neprisijungus be išorinio valdiklio.
„AA 03 15 07 01 02 03 0A“ - trečias baitas yra komanda, ketvirtasis baitas yra komandų etiketė, tai yra savotiškas identifikatorius, ir yra lygus 01 norint įkelti vieną komandą, 03 - įkelti dvi komandas, 07 - įkelti tris komandas ir pan., žiūrėkite duomenų lentelę. Na, tada pateikite komandų, kurias reikia atsisiųsti, numerius.
Tai viskas: mes patikrinome ryšį su moduliu, sukonfigūravome prievadus, užrašėme komandas ir sukonfigūravome balso komandų paleidimą.
Perskaitykite likusias komandas duomenų lape. Aš tik paaiškinau apytikslį darbo su moduliu tipą.
Pirkimo nuorodos:
Modulis - //ali.pub/dk0gv
Keitiklis - //ali.pub/fond
Keitiklis su laidais - //ali.pub/hlvn5
Atsisiųsti nuorodas:
Data šūdas - //www.elechouse.com/elechouse/images/product/VR3/VR3_manual.pdf
Terminalas - //www.sudt.com/download/AccessPort137.zip