Advertentie
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 complexers aan te pakken. Gelukkig is spraakbesturing van een Arduino-project echt niet zo ingewikkeld als ik dacht - dus hier zijn 3 duidelijk verschillende benaderingen die je kunt volgen.
OSX Automator en Speakable Items gebruiken
Een manier om dit te doen is door gebruik te maken van de bestaande spraakopdrachten die in OSX zijn ingebouwd; het instellen van aangepaste opdrachten om Automator-acties te activeren is eenvoudig. (Als u onbekend bent met Automator, download dan onze gratis pdf-gids voor het automatiseren van uw Mac De Awesome Automation Guide voor Mac-gebruikersOf het nu gaat om het sorteren van uw e-mail, het doorzoeken van uw documenten of het samenstellen van een afspeellijst, u zult versteld staan hoeveel taken automatisch kunnen worden uitgevoerd in plaats van handmatig - als u maar wist hoe u moest beginnen. Lees verder !)
Aan de Arduino-codekant maken we gebruik van een Stringbuffer die hierover gedetailleerd wordt beschreven Arduino forumthread - dit stelde ons in staat om te zoeken naar exacte woorden in de seriële communicatie - zonder dit vond ik de type conversies tussen nummers, bytes, en snaren problematisch zijn. Hier is de volledige Arduino-code voor het luisteren naar seriële commando's, hoewel je je eigen commando's en hardware moet toevoegen om de apparaten daadwerkelijk te besturen, want dat valt buiten het bestek van deze Arduino-projecthandleiding. Als je relais gebruikt, onthoud dan dat ze het aankunnen 120-240vAC. Als je nog niet bekend bent met dit alles, kijk dan eens naar onze beginners Arduino-gids Aan de slag met Arduino: een beginnershandleidingArduino is een open-source prototypeplatform voor elektronica, gebaseerd op flexibele, gebruiksvriendelijke hardware en software. Het is bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen. Lees verder eerste.
Download dit vervolgens Arduino-serieel hulpprogramma waarmee we rechtstreeks met de Arduino kunnen communiceren vanaf de opdrachtregel of het shell-script. Plaats dit in de root van uw gebruikersdirectory, open vervolgens een Terminal-sessie en typ:
maak arduino-serie
om het pakket voor uw systeem samen te stellen.
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 uw Arduino zich bevindt (de USB-poort). Gebruik vervolgens om een opdracht te verzenden:
./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lichten aan
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, waaronder het verkrijgen van een retourwaarde, maar dit is voorlopig voldoende.
Een ding dat ik vond, was dat ik de Arduino moest "kickstarten" door een commando te sturen met de Arduino seriële monitor eerst werkte alles goed. Als iemand weet waarom dit het geval is, dan hoor ik dat graag.
Open vervolgens Automator en maak een nieuwe Toepassing. Vind de Voer een Shell-script uit actie, voeg het toe en plak in het seriële commando om de lichten aan te doen.
Bewaar dat in de bibliotheek / spraak / Speakable Items map met de woorden die u de actie wilt laten activeren - in mijn geval 'licht op'.
Schakel vervolgens de spraakopdrachten in vanaf de Toegankelijkheid voorkeurenpaneel.
Deze tutorial uit 2009 Spraakopdrachten gebruiken op uw Mac Lees verder is nog steeds relevant, maar eigenlijk wilt u de Global Speakable Items.
Hier is een demo van hoe alles werkt.
Easy VR Shield (hardware)
EasyVR is een add-on hardwareschild dat eerst uw vooraf opgenomen spraakmonsters codeert en vervolgens een hardwarematige oplossing gebruikt voor patroonafstemming. De installatie is een beetje ingewikkeld en elke opdracht reageert slechts op één stemafdruk, maar dit is de meest uitgebreide keuze als u wilt dat het project computeronafhankelijk is. Het EasyVR-schild kost £ 35 van CoolComponents in het VK, of $ 50 van SparkFun in de Verenigde Staten. Hier is een demo van het schild in actie samen met het coderingsproces:
SiriProxy Via Ruby
Als je een Siri-compatibele iPhone hebt die gejailbreakt is, Siri Proxy is een geweldige manier om de spraakherkenningsmogelijkheden van uw telefoon te benutten. SiriProxy is een Ruby-app die luistert naar de opdrachten die worden herkend en naar de servers van Apple worden gestuurd; op een manier toevoegen om met Arduino te communiceren, en je hebt SiriProxy-Arduino. Het enige nadeel is dat je een speciale schets moet uploaden naar de Arduino die een Ruby API implementeert, dus je moet dat aanpassen of alles in Ruby aan de computerzijde coderen.
Daar heb je het - 3 unieke manieren om elk Arduino-project met je stem alleen te besturen. Probeer je stem om je lichten te besturen? Denk je dat je deze ideeën in een ander project zou kunnen gebruiken? Laat het ons weten in de comments!
James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.