Göra en röst kontrollerat fordon! (3 / 3 steg)
Steg 3: Kombinera röstigenkänning med MP3 modul
Även med framgångsrika röststyrning verkar det som något saknas. Vad händer om fordonet kan bemöta oss? Genom att lägga till en mp3-modul till setup, kommer detta vara möjligt. Jag använde en mp3 spelare modul-modulen DFRDuino spelare.
Något värt att notera är att du bättre skulle sätta på ett band på baksidan av modulen för att förhindra kortslutning när du använder den. Ledningarna har mp3 modul en port för seriell stift som ger fem stift inklusive 5V, GND, RX, TX, ut.
Tråd stiften utom ut till mp3 ledningar port röst erkännande modul som bild 2.
5V motsvarar 5V. GND motsvarar GND. RX ska anslutas med TX och TX ska anslutas med RX som visas i bild 3.
Vi lägger till en liten högtalare här.
Steg 2: programmering
Vi behöver programmera den efter avslutad ledningarna. MP3 spelare koden kommer att läggas baserat på tidigare program. Ljudfiler lagras på ett micro SD-kort, kan du använda något som du vill ska motsvara varje svar. Kanske du kan spela in dina egna svar så att det låter som du kan chatta med roboten). Vänligen notera att vi använder seriell kommunikation, så att knappen på modulen röst erkännande bör peka på UART istället för 12 C.
Den koden jag använde är följande:
Annullera slutligen (unsigned char n)
{
Switch(n) / /
{
fall 0:
Serial.println ("qian jin");
Serial.println("\\qian");
förskott (255,255);
bryta;
fall 1:
Serial.println ("hou tui");
Serial.println("\\hou");
back_off (255,255);
bryta;
fall 2:
Serial.println ("zuo zhuan");
Serial.println("\\zuo");
turn_L (100.100);
bryta;
fall 3:
Serial.println ("du zhuan");
Serial.println("\\you");
turn_R (100.100);
bryta;
fall 4:
Serial.println ("ting zhi");
Serial.println("\\zhi");
Stop();
bryta;
fall 5:
Serial.println ("chang ge");
Serial.println("\\bo");
Serial.println("\\2");
bryta;
fall 6:
Serial.println ("zan ting bo");
Serial.println("\\:p");
bryta;
fall 7:
Serial.println ("xu ji bo");
Serial.println("\\:s");
bryta;
mål 8:
Serial.println ("xia yi shou");
Serial.println("\\:n");
bryta;
mål 9:
Serial.println ("shang yi shou");
Serial.println("\\:u");
bryta;
standard:
Serial.println ("fel");
Serial.println ("");
bryta;
}
}
Steg 3: Inse funktionen
Jag skulle vilja förklara de nyckel koder som anges ovan. Att lägga till Serial.println("\\qian") till 0 i mål är att ha MP3 spela en ljud named【qian】 i SD-kort. På samma sätt är att lägga till Serial.println("\\hou") för att mål 1 att ha MP3 spela en ljud named【hou】. Serial.println("\\:p") betyder "stopp" och Serial.println("\\:s") betyder "Fortsätt". Serial.println("\\:n") betyder spelar nästa. Detaljerad introduktion av dessa order finns i online-butik.
Ladda ner programmet och sedan kan du styra detta fordon med röst på ett övergripande sätt. När vi skickar ut ordningen på "advance", spelar mp3 "utföra ordningen för förskott". Det är samma sak med andra order. Något värt att notera är att vi lägger till funktionen av "spelar musik" för detta fordon och det kan känna igen flera order som "play", "paus", "fortsätta", tidigare"och" nästa ".