Annons
Jag börjar verkligen älska min Arduino nyligen; Efter att ha gått igenom de grundläggande självstudierna och till och med gjort en LED-kub var jag redo att ta itu med något mycket mer komplicerat. Lyckligtvis är tal som styr ett Arduino-projekt verkligen inte så komplicerat som jag trodde - så här är tre tydligt olika tillvägagångssätt som du kan ta.
Använda OSX Automator och talbara objekt
Ett sätt vi kan göra detta är att använda de befintliga talkommandofunktionerna som är inbyggda i OSX; Det är enkelt att ställa in anpassade kommandon för att utlösa Automator-åtgärder. (Om du inte känner till Automator, ladda ner vår gratis PDF-guide för automatisering av din Mac Awesome Automation Guide för Mac-användareOavsett om det är att sortera din e-post, söka i dina dokument eller bygga en spellista, skulle du bli förvånad över hur många uppgifter som kan göras automatiskt istället för manuellt - om du bara visste hur du kommer igång. Läs mer !)
På sidan Arduino-kod använder vi en strängbuffert som är detaljerad om detta
Arduino forumtråd - detta gjorde det möjligt för oss att söka efter exakta ord i seriekommunikationen - utan detta hittade jag typkonvertering mellan tal, 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 dina egna kommandon och hårdvara för att faktiskt styra enheterna, eftersom det är utanför ramen för denna Arduino-projektstudie. Om du använder reläer, kom ihåg att de måste kunna hantera 120-240vAC. Om du är ny på allt detta, se till att det finns nybörjare Arduino guide Komma igång med Arduino: En nybörjarguideArduino är en open-source elektronikprototypplattform baserad på flexibel, lättanvänd hårdvara och mjukvara. Den är avsedd för konstnärer, designers, hobbyister och alla som är intresserade av att skapa interaktiva objekt eller miljöer. Läs mer först.
Ladda ner det här Arduino-serieverktyg vilket 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öra arduino-serie
för att sammanställa paketet för ditt system.
Användningen av detta verktyg är ganska enkelt, men börjar med att skriva
ls /dev/tty.*
för att ta reda på vilken port din Arduino är på (USB-enheten). För att skicka ett kommando använder du:
./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lampor På
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 kommer att göra för nu.

En sak jag hittade är att jag var tvungen att "kickstarta" Arduino genom att skicka ett kommando med hjälp av Arduino Serial Monitor först, sedan fungerade allt bra. Om någon vet varför detta är fallet skulle jag gärna höra det.
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 tända lamporna.
Spara det till bibliotek / tal / talbara objekt mapp med orden du vill utlösa åtgärden - i mitt fall "tänds".

Aktivera sedan talbara kommandon från Tillgänglighet inställningspanelen.

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

Här är en demo av att allt fungerar.
Lätt VR-sköld (hårdvara)
EasyVR är en tilläggsmaskinvarusköld som först kodar dina förinspelade talprover och sedan använder en hårdvarubaserad lösning för att matcha dem. Installationen är lite komplicerad, och varje kommando svarar bara på ett enda röstavtryck, men detta är det mest omfattande valet om du vill att projektet ska vara datoroberoende. 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-kapabel iPhone som har blivit jailbroken, Siri Proxy är ett utmärkt sätt att utnyttja telefonens röstigenkänningsfunktioner. SiriProxy är en Ruby-app som lyssnar på kommandona som identifieras och skickas till Apples servrar; lägg till på ett sätt att kommunicera med Arduino, och det har du SiriProxy-Arduino. Den enda nackdelen är att du måste ladda upp en speciell skiss till Arduino som implementerar ett Ruby API, så du behöver antingen justera det eller koda allt i Ruby på datorsidan.
Där har du det - 3 unika sätt att kontrollera alla Arduino-projekt med din röst ensam. Kommer du att pröva röst som styr dina ljus? Tror du att du skulle kunna använda dessa idéer i ett annat projekt? Låt oss veta i kommentarerna!
James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.