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 så komplicerat som jag trodde - så här är 3 tydligt olika sätt du kan 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 strängbuffert 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 tal, bitgrupper, 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.
Hämta sedan det här Arduino-seriella verktyget som gör att vi kan 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
Byta ut /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.
En sak jag hittade är att jag var tvungen att “sparka igång” Arduino genom att skicka ett kommando med hjälp av Arduino Serial Monitor först då fungerade allt bra. Om någon vet varför så är fallet, skulle jag gärna höra.
Nästa upp, öppna Automator och skapa en ny Ansökan. Hitta Kör ett Shell-skript åtgärd, lägg till den och klistra in i seriekommandot för att slå på lamporna.
Spara det till bibliotek / tal / talbara saker mapp med de ord du vill utlösa åtgärden - i mitt fall “tänds på”.
Aktivera sedan talbara kommandon från Tillgänglighet inställningspanelen.
Denna handledning från 2009 Hur man använder talkommandon på din Mac Hur man använder talkommandon på din Mac Läs mer är fortfarande relevant, men i princip vill du aktivera Global Speakable Items.
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 måste 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!
Utforska mer om: Arduino, Taligenkänning.