
Edmund Richardson
0
2707
348
Opravdu začínám své Arduino milovat v poslední době; Když jsem prošel základními tutoriály a dokonce vytvořil LED kostku, byl jsem připraven řešit něco mnohem složitějšího. Naštěstí ovládání řeči Arduino projektu opravdu není tak složité, jak jsem si myslel - takže zde jsou 3 zřetelně odlišné přístupy, které můžete použít.
Používání automatů OSX a mluvitelných položek
Jedním ze způsobů, jak toho můžeme dosáhnout, je využití existujících obslužných programů řečových příkazů zabudovaných do OSX; nastavení vlastních příkazů pro spouštění akcí Automatoru je jednoduché. (Pokud s automatem neznáte, stáhněte si našeho bezplatného průvodce PDF k automatizaci počítače Mac!)
Na straně kódu Arduino používáme vyrovnávací paměť String podrobně popsanou v tomto vlákně fóra Arduino - to nám umožnilo hledat přesná slova v sériové komunikaci - bez tohoto jsem našel typové převody mezi čísla, bajtů, a řetězce být problematický. Zde je plný Arduino kód pro poslech sériových příkazů, i když budete muset přidat své vlastní příkazy a hardware pro skutečné ovládání zařízení, protože to je mimo rozsah tohoto tutoriálu projektu Arduino. Pokud používáte relé, nezapomeňte, že musí být schopni zvládnout 120 - 240 VAC. Pokud jste se vším novým, nezapomeňte si nejprve prohlédnout průvodce Arduino našeho začátečníka.
Dále si stáhněte tento Arduino-sériový nástroj, který nám umožňuje komunikovat přímo s Arduino z příkazového řádku nebo skriptu shellu. Umístěte jej do kořenového adresáře vašeho uživatelského adresáře, otevřete Terminálovou relaci a zadejte:
vyrobit arduino-seriál
zkompilovat balíček pro váš systém.
Použití tohoto nástroje je poměrně jednoduché, ale pro naše účely začněte psát
ls /dev/tty.*
abyste zjistili, na kterém portu je váš Arduino (USB). Poté příkaz odešlete pomocí:
./ arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
Nahradit /dev/tty.usb~ s přesným názvem, který jste našli pro svůj USB port připojený k Arduino. Další příklady použití, včetně získání návratové hodnoty, naleznete na původní stránce, ale zatím to bude platit.
Jedna věc, kterou jsem našel, je, že jsem musel “kickstart” Arduino zasláním příkazu pomocí Arduino Serial Monitor nejprve, pak všechno fungovalo dobře. Pokud někdo ví, proč tomu tak je, rád bych slyšel.
Další, otevřené Automator a vytvořit nový aplikace. Najít Spusťte skript Shell akci, přidejte ji a vložte do sériového příkazu a zapněte světla.
Uložte to do knihovna / řeč / mluvitelné položky složku se slovy, která chcete spustit akci - v mém případě “zapnutá světla”.
Poté povolte mluvitelné příkazy z Přístupnost panel preferencí.
Tento tutoriál z roku 2009 Jak používat příkazy řeči v počítači Mac Jak používat příkazy řeči v počítači Mac, je stále relevantní, ale v podstatě chcete povolit Global Speakable items.
Zde je ukázka toho, jak všechno funguje.
Easy VR Shield (Hardware)
EasyVR je přídavný hardwarový štít, který nejprve zakóduje vaše předem nahrané ukázky řeči a poté použije hardwarové řešení pro jejich přizpůsobení. Nastavení je trochu složité a každý příkaz odpovídá pouze na jeden hlasový otisk, ale toto je nejkomplexnější volba, pokud chcete, aby byl projekt nezávislý na počítači. EasyVR Shield stojí 35 GBP od CoolComponents ve Velké Británii nebo 50 $ od SparkFun v USA. Zde je ukázka štítu v akci spolu s procesem kódování:
SiriProxy Via Ruby
Pokud máte k dispozici zařízení iPhone s podporou Siri, které bylo jailbroken, Siri Proxy je skvělý způsob, jak využít schopnosti telefonu rozpoznávat hlas. SiriProxy je aplikace Ruby, která poslouchá rozeznávané příkazy a odesílané na servery Apple; přidejte způsob, jak komunikovat s Arduino, a máte SiriProxy-Arduino. Jedinou nevýhodou je, že musíte do Arduina, který implementuje rozhraní Ruby API, nahrát speciální náčrt, takže to musíte buď upravit, nebo kódovat vše v Ruby na straně počítače..
Tam to máte - 3 jedinečné způsoby, jak ovládat jakýkoli projekt Arduino samotným hlasem. Zkusíte ovládat svá světla hlasem? Myslíte si, že byste tyto nápady mohli využít v jiném projektu? Dejte nám vědět v komentářích!