Annonse
Jeg begynner virkelig å elske Arduino min i det siste; Etter å ha gått gjennom de grunnleggende opplæringsprogrammene og til og med laget en LED-kube, var jeg klar til å takle noe langt mer komplekst. Heldigvis er tale som kontrollerer et Arduino-prosjekt egentlig ikke så komplisert som jeg trodde - så her er det tre forskjellige tilnærminger du kan ta.
Bruke OSX Automator og taleverdige elementer
En måte vi kan gjøre dette på, er å bruke de eksisterende talekommandoverktøyene som er innebygd i OSX; Det er enkelt å sette opp tilpassede kommandoer for å utløse Automator-handlinger. (Hvis du ikke er kjent med Automator, kan du laste ned vår gratis PDF-guide for automatisering av Mac-en The Awesome Automation Guide for Mac-brukereEnten det er å sortere e-posten din, søke i dokumentene dine eller bygge en spilleliste, vil du bli overrasket over hvor mange oppgaver som kan gjøres automatisk i stedet for manuelt - hvis du bare vet hvordan du kommer i gang. Les mer !)
På Arduino-kodesiden bruker vi en strengbuffer som er detaljert om dette
Arduino forumtråd - dette gjorde det mulig for oss å søke etter eksakte ord i seriekommunikasjonen - uten dette fant jeg typen konvertering 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 dine egne kommandoer og maskinvare for å faktisk kontrollere enhetene, da det er utenfor omfanget av denne Arduino-prosjektopplæringen. Hvis du bruker stafetter, husk at de må være i stand til å håndtere 120-240vAC. Hvis du er ny på alt dette, må du huske å sjekke nybegynnerne Arduino guide Komme i gang med Arduino: En nybegynnerguideArduino er en åpen kildekode-prototypeplattform for elektronikk basert på fleksibel, brukervennlig maskinvare og programvare. Den er beregnet på kunstnere, designere, hobbyister og alle som er interessert i å lage interaktive objekter eller miljøer. Les mer først.Last deretter ned dette Arduino-serieverktøy som gjør oss i stand til å kommunisere direkte med Arduino fra kommandolinjen eller shell-skriptet. Plasser dette i roten til brukerkatalogen, åpne deretter en terminaløkt og skriv:
lage arduino-serie
for å kompilere pakken for systemet ditt.
Bruken av dette verktøyet er ganske enkelt, men begynner for vårt formål å skrive
ls /dev/tty.*
å finne ut hvilken port Arduino er på (USB-en). For å sende en kommando bruker du:
./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lys På
Erstatte /dev/tty.usb~ med det nøyaktige navnet du fant for USB-porten din koblet til Arduino. Se den originale siden for flere brukseksempler, inkludert å få en returverdi, men dette vil gjøre for nå.
En ting jeg fant var at jeg måtte "kickstart" Arduinoen ved å sende en kommando ved å bruke Arduino Serial Monitor først, så fungerte alt fint. Hvis noen vet hvorfor dette er tilfelle, vil jeg gjerne høre det.
Neste opp, åpne Automator og opprette en ny applikasjon. Finn Kjør et Shell-script handling, legg den til og lim inn den serielle kommandoen for å slå på lysene.
Lagre det til bibliotek / tale / Utrolige ting mappen med ordene du vil utløse handlingen - i mitt tilfelle "tennes".
Aktiver deretter snakkbare kommandoer fra tilgjengelighet innstillinger panel.
Denne opplæringen fra 2009 Slik bruker du talekommandoer på Mac-en Les mer er fremdeles relevant, men i utgangspunktet vil du aktivere Globale taleverdige elementer.
Her er en demonstrasjon av at det hele fungerer.
Enkel VR-skjold (maskinvare)
EasyVR er et tilleggsskjerm til maskinvare som først koder for forhåndsinnspilte taleprøver, og deretter bruker en maskinvarebasert løsning for å matche dem. Oppsettet er litt komplisert, og hver kommando svarer bare på et enkelt stemmeavtrykk, men dette er det mest omfattende valget hvis du vil at prosjektet skal være datamaskinuavhengig. EasyVR Shield koster £ 35 fra CoolComponents i Storbritannia, eller 50 dollar fra SparkFun i USA. Her er en demonstrasjon av skjoldet i aksjon sammen med kodingsprosessen:
SiriProxy Via Ruby
Hvis du har en Siri-kompatibel iPhone som er blitt fengslet, Siri Proxy er en flott måte å utnytte stemmegjenkjenningsfunksjonene til telefonen din. SiriProxy er en Ruby-app som lytter på på kommandoene som blir gjenkjent og sendt til Apples servere; legge til på en måte å kommunisere med Arduino, og det har du SiriProxy-Arduino. Den eneste ulempen er at du trenger å laste opp en spesiell skisse til Arduino som implementerer et Ruby API, så du trenger enten å justere det, eller kode alt i Ruby på datamaskinsiden.
Der har du det - 3 unike måter å kontrollere ethvert Arduino-prosjekt med stemmen din alene. Vil du prøve stemme å kontrollere lysene dine? Tror du at du kan benytte deg av disse ideene i et annet prosjekt? Gi oss beskjed i kommentarene!
James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.