3 manieren om spraakbesturing toe te voegen aan Arduino-projecten
Ik begin de laatste tijd echt van mijn Arduino te houden; nadat ik de basis tutorials had doorlopen en zelfs een LED-kubus had gemaakt, was ik klaar om iets veel ingewikkelder aan te pakken. Gelukkig is spraak die een Arduino-project stuurt echt niet zo complex als ik had gedacht - dus hier zijn 3 duidelijk verschillende benaderingen die je kunt nemen.
OSX Automator en Speakable Items gebruiken
Een manier om dit te doen is door gebruik te maken van de bestaande hulpprogramma's voor spraakopdrachten die in OSX zijn ingebouwd; het instellen van aangepaste opdrachten om Automator-acties te activeren is eenvoudig. (Als u niet bekend bent met Automator, download dan onze gratis PDF-gids voor het automatiseren van uw Mac!)
Aan de Arduino-codekant maken we gebruik van een String-buffer die is gedetailleerd op deze Arduino-forumthread - dit stelde ons in staat om te zoeken naar exacte woorden in de seriële communicatie - zonder dit vond ik de soortconversies tussen getallen, bytes, en strings problematisch zijn. Hier is de volledige Arduino-code voor het luisteren naar seriële commando's, maar je zult je eigen commando's en hardware moeten toevoegen om de apparaten daadwerkelijk te besturen, want dat valt buiten de scope van deze Arduino project-tutorial. Als u relais gebruikt, moet u onthouden dat ze moeten kunnen werken 120-240vAC. Als je nieuw bent in dit alles, lees dan eerst de Arduino-handleiding voor beginners.
Download vervolgens dit Arduino-serial hulpprogramma waarmee we rechtstreeks met de Arduino kunnen communiceren vanaf de opdrachtregel of het shellscript. Plaats dit in de hoofdmap van uw gebruikersdirectory, open een Terminal-sessie en typ:
maak arduino-serial
om het pakket voor uw systeem te compileren.
Het gebruik van dit hulpprogramma is vrij eenvoudig, maar voor onze doeleinden, begint u met typen
ls /dev/tty.*
om erachter te komen op welke poort je Arduino staat (de USB-poort). Gebruik vervolgens om een opdracht te verzenden:
./ arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
Vervangen /dev/tty.usb~ met de exacte naam die je hebt gevonden voor je USB-poort die is aangesloten op de Arduino. Raadpleeg de originele pagina voor meer gebruiksvoorbeelden inclusief een retourwaarde, maar dit zal voorlopig wel gebeuren.
Een ding dat ik vond was dat ik moest “kickstart” de Arduino door een commando te sturen met behulp van de Arduino seriële monitor eerst werkte alles goed. Als iemand weet waarom dit het geval is, zou ik het graag horen.
Volgende omhoog, open Automator en maak een nieuwe Toepassing. Vind de Voer een shellscript uit actie, voeg het toe en plak in het seriële commando om de verlichting in te schakelen.
Bewaar dat voor de bibliotheek / spraak / Speakable Items map met de woorden die u wilt activeren - in mijn geval “lichten aan”.
Schakel vervolgens spraakbare opdrachten van de Toegankelijkheid voorkeurenpaneel.
Deze tutorial uit 2009 Spraakopdrachten gebruiken op je Mac Speech-commando's gebruiken op je Mac Read More is nog steeds relevant, maar eigenlijk wil je de Global Speakable Items.
Hier is een demo van dat alles werkt.
Easy VR Shield (hardware)
EasyVR is een extra hardware-bescherming die eerst uw vooraf opgenomen spraaksamples codeert en vervolgens een op hardware gebaseerde oplossing gebruikt voor het matchen van patronen. De setup is een beetje ingewikkeld en elke opdracht reageert alleen op een enkele stem, maar dit is de meest uitgebreide keuze als u wilt dat het project computeronafhankelijk is. Het EasyVR-schild kost £ 35 van CoolComponents in het Verenigd Koninkrijk of $ 50 van SparkFun in de VS. Hier is een demo van het schild in actie samen met het coderingsproces:
SiriProxy Via Ruby
Als je een Siri-compatibele iPhone hebt die is gejailbreakt, is Siri Proxy een geweldige manier om gebruik te maken van de spraakherkenningsmogelijkheden van je telefoon. SiriProxy is een Ruby-app die luistert naar de opdrachten die worden herkend en verzonden naar de servers van Apple; voeg een manier toe om met Arduino te communiceren, en je hebt SiriProxy-Arduino. Het enige nadeel is dat je een speciale sketch naar de Arduino moet uploaden die een Ruby API implementeert, dus je zult dat moeten aanpassen of alles in Ruby op de computer moeten coderen.
Daar heb je het - 3 unieke manieren om elk Arduino-project te besturen met alleen je stem. Probeer je stem je lichten te besturen? Denk je dat je deze ideeën zou kunnen gebruiken in een ander project? Laat het ons weten in de comments!
Ontdek meer over: Arduino, Spraakherkenning.