Sto davvero iniziando ad amare il mio Arduino ultimamente; Avendo seguito i tutorial di base e persino realizzato un cubo LED, ero pronto ad affrontare qualcosa di molto più complesso. Fortunatamente, il parlato che controlla un progetto Arduino in realtà non è così complesso come pensavo - quindi ecco tre approcci chiaramente diversi che puoi adottare.
Utilizzo di OSX Automator e elementi compatibili
Un modo per farlo è utilizzare le utility di comandi vocali esistenti incorporate in OSX; l'impostazione di comandi personalizzati per attivare le azioni di Automator è semplice. (Se non hai familiarità con Automator, scarica la nostra guida gratuita in formato PDF per automatizzare il tuo Mac!)
Sul lato codice Arduino, stiamo facendo uso di un buffer String dettagliato su questo thread del forum Arduino - questo ci ha permesso di cercare parole esatte nella comunicazione seriale - senza questo, ho trovato il tipo di conversioni tra numeri, byte e stringhe essere problematico Ecco il codice completo di Arduino per l'ascolto di comandi seriali, anche se dovrai aggiungere i tuoi comandi e hardware per controllare effettivamente i dispositivi, in quanto ciò non rientra nell'ambito di questo tutorial del progetto Arduino. Se utilizzi i relay, ricorda che devono essere in grado di gestire 120-240 VAC. Inoltre, se sei nuovo a tutto questo, assicurati di controllare prima la nostra guida Arduino per principianti.
Successivamente, scarica questa utility Arduino-seriale che ci consente di comunicare direttamente con Arduino dalla riga di comando o dallo script di shell. Inseriscilo nella radice della tua directory utente, quindi apri una sessione Terminale e digita:
fare arduino-seriale
per compilare il pacchetto per il tuo sistema.
L'utilizzo di questa utility è abbastanza semplice, ma per i nostri scopi, iniziare digitando
ls /dev/tty.*
per capire su quale porta è acceso Arduino (quello USB). Quindi per inviare un comando, utilizzare:
./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
Sostituisci /dev/tty.usb~ con il nome esatto trovato per la tua porta USB collegata ad Arduino. Fare riferimento alla pagina originale per ulteriori esempi di utilizzo, tra cui ottenere un valore di ritorno, ma questo lo farà per ora.
Una cosa che ho trovato è che ho dovuto "kickstart" l'Arduino inviando un comando usando prima il monitor seriale Arduino, poi tutto ha funzionato bene. Se qualcuno sa perché questo è il caso, mi piacerebbe sentire.
Successivamente, apri Automator e crea una nuova applicazione . Trova l'azione Esegui script di shell, aggiungila e incolla il comando seriale per accendere le luci.
Salvalo nella cartella / speech / Speakable Items con le parole che desideri attivare l'azione - nel mio caso "lights on".
Quindi, abilita i comandi pronunciabili dal pannello delle preferenze di Accessibilità .
Questo tutorial del 2009 Come utilizzare i comandi vocali sul tuo Mac Come utilizzare i comandi vocali sul tuo Mac Leggi di più è ancora pertinente, ma in pratica si desidera abilitare gli elementi vocali globali .
Ecco una demo di tutto ciò che funziona.
Easy VR Shield (Hardware)
EasyVR è uno scudo hardware aggiuntivo che per prima codifica i tuoi campioni vocali pre-registrati, quindi utilizza una soluzione basata su hardware per associarli a modelli. L'installazione è un po 'complicata e ogni comando risponde solo a una singola impronta vocale, ma questa è la scelta più completa se si desidera che il progetto sia indipendente dal computer. L'EasyVR Shield costa £ 35 da CoolComponents nel Regno Unito, o $ 50 da SparkFun negli Stati Uniti. Ecco una demo dello scudo in azione insieme al processo di codifica:
SiriProxy Via Ruby
Se possiedi un iPhone con funzionalità Siri che è stato jailbroken, Siri Proxy è un ottimo modo per sfruttare le funzionalità di riconoscimento vocale del tuo telefono. SiriProxy è un'app Ruby che ascolta i comandi riconosciuti e inviati ai server Apple; aggiungi un modo per comunicare con Arduino e hai SiriProxy-Arduino. L'unico svantaggio è che devi caricare uno schizzo speciale su Arduino che implementa un'API Ruby, quindi dovrai modificarlo o codificare tutto in Ruby sul computer.
Eccolo lì: 3 modi unici per controllare qualsiasi progetto Arduino con la sola voce. Proverai la voce che controlla le tue luci? Pensi di poter utilizzare queste idee in un altro progetto? Fateci sapere nei commenti!