DF2301QG Voice Recognition

Omschrijving

De DF2301QG is een kleine redelijk goedkope module, die Voice Recognition kan.
Hij werkt volledig offline, en heeft dus geen internet nodig.
Hij herkent gesproken teksten, en kan hierop reageren.
Er is een vast wake up commando (Hello robot). Denk aan ‘ Hey Google’  als je iets vraagt aan google.
Je kan hem ook 1 zelf ingesproken wake up commando leren.
Daarnaast heeft hij 121 vaste commando’s (in het Engels).
Hiernaast kan je hem 17 eigen ingesproken commando’s leren.

Verder kent ie 2 modus, UART en I2C. Heeft een ingebouwde luidspreker, en er kan direct een externe luidspreker aangesloten worden. Dit geeft een beter geluid.

Ik heb hem op een Arduino Wemos D1 mini V3 aangesloten. Deze vertaald een gesproken opdracht naar een ID, die op zijn beurt mijn Arduino Home system aanstuurd. (Arduino home automation)
Nu kan ik o.a. met gesproken commando’s het licht aan en uit zetten. Omdat de Wemos en de spraak module erg klein zijn, kan je hem portable maken op batterijen.

Uitleg

Er is weinig informatie te vinden op internet over deze module.
Zelf gebruik ik alleen de I2C versie, omdat UART minder mogelijkheden heeft, en ook problemen geeft met Arduino boards die maar 1 hardware UART hebben.
Kan wel, maar niet handig omdat de USB aansluiting om te programeren en de debugging uit te lezen ook gaat via de UART chip.

Het standaard Wake-up woord is ‘Hello robot’.
Om een eigen wake-up woord te leren of eigen commando’s te leren kan je de volgende instructies gebruiken.

Leer wake-up woord

  • Zet in learning mode
    1. Zeg: “Hello Robot”
    2. Zeg: “Learning wake word”
    3. Zeg 3x het woord, de module geeft aan het volgende test woord.

Leer commando woord

  1. Zet in learning mode
    1. Zeg: “Hello Robot”
    2. Zeg: “Learning command word”
    3. Zeg 3x het woord, de module geeft aan het volgende test woord.

Je kan door de module alleen op de 5V aan te sluiten alle commando’s leren. Daar heb je geen Arduino voor nodig. 😉 

LET OP!
Je kan geen commando’s toevoegen, je moet eerdere ingesproken commando’s opnieuw inspreken.

Verwijderen van geleerde commando’s of wake-up woord:

Zeg: “I want to delete”  
Je krijgt van de module 3 mogelijkheden:
“Delete Wake Word”   (wist wake-up word)
“Delete all”  (wist alles, Wake-up woord en alle commando’s)
“Delete Command Word”  (wist command word)

Spreek een van de 3 opties in.

Aansluit schema / Pinouts

Er zitten 2 schakelaars op:

  • I2C / UART keuze (schakelaar C)
  • SPK2 / SPKR1 (schakelaar D) keuze, resp. Externe speaker, Speacker op de print. Connector B.
Opstelling
Specificaties
Bedrijfsspanning3,3 – 5 V
Maximale bedrijfsstroom≤ 370 mA (bij 5 V)
Communicatie‑interfaceI2C / UART
I2C‑adres0x64
Vaste commando’s121
Vaste Wake‑up Commando1
Aangepaste commando’s17
Leeractivatiecommando1
Gevoeligheid ingebouwde microfoon‑28 dB
Modulegrootte49 × 32 mm / 1,93 × 1,26 inch
Bedrijfstemperatuur0 – 70 °C
Schema I2C versie
Schema UART versie
Downloads

Librarie:

Voorbeeld code (beide met een NANO en een 4 regels LCD display:
UART versie:


I2C versie: