Röstigenkänningsmodul
Hälsningar, kära vänner. Äntligen började jag spela in en lektion om att arbeta med röstmodulen. Jag ser att du gillade min hemmagjorda produkt med röststyrning och många har redan börjat undra när en praktisk lektion om att arbeta med röststyrningsmodulen kommer att släppas.

Om fördelarna med denna igenkänningsmodul:
- Modulen är autonom och kan fungera utan en extern styrenhet, vilket är mycket viktigt för radioamatörer som inte är bekanta med programmering.
- Tillsammans med andra modeller jämför denna modul bra med dess funktionalitet, pris och relativa lätthet att hantera och ansluta.
– Har hög igenkänningsförmåga.
- Ingen smartphone krävs.
Och så låt oss gå! Den här videon kommer främst att rikta sig till nybörjare, de som inte är bekanta med programmering och gränssnitt i allmänhet, för vanliga radioamatörer. I videon kommer jag att visa allt från "A" till "Z": vi börjar med att installera program och ansluta och avsluta med det konkreta resultatet av modulens autonoma drift.
Låt oss ändå börja med teoretisk kunskap för att förstå hur detta tekniska mirakel faktiskt fungerar. Först och främst måste du känna till några egenskaper hos denna röstigenkänningsmodul:
Strömförbrukning: inte mer än 40 mA, strömmen är inte kritisk, så ta bara hänsyn till det. Matningsspänningen är 5 V, vi kommer att driva datorns USB-portmodul under programmering, och sedan under drift bestämmer du var den ska strömförsörjas. Noggrannheten för röstkommandoigenkänning är 99 % under idealiska förhållanden. Röstigenkänningsmodulen version V3.1 kan komma ihåg 80 röstkommandon! Vilket enligt mig räcker för alla ändamål. Men återigen är detta ett "MEN". Men modulen kan bara känna igen vilka som helst sju kommandon per tidsenhet, och vilka kommandon är upp till dig att välja.

Det vill säga, du kan skriva alla 80 kommandon i databasen, men välj bara sju för igenkänning, vilka som helst sju av åttio. Det är som med en dator: du kan skriva 80 kommandon på hårddisken, men bara arbeta med 7 kommandon i RAM-minnet. Om det är svårt för dig att förstå nu, lite senare i praktiken, tror jag att det kommer att bli klart för dig vad vi pratar om. Längden på röstkommandot är maximalt 1,5 sekunder (1500ms). Modulkortet kan styras via UART-gränssnittet, men information kan hämtas antingen från UART eller från GPIO-portarna på kortet. I själva verket är detta vad vi kommer att göra: vi kommer att ta bort signalen från portutgången.
Låt oss gå vidare till den praktiska delen.
Vad behöver vi för arbete?
- Själva röstigenkänningsmodulen är version V3 (V3.1) Versionen är inte så viktig - funktionsprincipen är densamma för alla. Modulen levereras med en mikrofon.
- Modulmanual, det vill säga datumblad.
- Terminalprogram.
- USB-UART-gränssnittsomvandlare.
Alla länkar för att köpa och ladda ner programvara finns under videon i slutet av artikeln.
Det är allt. Som Gagarin sa, "Låt oss gå."
Ladda ner manualen och terminalen. Vi installerar terminalen.Vi ansluter modulen till gränssnittsomvandlaren.

Var mycket försiktig när du ansluter. Det är okej, om du blandar ihop TXD och RXD kommer inget dåligt att hända. Men om du blandar ihop power plus med den gemensamma kabeln kommer det att bli en katastrof! Som hände mig brann modulen och datorporten omedelbart ut! Var mycket försiktig och upprepa inte mina misstag. Krångla inte, skynda dig inte, kontrollera kretsen flera gånger innan du slår på den och anslut först efter det till USB.
Efter anslutning till USB kommer ditt system att börja söka efter drivrutiner för omvandlaren; i 90 % av fallen hittar systemet själv drivrutinen och installerar den, men om det av någon anledning inte händer måste du hitta drivrutinen på nätverket själv och installera det. För att göra detta, skriv "CP2102 driver download" eller något liknande i sökfältet, modulen är vanlig, det finns gott om drivrutinsalternativ.
Därefter, efter att du har installerat utrustningen, gå till enhetshanteraren och titta på portarna. Vi är intresserade av det tilldelade numret på vår omvandlare. När vi får reda på portnumret startar vi terminalen. Låt oss gå till inställningarna och ställa in värdena som i min bild.
Vi skriver kommandot i terminalfönstret - "AA 02 00 0A" (från databladet | AA | 02 | 00 | 0A |). Alla lag använder alltid versaler och latinska bokstäver.
I sändningsfältet bör du få ett svar som: "AA 08 00 STA BR IOM IOPW AL GRP 0A" (eller från databladet | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |) . Kommer svaret så är allt bra, halva jobbet är gjort. Om inte, leker vi med inställningarna för överföringshastighetsinställningarna i terminalen, det är bara möjligt att modulen är konfigurerad för en annan hastighet.
Jag kommer inte att uppehålla mig vid vad detta modulsvar betyder, du kan slå upp det själv i instruktionerna.Och kommandot är en begäran om de installerade inställningarna.

Nu måste du ansluta lasten till modulen. Som last kommer jag att använda lysdioder med motstånd. Tja, i framtiden, när du använder dessa lysdioder kommer att ersättas med lastregleringsreläer med transistorbrytare, det tycker jag är förståeligt.
Låt mig förklara själva kommandot "AA 02 00 0A" är ett paket som består av 4 byte, byte är parade tecken i hexadecimal - AA,02,00,0A. I alla kommandon börjar paketet med byten A.A. och avsluta med en byte 0A (Noll och A) är en förutsättning. Modulens svar kommer också att börja och sluta med dessa tecken.
«AA 02 00 0A" - den andra byten av detta kommando betyder antalet byte mellan start- och slutbyten, kortfattat förutom A.A. Och 0A. Och vi räknar och skriver allt mellan dem i den andra byten. Som vi ser i detta exempel, vad är det mellan A.A. Och 0A kostar två byte - 02 00, därför – 02, det vill säga talet räknas av sig självt. Ett annat exempel, "AA 03 20 01 0A"det vill säga mellan A.A. Och 0A kostar tre byte - «03 20 01", därför är den andra byten 03. Jag tror att du kommer att förstå.
Team "12" - sätta upp modulportar.
På modulkortet finns det portar från vilka vi tar bort signalen; innan vi gör detta måste vi konfigurera dessa portar. Du kan konfigurera portar med kommandot
"AA 03 12 01 0A" - den tredje byten är kommandot och den fjärde är kommandovärdet. Den fjärde byten kan ta följande värden och ställa in följande alternativ: om "00" är pulsläge, det vill säga när ett röstkommando känns igen, skickas en kort puls till porten vi behöver. Om "01" är inversionsläget, det vill säga när ett röstkommando känns igen, kommer porten vi behöver att ändra sitt tillstånd till det motsatta, om det var 0 blir det 1 och vice versa.Om "02" är läget där porten går till noll. Om "03" är det läge i vilket porten går till en.
Team "20" - sätta upp modulportar.
"AA 03 20 01 0A" - den tredje byten är numret på kommandot som vi ska skriva. Ett exempel på att skriva två kommandon 1 och 2: "AA 04 20 01 02 0A." Ett exempel på att skriva två kommandon 1, 2, 3: "AA 05 20 01 02 03 0A."
Team "30" - ladda en post i modulens "igenkännare".
"AA 03 30 01 0A" - den tredje byten är ett kommando för att ladda in i minnet av postigenkännaren 01. Om du behöver skriva två kommandon - "AA 04 30 01 02 0A", om du behöver skriva ner alla sju kommandon - "AA 09 30 01 02 03 04 05 06 07 0A."
Lag "15" - Automatisk laddning av röstkommandon till igenkännaren när strömmen slås på - offline-drift utan extern styrenhet.
"AA 03 15 07 01 02 03 0A" - den tredje byten är ett kommando, den fjärde byten är en kommandoetikett, det vill säga en slags identifierare, och är lika med 01 för att ladda ett kommando, 03 för att ladda två kommandon, 07 för att ladda tre kommandon, och så vidare, se databladstabellen. Jo, då är det kommandonumren som måste laddas.
Det var allt: vi kontrollerade anslutningen till modulen, konfigurerade portarna, spelade in kommandon och konfigurerade automatisk laddning av röstkommandon.
Läs om andra kommandon i databladet. Jag förklarade precis ett ungefärligt sätt att arbeta med modulen.
Köplänkar:
Modul –
Omvandlare -
Omvandlare med kablar -
Ladda ner länkar:
Datum är satt -
Terminal -