3 sätt att lägga till talkontroll till Arduino-projekt

Jag börjar verkligen älska min Arduino nyligen att ha gått igenom de grundläggande handledningarna och till och med gjort en LED-kub, var jag redo att ta itu med någonting mer komplicerat. Lyckligtvis är talstyrning av ett Arduino-projekt verkligen inte lika komplicerat som jag trodde - så här är 3 tydligt olika sätt att ta.

Jag börjar verkligen älska min Arduino nyligen  att ha gått igenom de grundläggande handledningarna och till och med gjort en LED-kub, var jag redo att ta itu med någonting mer komplicerat.  Lyckligtvis är talstyrning av ett Arduino-projekt verkligen inte lika komplicerat som jag trodde - så här är 3 tydligt olika sätt att ta.
Annons

arduino-projekt Jag börjar verkligen älska min Arduino nyligen att ha gått igenom de grundläggande handledningarna och till och med gjort en LED-kub, var jag redo att ta itu med någonting mer komplicerat. Lyckligtvis är talstyrning av ett Arduino-projekt verkligen inte lika komplicerat som jag trodde - så här är 3 tydligt olika sätt att ta.

Använda OSX Automator och Speakable Items

Ett sätt att vi kan göra detta är att använda de befintliga talkommandotverktyg som är inbyggda i OSX; Det går enkelt att konfigurera anpassade kommandon för att utlösa Automator-åtgärder. (Om du inte är känd med Automator, ladda ner vår gratis PDF-guide för att automatisera din Mac!)

På Arduino-kodsidan använder vi en String-buffert som beskrivs på denna Arduino-forumtråd - det här möjliggjorde att vi letade efter exakta ord i seriell kommunikation - utan det här hittade jag typkonverteringarna mellan siffror, byte och strängar att vara problematisk. Här är den fullständiga Arduino-koden för att lyssna på seriella kommandon, men du måste lägga till egna kommandon och hårdvara för att kunna styra enheterna, eftersom det inte ligger inom ramen för denna Arduino-projekthandledning. Om du använder reläer, kom ihåg att de måste kunna hantera 120-240vAC. Också, om du är ny på allt detta, se till att kolla in vår nybörjares Arduino guide först.

arduino-projekt

Hämta sedan det här Arduino-seriella verktyget som gör det möjligt för oss att kommunicera direkt med Arduino från kommandoraden eller skalskriptet. Placera detta i roten till din användarkatalog, öppna sedan en terminalsession och skriv:

 gör arduino-seriell 

att kompilera paketet för ditt system.

Användning av det här verktyget är ganska enkelt, men för vårt syfte börjar med att skriva

 ls /dev/tty.* 

för att ta reda på vilken port din Arduino är på (USB-en). Sedan ska du skicka ett kommando genom att använda

 ./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411-s lightsOn 

Byt /dev/tty.usb~ med det exakta namnet du hittade för din USB-port ansluten till Arduino. Se den ursprungliga sidan för fler användningsexempel, inklusive att få ett returvärde, men det gör det för tillfället.

arduino talkontroll

En sak som jag hittade var att jag måste "kickstart" Arduino genom att skicka ett kommando med Arduino Serial Monitor först, då fungerade allt bra. Om någon vet varför så är fallet, skulle jag gärna höra.

Därefter öppnar du Automator och skapar en ny applikation . Hitta funktionen Kör en Shell Script, lägg till den och klistra in i seriekommandot för att slå på lamporna.

Spara det i biblioteket / tal / Speakable Items- mappen med de ord du vill utlösa åtgärden - i mitt fall "tänds".

arduino talkontroll

Aktivera sedan talbara kommandon från panelen Tillgänglighet .

arduino talkontroll

Denna handledning från 2009 Så här använder du talkommandon på din Mac Hur man använder talkommandon på din Mac Läs mer är fortfarande relevant, men i princip vill du aktivera de globala talbara objekten .

arduino-projekt

Här är en demonstration av allt som fungerar.

Enkel VR Shield (Hårdvara)

EasyVR är en tilläggsskärm som först kodar för dina inspelade talprover och använder en hårdvarubaserad lösning för att matcha dem. Inställningen är lite komplicerad, och varje kommando svarar bara på en enda röstavtryck, men det här är det mest omfattande valet om du vill att projektet ska vara datorständigt. EasyVR Shield kostar £ 35 från CoolComponents i Storbritannien, eller $ 50 från SparkFun i USA. Här är en demo av skölden i aktion tillsammans med kodningsprocessen:

SiriProxy Via Ruby

Om du har en Siri-kompatibel iPhone som har varit jailbroken, är Siri Proxy ett utmärkt sätt att utnyttja röstigenkänningsfunktionerna hos telefonen. SiriProxy är en Ruby app som lyssnar in på kommandona som erkänns och skickas till Apples servrar; lägg till på ett sätt att kommunicera med Arduino, och du har SiriProxy-Arduino. Den enda nackdelen är att du behöver ladda upp en special skiss till Arduino som implementerar ett Ruby API, så du måste antingen justera det eller koda allt i Ruby på datorns sida.

Där har du det - 3 unika sätt att styra alla Arduino-projekt med din röst ensam. Kommer du försöka röststyrning dina lampor? Tror du att du kan använda dessa idéer i ett annat projekt? Låt oss veta i kommentarerna!

In this article