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 talestyring av et Arduino-prosjekt egentlig ikke så komplisert som jeg hadde trodd - så her er 3 forskjellige forskjellige tilnærminger du kan ta.

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 talestyring av et Arduino-prosjekt egentlig ikke så komplisert som jeg hadde trodd - så her er 3 forskjellige forskjellige tilnærminger du kan ta.
Annonse

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 talestyring 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 at vi kunne søke etter eksakte ord i seriell kommunikasjon - uten dette fant jeg konverteringene 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.

arduino prosjekter

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 

Erstatt /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å.

arduino talekontroll

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 et nytt program . Finn Kjør en Shell Script- handling, legg til den, og lim inn i seriekommandoen for å slå på lysene.

Lagre det i biblioteket / tale / Speakable Items- mappen med ordene du vil utløse handlingen - i mitt tilfelle "lyser på".

arduino talekontroll

Aktiver deretter talbare kommandoer fra tilgjengelighetspanelet .

arduino talekontroll

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 de globale talerne .

arduino prosjekter

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 et 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!

In this article