Ich fange langsam an, meinen Arduino in letzter Zeit zu lieben; Nachdem ich die grundlegenden Tutorials durchgearbeitet und sogar einen LED-Cube gemacht hatte, war ich bereit, etwas viel Komplexeres anzugehen. Glücklicherweise ist die Sprache, die ein Arduino-Projekt steuert, wirklich nicht so komplex, wie ich es mir vorgestellt habe - daher hier drei verschiedene Ansätze, die Sie verwenden können.
Verwenden von OSX Automator und Speakable Items
Eine Möglichkeit, dies zu tun, besteht darin, die vorhandenen Sprachbefehlsdienstprogramme zu verwenden, die in OSX integriert sind; Das Einrichten benutzerdefinierter Befehle zum Auslösen von Automator-Aktionen ist einfach. (Wenn Sie mit Automator nicht vertraut sind, laden Sie unseren kostenlosen PDF-Leitfaden herunter, um Ihren Mac zu automatisieren!)
Auf der Arduino-Codepage verwenden wir einen String-Puffer, der in diesem Arduino-Forum-Thread ausführlich beschrieben ist - dies ermöglichte uns, nach genauen Wörtern in der seriellen Kommunikation zu suchen - ohne dass ich die Typkonvertierungen zwischen Zahlen, Bytes und Strings fand problematisch sein. Hier ist der vollständige Arduino-Code zum Abhören von seriellen Befehlen, obwohl Sie Ihre eigenen Befehle und Hardware hinzufügen müssen, um die Geräte tatsächlich zu steuern, da dies außerhalb des Umfangs dieses Arduino-Projekt-Tutorials liegt. Wenn Sie Relais verwenden, denken Sie daran, dass sie 120-240VAC verarbeiten können müssen. Wenn Sie neu bei all dem sind, sollten Sie zuerst unseren Arduino-Leitfaden für Anfänger lesen.
Als nächstes laden Sie dieses Arduino-serielle Dienstprogramm herunter, das uns ermöglicht, direkt mit dem Arduino über die Befehlszeile oder das Shell-Skript zu kommunizieren. Setzen Sie diese in den Stamm Ihres Benutzerverzeichnisses, öffnen Sie dann eine Terminal-Sitzung und geben Sie Folgendes ein:
mache Arduino-Serien
um das Paket für Ihr System zu kompilieren.
Die Verwendung dieses Dienstprogramms ist ziemlich einfach, aber für unsere Zwecke beginnen Sie mit der Eingabe
ls /dev/tty.*
um herauszufinden, auf welchem Port Ihr Arduino ist (der USB-Anschluss). Verwenden Sie dann zum Senden eines Befehls:
./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
Ersetzen Sie /dev/tty.usb~ durch den genauen Namen, den Sie für Ihren mit dem Arduino verbundenen USB-Port gefunden haben. Auf der Originalseite finden Sie weitere Anwendungsbeispiele, darunter einen Rückgabewert, aber das wird jetzt reichen.
Eine Sache, die ich fand, ist, dass ich den Arduino "Kickstarten" musste, indem ich zuerst einen Befehl mit dem Arduino Serial Monitor schickte, dann funktionierte alles gut. Wenn jemand weiß, warum das der Fall ist, würde ich gerne hören.
Als nächstes öffnen Sie Automator und erstellen Sie eine neue Anwendung . Suchen Sie die Aktion " Shell-Skript ausführen", fügen Sie sie hinzu und fügen Sie den seriellen Befehl ein, um die Lichter einzuschalten.
Speichern Sie das im Ordner Bibliothek / Rede / Speakable Items mit den Wörtern, die Sie auslösen möchten - in meinem Fall "leuchtet".
Aktivieren Sie dann sprechbare Befehle in den Eingabehilfeneinstellungen.
Dieses Tutorial von 2009 Verwenden von Sprachbefehlen auf Ihrem Mac So verwenden Sie Sprachbefehle auf Ihrem Mac Read More ist immer noch relevant, aber Sie möchten grundsätzlich die globalen sprechbaren Elemente aktivieren .
Hier ist eine Demo von allem, was funktioniert.
Einfaches VR-Schild (Hardware)
EasyVR ist ein Add-On-Hardware-Shield, der zuerst Ihre voraufgezeichneten Sprachproben codiert und dann eine hardwarebasierte Lösung für die Mustererkennung verwendet. Das Setup ist ein wenig kompliziert und jeder Befehl reagiert nur auf einen einzelnen Sprachaufdruck, aber dies ist die umfassendste Wahl, wenn Sie möchten, dass das Projekt computerunabhängig ist. Das EasyVR Shield kostet £ 35 von CoolComponents in Großbritannien oder $ 50 von SparkFun in den USA. Hier ist eine Demonstration des Schildes in Aktion und der Kodierungsprozess:
SiriProxy über Ruby
Wenn Sie ein Siri-fähiges iPhone haben, das jailbroken wurde, ist Siri Proxy eine gute Möglichkeit, die Spracherkennung Ihres Telefons zu nutzen. SiriProxy ist eine Ruby-App, die die erkannten Befehle überwacht und an die Server von Apple sendet. fügen Sie in einer Weise hinzu, um mit Arduino zu kommunizieren, und Sie haben SiriProxy-Arduino. Der einzige Nachteil ist, dass Sie eine spezielle Skizze auf den Arduino hochladen müssen, die eine Ruby-API implementiert, also müssen Sie entweder anpassen oder alles auf der Computer-Seite in Ruby codieren.
Da haben Sie es - 3 einzigartige Möglichkeiten, jedes Arduino-Projekt mit Ihrer Stimme allein zu steuern. Wirst du versuchen, deine Lichter zu steuern? Denkst du, du könntest diese Ideen in einem anderen Projekt nutzen? Lass es uns in den Kommentaren wissen!