Inhoudsopgave:

Inleiding tot spraakherkenning met Elechouse V3 en Arduino: 4 stappen (met afbeeldingen)
Inleiding tot spraakherkenning met Elechouse V3 en Arduino: 4 stappen (met afbeeldingen)

Video: Inleiding tot spraakherkenning met Elechouse V3 en Arduino: 4 stappen (met afbeeldingen)

Video: Inleiding tot spraakherkenning met Elechouse V3 en Arduino: 4 stappen (met afbeeldingen)
Video: 4 vwo | Inleiding in de biologie | 1| Wat is biologie? 2024, November
Anonim
Inleiding tot spraakherkenning met Elechouse V3 en Arduino
Inleiding tot spraakherkenning met Elechouse V3 en Arduino

Hoi…

Spraakherkenningstechnologie is er de afgelopen jaren geweest. We herinneren ons nog steeds de grote opwinding die we hadden tijdens het praten met de eerste Siri-compatibele iPhone. Sindsdien zijn apparaten voor spraakopdrachten in zeer korte tijd uitgegroeid tot een zeer geavanceerd niveau dat onze verwachtingen overtreft. Met de introductie van veel geavanceerde spraakherkenningssystemen kwamen er veel andere spraakassistenten zoals de Google-assistent en de Amazon Alexa. Alleen al het snelle succes van Amazon's Echo bewijst dat we langzamerhand in het reine komen met het praten met machines.

Dus laten we beginnen bij de basis. In deze instructable geef ik je een inleiding over de Elechouse V3 spraakherkenningsmodule en hoe je een LED in- of uitschakelt met spraakopdrachten. Er zijn verschillende andere manieren om spraakherkenning in uw project te implementeren, van een Android-telefoon tot Alexa of Raspberry pi of een andere technologie. Maar ik kreeg verschillende berichten van veel van mijn vrienden die me vroegen hoe ik deze specifieke module met Arduino kon gebruiken. Dus ik schrijf dit instructable als een basis-tutorial voor de Elechouse V3-module. Ik wilde dit instructable zo eenvoudig mogelijk maken voor beginners, dus we zullen niet de volledige kenmerken en functies van de module bespreken, maar aan het einde weet ik zeker dat je een aantal behoorlijk coole ideeën zult krijgen voor je volgende project.

Stap 1: Elechouse V3 spraakherkenningsmodule

Elechouse V3 spraakherkenningsmodule
Elechouse V3 spraakherkenningsmodule
Elechouse V3 spraakherkenningsmodule
Elechouse V3 spraakherkenningsmodule

Elechouse V3 is een van de meest compacte en eenvoudig te bedienen spraakherkenningsmodules op de markt.

Er zijn twee manieren om deze module te gebruiken, via de seriële poort of via de ingebouwde GPIO-pinnen. Het V3-bord heeft de capaciteit om tot 80 spraakopdrachten op te slaan, elk met een duur van 1500 milliseconden. Deze converteert je commando's niet naar tekst, maar vergelijkt het met een reeds opgenomen set stemmen. Technisch gezien zijn er dus geen taalbarrières om dit product te gebruiken. Je kunt je commando in elke taal opnemen of letterlijk elk geluid kan worden opgenomen en als commando worden gebruikt. Je moet hem dus eerst trainen voordat je hem spraakopdrachten laat herkennen.

Als je de module met zijn GPIO-pinnen gebruikt, levert de module outputs voor slechts 7 van de 80 commando's. Voor deze methode moet je 7 commando's selecteren en in de herkenner laden en de herkenner zal outputs naar de respectieve GPIO-pinnen als een van deze spraakopdrachten wordt herkend. Omdat we dit met de arduino gebruiken, hoeven we ons geen zorgen te maken over de beperkte functies.

Het apparaat werkt bij een ingangsspanningsbereik van 4,5 - 5 volt en trekt een stroom van minder dan 40 mA. Deze module kan werken met een herkenningsnauwkeurigheid van 99% als deze onder ideale omstandigheden wordt gebruikt. De keuze van de microfoon en het geluid in de omgeving spelen een cruciale rol bij het beïnvloeden van de prestaties van de module. Het is beter om een microfoon te kiezen met een goede gevoeligheid en te proberen de ruis op je achtergrond te verminderen terwijl je commando's geeft om het maximale uit de module te halen.

Stap 2: De module aansluiten op Arduino

De module verbinden met Arduino
De module verbinden met Arduino
De module verbinden met Arduino
De module verbinden met Arduino

Laten we het nu hebben over de verbindingen die gemaakt moeten worden.

Benodigde hardware:

Elechouse V3 spraakherkenningsmodule

Arduino UNO-R3. (Ik gebruik hier Arduino Pro Mini, het maakt niet uit, beide zijn bijna hetzelfde in functie.)

Microfoon met 3,5 mm-stekker bevestigd. (of je kunt het rechtstreeks op het bord solderen. Ze hebben de pinnen gegeven.)

Een LED

Een weerstand van 470 ohm voor de LED

Draden naar behoefte

USB-kabel voor het programmeren van de Arduino

De module verbinden met Arduino

GND - Aarde

VCC - 5 V

RXD - Digitale pin 3 van Arduino (Dit is een door de gebruiker gedefinieerde pin. Voorbeeldcode heeft Pin 3 als Tx.)

TXD - Digitale pin 2 van Arduino (Dit is ook een door de gebruiker gedefinieerde pin.)

De LED is aangesloten op de digitale pin 13 van de Arduino zoals gedefinieerd in de voorbeeldcode. Sluit een weerstand van 470 ohm in serie aan op de LED.

Sluit de microfoon aan op de 3,5 mm-aansluiting op het bord. Soldeer het aan de microfoonpinnen in de module als het niet wordt geleverd met een 3,5 mm-stekker.

Dat is alles wat het is over de verbindingen. Laten we nu eens naar de code kijken.

Stap 3: De code instellen

De code instellen
De code instellen
De code instellen
De code instellen
De code instellen
De code instellen
De code instellen
De code instellen

Alle hier genoemde codes en bibliotheken zijn open-source en de credits voor het ontwikkelen ervan gaan naar hun respectievelijke auteurs.

U moet de Arduino-bibliotheek "voicerecognitionv3.h" downloaden en installeren voordat u de module met een Arduino kunt gebruiken.

Download hier de bibliotheek.

Alle codes die we nodig hebben, staan in het zipbestand van de bibliotheek als voorbeeldprogramma's.

Het trainen van de V3-module

Zoals ik hierboven al zei, moeten we de module trainen voordat we hem kunnen gebruiken voor spraakherkenning. Volg deze stappen om de module te trainen.

Sluit het circuit aan op de computer

Start de Arduino IDE

Controleer of je het juiste Arduino-bord hebt geselecteerd. (Extra -> Bord)

Controleer of de juiste COM-poort is geselecteerd. (Extra -> Poort)

Open nu het voorbeeldprogramma voor het trainen van de module

Ga naar Bestand -> Voorbeelden -> SpraakherkenningV3 -> vr_sample_train

Upload de code naar Arduino en wacht tot de code wordt geüpload. (Ctrl+U)

Open de seriële monitor. (Ctrl+Shift+M)

Zorg ervoor dat de baudrate is ingesteld op 115200 en dat de optie "Newline" is geselecteerd

Als alles in orde is, wordt op de seriële monitor een menu weergegeven zoals op de foto's

Er zijn verschillende commando's die je in de seriële monitor kunt typen om de module te programmeren, hier zullen we het "train" commando gebruiken om de module te trainen

De V3 heeft een capaciteit om 80 spraakopdrachten op te slaan, elk met een duur van 1500 ms. Elke opdracht wordt opgeslagen in een adres dat begint van 0 tot 79

Door de opdracht "trein" te gebruiken, slaan we een spraakopdracht op in een specifiek adres, dus u moet het adres in de opdracht opgeven

De syntaxis van het commando gaat als volgt: treinadres Bijvoorbeeld: trein 0, trein 20, trein 79

  • We hebben twee spraakopdrachten nodig voor het aansturen van de LED. Eén commando om het AAN te zetten en het andere om het UIT te zetten.
  • Voer de opdracht in de seriële monitor in gevolgd door het adres dat u wilt opslaan. bv: trein 20.

Nadat u de opdracht hebt ingevoerd, wacht u tot er een bericht op de seriële monitor verschijnt met de tekst "spreek nu". Spreek nu uw opdracht om de LED AAN te zetten duidelijk en luid genoeg in de microfoon

Als de opdracht duidelijk genoeg is, verschijnt er een ander bericht waarin u wordt gevraagd nogmaals te spreken. Spreek het nogmaals uit om het commando te registreren

De code zal u vragen om de opdracht te herhalen als er ruis optreedt tijdens de opname of als het geluid niet duidelijk genoeg is. De kwaliteit van je microfoon speelt hier een grote rol. Het kan zijn dat u een opdracht niet registreert als uw microfoon niet goed genoeg is. Train het bord ook in een ruisvrije omgeving

Nadat u met succes een stem in de module hebt ingevoerd, herhaalt u hetzelfde proces om het spraakcommando in te voeren om de LED uit te schakelen. Vergeet niet om de opdracht op een ander adres op te slaan. Voor bv: trein 30

Als je beide commando's met succes hebt geladen, ben je nu klaar om de code te uploaden voor het besturen van de LED

De LED bedienen met spraakopdrachten

Open het voorbeeldprogramma voor de aansturing van de LED

Ga naar Bestand -> Voorbeelden -> SpraakherkenningV3 -> vr_sample_control_led

In dit programma worden twee records gedefinieerd als "onrecord" (om de LED aan te zetten) en "offrecord" (om de LED uit te schakelen)

Verander de waarde van "onrecord" in het adres van het spraakcommando dat je hebt getraind om de LED AAN te zetten

  • Verander de waarde van "offrecord" in het adres van het spraakcommando dat je hebt getraind om de LED UIT te zetten.
  • Upload nu de code naar de Arduino. (Ctrl+U)

Dat is alles. Nu ben je klaar om je LED te bedienen met spraakopdrachten.

Stap 4: Resultaat

Image
Image

Om het circuit te testen, spreekt u de commando's uit zoals u het hebt getraind om de LED AAN/UIT te zetten. Onthoud dat de kwaliteit van uw microfoon en het geluid in uw omgeving de uitvoer echt zullen beïnvloeden. Probeer het uit in een ruisvrije omgeving of vervang de microfoon als je geen goed antwoord krijgt op je spraakopdrachten. Open ook de seriële monitor om te controleren of het apparaat reageert op uw spraakopdrachten. Als een commando wordt herkend, toont de seriële monitor een bericht met het adres van het herkende commando.

Proficiat! Je hebt geleerd een LED te bedienen met spraakopdrachten. Nu kunt u elk dergelijk apparaat omzetten in een spraakgestuurd apparaat. Sluit een relaismodule aan op de Arduino om AC-apparaten zoals een gloeilamp of een ventilator te bedienen.

Er zijn talloze mogelijkheden om dit in ons dagelijks leven toe te passen. Deel uw mening in de opmerkingen hieronder.

Ik hoop dat deze instructable je een basisidee heeft gegeven over het gebruik van de Elechouse V3 Voice Recognition-module met Arduino. Als je vragen hebt, stel ze dan hier of stuur een mail naar [email protected]. Ik zal mijn best doen om je te helpen.

Aanbevolen: