Stemmegenkendelsesmodul
Hilsen, kære venner. Endelig kom jeg i gang med at optage en lektion om at arbejde med stemmemodulet. Jeg kan se, at du kunne lide mit hjemmelavede produkt med stemmestyring, og mange er allerede begyndt at spekulere på, hvornår en praktisk lektion om at arbejde med stemmestyringsmodulet udkommer.
Om fordelene ved dette genkendelsesmodul:
- Modulet er autonomt og kan fungere uden en ekstern kontrolcontroller, hvilket er meget vigtigt for radioamatører, der ikke er fortrolige med programmering.
- Sammen med andre modeller kan dette modul sammenlignes med dets funktionalitet, pris og relative lette administration og forbindelse.
- Har høj genkendelsesevne.
- Ingen smartphone påkrævet.
Og så lad os gå! Denne video vil primært henvende sig til begyndere, dem der ikke er fortrolige med programmering og interfaces generelt, for almindelige radioamatører. I videoen vil jeg vise alt fra "A" til "Z": vi starter med at installere programmer og forbinde og slutte med det konkrete resultat af modulets autonome drift.
Lad os alligevel starte med teoretisk viden for at forstå, hvordan dette mirakel af ingeniørkunst faktisk fungerer. Først og fremmest skal du kende nogle karakteristika ved dette stemmegenkendelsesmodul:
Strømforbrug: ikke mere end 40 mA, strømmen er ikke kritisk, så tag det blot i betragtning. Forsyningsspændingen er 5 V, vi vil strømforsyne computerens USB-portmodul under programmering, og under drift bestemmer du, hvor den skal strømforsynes fra. Stemmekommando-genkendelsesnøjagtigheden er 99 % under ideelle forhold. Stemmegenkendelsesmodulet version V3.1 er i stand til at huske 80 stemmekommandoer! Hvilket efter min mening er ganske nok til ethvert formål. Men igen dette er et "MEN". Men modulet kan kun genkende syv kommandoer pr. tidsenhed, og hvilke kommandoer er op til dig at vælge.
Det vil sige, du kan skrive alle 80 kommandoer ind i databasen, men vælg kun syv til genkendelse, alle syv ud af firs. Det er ligesom med en computer: Du kan skrive 80 kommandoer på harddisken, men kun arbejde med 7 kommandoer i RAM'en. Hvis det er svært for dig at forstå nu, så tror jeg lidt senere i praksis, at det vil blive klart for dig, hvad vi taler om. Længden af stemmekommandoen er 1,5 sekunder (1500ms) maksimal værdi. Modulkortet kan styres via UART-interfacet, men information kan hentes enten fra UART'en eller fra GPIO-portene placeret på kortet. Faktisk er dette, hvad vi vil gøre: Vi fjerner signalet fra portudgangen.
Lad os gå videre til den praktiske del.
Hvad har vi brug for til arbejdet?
- Selve stemmegenkendelsesmodulet er version V3 (V3.1) Versionen er ikke så vigtig - funktionsprincippet er det samme for alle. Modulet leveres med mikrofon.
- Modulmanual, det vil sige datoblad.
- Terminal program.
- USB-UART interface konverter.
Alle links til køb og download af software er under videoen i slutningen af artiklen.
Det er alt. Som Gagarin sagde: "Lad os gå."
Download manualen og terminalen. Vi installerer terminalen.Vi forbinder modulet til interface-konverteren.
Vær meget forsigtig, når du tilslutter. Det er okay, hvis du forveksler TXD og RXD, vil der ikke ske noget dårligt. Men hvis du forveksler power plus med den fælles ledning, vil det være en katastrofe! Som det skete for mig, brændte modulet og computerporten straks ud! Vær meget forsigtig og gentag ikke mine fejl. Lad være med at bøvle, skynd dig ikke, tjek kredsløbet flere gange, før du tænder det, og tilslut først derefter til USB.
Efter tilslutning til USB vil dit system begynde at søge efter drivere til konverteren; i 90% af tilfældene finder systemet selv driveren og installerer den, men hvis det af en eller anden grund ikke sker, skal du finde driveren på netværket selv og installer det. For at gøre dette skal du skrive "CP2102 driver download" eller noget lignende i søgefeltet, modulet er fælles, der er masser af driver muligheder.
Derefter, efter at have installeret udstyret, skal du gå til enhedshåndteringen og se på portene. Vi er interesserede i det tildelte nummer på vores konverter. Når vi finder ud af portnummeret, starter vi terminalen. Lad os gå til indstillingerne og indstille værdierne som på mit billede.
Vi skriver kommandoen i terminalvinduet - "AA 02 00 0A" (fra dataarket | AA | 02 | 00 | 0A |). Alle hold bruger altid store bogstaver og latinske bogstaver.
Afsenderfeltet skulle give dig et svar som: "AA 08 00 STA BR IOM IOPW AL GRP 0A" (eller fra dataarket | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |). Hvis svaret kommer, så er alt fint, det halve arbejde er gjort. Hvis ikke, leger vi med indstillingerne for overførselshastighedsindstillingerne i terminalen, det er bare muligt, at modulet er konfigureret til en anden hastighed.
Jeg vil ikke dvæle ved, hvad dette modulsvar betyder, du kan selv slå det op i instruktionerne.Og kommandoen er en anmodning om de installerede indstillinger.
Nu skal du tilslutte belastningen til modulet. Som en belastning vil jeg bruge LED'er med modstande. Nå, i fremtiden, når du bruger disse LED'er vil blive erstattet med belastningsstyringsrelæer med transistorkontakter, det synes jeg er forståeligt.
Lad mig forklare selve kommandoen "AA 02 00 0A" er en pakke bestående af 4 bytes, bytes er parrede tegn i hexadecimal - AA,02,00,0A. I alle kommandoer vil pakken begynde med byten A.A. og slutter med en byte 0EN (Nul og EN) er en forudsætning. Modulets svar vil også begynde og slutte med disse tegn.
«AA 02 00 0A" - den anden byte af denne kommando betyder antallet af bytes mellem start- og slutbytes, kort sagt undtagen A.A. Og 0A. Og vi tæller og skriver alt mellem dem ind i den anden byte. Som vi ser i dette eksempel, hvad er der imellem A.A. Og 0A koste to bytes - 02 00, derfor – 02, altså tallet tæller sig selv. Et andet eksempel, "AA 03 20 01 0A"det vil sige mellem A.A. Og 0A koste tre bytes - «03 20 01", derfor er den anden byte 03. Jeg tror, du vil forstå.
Hold "12" - opsætning af modulporte.
På modulkortet er der porte, hvorfra vi fjerner signalet; før vi gør dette, skal vi konfigurere disse porte. Du kan konfigurere porte med kommandoen
"AA 03 12 01 0A" - den tredje byte er kommandoen, og den fjerde er kommandoværdien. Den fjerde byte kan tage følgende værdier og indstille følgende muligheder: hvis "00" er pulstilstand, det vil sige, når en stemmekommando genkendes, sendes en kort puls til den port, vi har brug for. Hvis "01" er inversionstilstanden, det vil sige, når en stemmekommando genkendes, vil den port, vi har brug for, ændre sin tilstand til det modsatte, hvis den var 0, bliver den 1 og omvendt.Hvis "02" er den tilstand, hvor porten går til nul. Hvis "03" er den tilstand, hvor porten går til en.
Hold "20" - opsætning af modulporte.
"AA 03 20 01 0A" - den tredje byte er nummeret på den kommando, som vi vil skrive. Et eksempel på at skrive to kommandoer 1 og 2: "AA 04 20 01 02 0A." Et eksempel på at skrive to kommandoer 1, 2, 3: "AA 05 20 01 02 03 0A."
Hold "30" - indlæse en post i modulets "genkender".
"AA 03 30 01 0A" - den tredje byte er en kommando til at indlæse i hukommelsen af record genkender 01. Hvis du skal skrive to kommandoer - "AA 04 30 01 02 0A", hvis du har brug for at skrive alle syv kommandoer ned - "AA 09 30 01 02 03 04 05 06 07 0A."
Hold "15" - Autoloading af stemmekommandoer i genkendelsen, når strømmen er tændt - offline drift uden en ekstern controller.
"AA 03 15 07 01 02 03 0A" - den tredje byte er en kommando, den fjerde byte er en kommandoetiket, det vil sige en slags identifikator, og er lig med 01 for at indlæse en kommando, 03 for at indlæse to kommandoer, 07 for at indlæse tre kommandoer, og så videre, se databladstabellen. Nå, så er der kommandonumrene, der skal indlæses.
Det er alt: vi tjekkede forbindelsen til modulet, konfigurerede portene, optog kommandoer og konfigurerede automatisk indlæsning af stemmekommandoer.
Læs om andre kommandoer i dataarket. Jeg har lige forklaret en omtrentlig måde at arbejde med modulet på.
Købslinks:
Modul –
Konverter -
Konverter med ledninger -
Download links:
Datoen er sat -
Terminal -