3 moduri de a adăuga controlul vorbirii la proiectele Arduino
Încep cu adevărat să-mi iubesc Arduino în ultima vreme; trecând prin tutorialele de bază și chiar făcând un cub LED, am fost gata să mă ocup de ceva mult mai complex. Din fericire, controlul vorbirii asupra unui proiect Arduino nu este într-adevăr atât de complex cum credeam - deci există trei abordări distinct diferite pe care le puteți lua.
Utilizarea elementelor de automatizare OSX și a elementelor vorbite
O modalitate prin care putem face acest lucru este folosirea utilitarelor de comandă vocală existente încorporate în OSX; setarea comenzilor personalizate pentru declanșarea acțiunilor Automator este simplă. (Dacă nu sunteți familiarizați cu Automator, descărcați ghidul PDF gratuit pentru automatizarea calculatorului dvs. Mac!)
Pe partea codului Arduino, folosim un tampon String detaliat pe acest fir forum Arduino - acest lucru ne-a permis să căutăm cuvinte exacte în comunicarea serială - fără aceasta, am găsit conversiile de tip între numerele, bytes, și siruri de caractere să fie problematică. Iată codul complet Arduino pentru a asculta comenzile seriale, deși va trebui să adăugați comenzile și hardware-ul propriu pentru a controla de fapt dispozitivele, deoarece acestea nu fac parte din acest tutorial al proiectului Arduino. Dacă folosiți relee, amintiți-vă că trebuie să fie capabili să se ocupe 120-240vAC. De asemenea, dacă sunteți nou la toate astea, asigurați-vă că mai întâi verificați ghidul pentru începători al Arduino.
Apoi, descarcă acest utilitar Arduino-serial care ne permite să comunicăm direct cu Arduino din linia de comandă sau din shell. Plasați-o în rădăcina directorului dvs. de utilizator, apoi deschideți o sesiune Terminal și introduceți:
face arduino-serial
pentru a compila pachetul pentru sistemul dvs..
Utilizarea acestui utilitar este destul de simplă, dar pentru scopurile noastre, începe prin a scrie
ls /dev/tty.*
pentru a afla care port arduino dvs. este pe (cel USB). Apoi, pentru a trimite o comandă, utilizați:
./ arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lumini On
A inlocui /dev/tty.usb~ cu numele exact pe care l-ați găsit pentru portul USB conectat la Arduino. Consultați pagina originală pentru mai multe exemple de utilizare, inclusiv obținerea unei valori de returnare, dar acest lucru se va face pentru moment.
Un lucru pe care l-am găsit este că trebuie să fac asta “Kickstart” Arduino prin trimiterea unei comenzi utilizând Arduino Serial Monitor în primul rând, atunci totul a funcționat bine. Dacă cineva știe de ce este cazul, mi-ar plăcea să aud.
Următorul, deschis Automator și să creeze un nou cerere. Găsi Rulați un Shell Script acțiune, adăugați-o și lipiți-o în comanda serial pentru a activa luminile.
Salvați asta la bibliotecă / vorbire / elemente de vorbire dosar cu cuvintele pe care doriți să declanșați acțiunea - în cazul meu “lumini aprinse”.
Apoi, permiteți comenzile vorbite de la Accesibilitate panoul de preferințe.
Acest tutorial din 2009 Cum se utilizează comenzile de vorbire pe Mac Cum se utilizează comenzile de vorbire pe Mac dvs. Citiți mai multe este încă relevantă, dar în principiu doriți să activați Articolele globale vorbite.
Iată un demo din tot ce funcționează.
Ușor de protecție VR (hardware)
EasyVR este un scut hardware suplimentar care codifică în prealabil probele de vorbire preînregistrate, apoi utilizează o soluție bazată pe hardware pentru a le potrivi. Configurarea este puțin complicată și fiecare comandă răspunde doar la o singură amprentă vocală, dar aceasta este cea mai cuprinzătoare alegere dacă doriți ca proiectul să fie independent de calculator. EasyVR Shield costă 35 de lire sterline de la CoolComponents din Marea Britanie, sau 50 de dolari de la SparkFun din SUA. Iată o demonstrație a scutului în acțiune împreună cu procesul de codificare:
SiriProxy Via Ruby
Dacă aveți un iPhone compatibil cu Siri, care a fost jailbroken, Siri Proxy este o modalitate foarte bună de a valorifica capacitățile de recunoaștere vocală ale telefonului. SiriProxy este o aplicație Ruby care se ascunde în comenzile care sunt recunoscute și trimise la serverele Apple; adăugați un mod de a comunica cu Arduino, și aveți SiriProxy-Arduino. Singurul dezavantaj este că trebuie să încărcați o schiță specială pentru Arduino care implementează un API Ruby, deci fie va trebui să o ajustați, fie să codifici totul în Ruby pe partea computerului.
Acolo îl aveți - 3 modalități unice de a controla orice proiect Arduino numai cu vocea voastră. Veți încerca să vă controlați vocea? Credeți că ați putea folosi aceste idei într-un alt proiect? Spuneți-ne în comentariile!
Explorați mai multe despre: Arduino, Recunoaștere vorbire.