3 måter å legge til talekontroll til Arduino-prosjekter
Jeg begynner virkelig å elske min Arduino i det siste; Etter å ha gått gjennom de grunnleggende opplæringene og til og med laget en LED-kube, var jeg klar til å takle noe langt mer komplekst. Heldigvis er talekontroll av et Arduino-prosjekt egentlig ikke så komplisert som jeg hadde trodd - så her er 3 forskjellige forskjellige tilnærminger du kan ta.
Bruke OSX Automator og Speakable Items
En måte vi kan gjøre dette på, er å bruke eksisterende talekommandoverktøy som er bygd inn i OSX; Det er enkelt å sette opp egendefinerte kommandoer for å utløse Automator-handlinger. (Hvis du ikke er kjent med Automator, last ned vår gratis PDF-guide for å automatisere Macen din!)
På Arduino-kodesiden bruker vi en String-buffer som er detaljert på denne Arduino-forumtråden - dette gjorde det mulig for oss å søke etter eksakte ord i seriell kommunikasjon - uten dette fant jeg omregningene mellom tall, byte, og strenger å være problematisk. Her er den fulle Arduino-koden for å lytte til serielle kommandoer, selv om du må legge til egne kommandoer og maskinvare for å styre enhetene, da det ikke er ledig av denne Arduino-prosjektopplæringen. Hvis du bruker reléer, husk at de trenger å kunne håndtere 120-240vAC. Også, hvis du er ny på alt dette, sørg for å sjekke ut vår nybegynners Arduino guide først.
Deretter laster du ned dette Arduino-serielle verktøyet som gjør at vi kan kommunisere direkte med Arduino fra kommandolinjen eller shell-skriptet. Plasser dette i roten til brukerkatalogen din, og åpne deretter en Terminal-økt og skriv:
lag arduino-seriell
å kompilere pakken for systemet ditt.
Bruk av dette verktøyet er ganske enkelt, men for våre formål begynner du å skrive
ls /dev/tty.*
å finne ut hvilken port din Arduino er på (USB-en). Deretter sender du en kommando, bruk:
./ arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411-s lightsOn
Erstatte /dev/tty.usb~ med det nøyaktige navnet du fant for din USB-port som er koblet til Arduino. Se på den opprinnelige siden for flere brukseksempler, inkludert å få en returverdi, men dette vil gjøre for nå.
En ting jeg fant er at jeg måtte “kickstart” Arduino ved å sende en kommando ved hjelp av Arduino Serial Monitor Først da fungerte alt bra. Hvis noen vet hvorfor dette er tilfelle, vil jeg gjerne høre.
Neste opp, åpne Automator og opprett en ny applikasjon. Finn Kjør et Shell-skript handling, legg til det, og lim inn i seriekommandoen for å slå på lysene.
Lagre det til bibliotek / tale / snakkesaker mappe med ordene du vil utløse handlingen - i mitt tilfelle “lys på”.
Aktiver deretter talbare kommandoer fra tilgjengelighet preferanser panel.
Denne veiledningen fra 2009 Slik bruker du talekommandoer på din Mac Slik bruker du talekommandoer på din Mac Les mer er fortsatt relevant, men i utgangspunktet vil du aktivere Global Speakable Items.
Her er en demonstrasjon av alt som fungerer.
Enkel VR-skjerm (maskinvare)
EasyVR er et tilleggs-maskinvare skjold som først koder for dine forhåndsinnspilte taleprøver, og bruker en maskinvarebasert løsning for mønster-matching dem. Oppsettet er litt komplisert, og hver kommando reagerer bare på et enkeltstempel, men dette er det mest omfattende valget hvis du vil at prosjektet skal være uavhengig av datamaskinen. EasyVR Shield koster £ 35 fra CoolComponents i Storbritannia, eller $ 50 fra SparkFun i USA. Her er en demonstrasjon av skjoldet i handlingen sammen med kodingsprosessen:
SiriProxy Via Ruby
Hvis du har en Siri-kompatibel iPhone som har vært jailbroken, er Siri Proxy en fin måte å utnytte funksjonene til talegjenkjenning på telefonen din. SiriProxy er en Ruby app som lytter inn på kommandoene som blir anerkjent og sendt til Apples servere; legg til på en måte å kommunisere med Arduino, og du har SiriProxy-Arduino. Den eneste ulempen er at du må laste opp en spesiell skisse til Arduino som implementerer en Ruby API, så du må enten justere det eller kodes alt i Ruby på datamaskinens side.
Der har du det - 3 unike måter å kontrollere et hvilket som helst Arduino-prosjekt med stemmen din alene. Vil du prøve stemmen styring av lysene dine? Tror du at du kunne bruke disse ideene i et annet prosjekt? Gi oss beskjed i kommentarene!
Utforsk mer om: Arduino, Talegjenkjenning.