Obsah:
Video: Hlasem ovládaný skákací konektor- verze Google Voice AIY: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Takže jste dostali hlasovou sadu AIY na Vánoce a hráli jste si s ní podle pokynů. Je to legrační, ale teď?
Projekt popsaný v následujícím textu představuje jednoduché zařízení, které lze sestavit pomocí hlasového klobouku AIY pro Raspberry Pi. Používá systém rozpoznávání hlasu Google k ovládání LED diod a dvou serv, které ovládají ruce a nohy skákacího zvedáku velmi jednoduchým převodem.
Software pracující na pozadí je modifikací skriptu servo_demo.py, jak bylo popsáno v příručce hlasové sady AIY. Při nastavování hardwaru a softwaru postupujte podle uvedených pokynů. Samotné zařízení se snadno staví a nevyžaduje mnoho ručních dovedností. Kromě toho by pomohl řezací nůž, vrtačka a páječka.
Pokud mrknutím ruky aktivujete systém rozpoznávání hlasu a řeknete „ruce nahoru“, zvedací zvedák zvedne ruce a nohy, „střed rukou“přesune obě serva do střední polohy a na „ruce dolů“ruce a nohy být snížen. V poloze „vlevo nahoru“se zvedne levá ruka a nohy a „vpravo dolů“se spustí ty pravé, v poloze „vpravo nahoru“naopak. „Tanec“, roztančí to, alespoň trochu. Také mluví, podívejte se prosím na přiložené video.
S trochou snahy si tedy můžete postavit vlastního tanečního, chatovacího a zpívajícího robota.
Aby se zjednodušilo jeho použití zejména menšími dětmi a aby se zvýšil „magický“faktor, bylo tlačítko na krabici AIY nahrazeno spouštěcím senzorem přiblížení. Pro jeho jednoduchost jsem použil digitální snímač vzdálenosti od Pololu, který rozpozná, zda je předmět blíže než 5 cm, a lze jej použít velmi podobně jako tlačítko. LED diody indikují, kdy zařízení čeká na objednávky, poslouchá nebo „přemýšlí“. Serva, snímače a diody LED jsou ovládány softwarovou knihovnou GPIOZero.
Prototyp byl vyroben z forexových pěnových desek z PVC, které lze velmi snadno řezat a lepit řezacím nožem, ale jsou také docela stabilní. Nebojte se vytvořit větší, hezčí, vylepšenou nebo efektnější verzi, ale bylo by milé, kdybyste svá vylepšení zdokumentovali a předvedli.
Můžete použít obě strany těla, v závislosti na tom, zda chcete prezentovat pohybující se zařízení nebo mít pěkné rozvržení vhodné pro děti. --------- „Hampelmann“je německý výraz pro „skákací zvedák“, který má určité konotace.
Krok 1: Použité materiály
Raspberry Pi 3; 32 £ v Pimoroni, Velká Británie
Hlasová sada AIY; 25 £ v Pimoroni, Velká Británie
Digitální snímač vzdálenosti Pololu se snímačem Sharp, 5 cm; 5,90 € na Exp-tec.de
Dvě 9g serva
Dvě bílé LED diody a rezistor
Některé záhlaví a propojovací kabely
A 2 mm Forex deska, 250 x 500 mm; 1,70 EUR v Modulor, Berlín, Německo
Šrouby, matice a podložky M3 pro připojení všech pohyblivých částí. Použil jsem šest 10 a čtyř 16 mm nylonových šroubů.
Šest šroubů a matic M2 k upevnění serva k deskám a připojení ramen a ozubených kol serva.
Několik kapek plastového lepidla
Krok 2: Sestavení a používání zařízení
Pokud jde o samotnou hlasovou sadu AIY, postupujte podle pokynů v popisu dodaném se sadou, včetně části o servu. Doporučil bych připájet několik tříkolíkových konektorů k servoportům na AIY Breakout, takže pomocí HAT můžete velmi snadno připojit serva, senzor a LED.
Pokud jde o skákací zvedák, můžete buď použít výkresy, které jsem zde poskytl, jako soubory svg a PDF jako šablonu, nebo je jen upravit podle vlastních představ. Možná byste chtěli zachovat základní rozložení zařízení pohánějícího nohy a paže skákacího zvedáku a zajistit, aby vzdálenost mezi otočným bodem a převodem byla stejná u serva, paže a nohy.
Alternativně můžete také vytvořit verzi, kde jsou ruce a nohy poháněny přímo čtyřmi samostatnými servy nebo pokročilejším převodem.
Pomocí výkresu vystřihněte dílky z forexové, lepenkové nebo překližkové desky a vyvrtejte otvory na příslušných místech. Přilepte distanční dílky k výkyvným bodům paží a nohou a zajistěte dobré zarovnání otvorů.
Upevněte serva a pohyblivé části k základní desce. Podle pokynů přidejte snímač vzdálenosti a LED. Serva jsou upevněna šrouby M2, všechny pohyblivé části šrouby M3. Použil jsem šrouby Nylon M3, ale jen z estetických důvodů.
Zkontrolujte, zda jsou ramena serva umístěna ve střední poloze. Připojte servo ramena a převody, k tomuto účelu jsem použil šrouby M2.
Připojte serva, diody LED a snímač vzdálenosti ke konektorům serv na desce AIY. Možná budete potřebovat nějaké prodlužovací/propojovací kabely. Připojil jsem levé servo k „servo0“(GPIO 26), pravé servo k „servo2“(GPIO 13), diody LED k „servo5“(GPIO 24) a senzor k „servo3“(GPIO 5) na AIY hlas Klobouk.
Zkopírujte dodaný soubor „Hampelmann.py“do podsložky AIY „src“a zajistěte, aby byl pro každého přímo spustitelný. Chcete -li to provést, vyberte soubor ve správci souborů, klikněte pravým tlačítkem a vyberte Vlastnosti, vyberte Oprávnění, přejděte na Spustit, vyberte ~ kdokoli. Nebo napište „chmod +x src/Hampelmann.py“do konzoly pro vývojáře.
Zkontrolujte, zda je vše nastaveno na místě a upevněno, nebo zda je v případě potřeby pohyblivé. Otevřete příkazový řádek Dev, zadejte „src/Hampelmann.py“a spusťte program. Pokud pohnete rukou nebo prsty před snímač vzdálenosti, jednotka AIY požádá o objednávky a LED diody budou blikat. Realizované objednávky jsou „doprava/doleva/ruce nahoru/dolů/střed“, „tanec“, „LED zapnuto/vypnuto“a „sbohem“.
Hrát si. Přesuňte ruku před senzor, mluvte, když o to budete požádáni, a nechte zařízení chvíli reagovat. Latence je poměrně vysoká. Crtl+C nebo „Goodbye“zastaví program.
Soubor můžete upravit pomocí Nano nebo jiného jednoduchého textového editoru.
Poznámky: Mějte prosím na paměti, že některá slova a termíny jsou považována za slova začínající velkým písmenem, jako „střed“nebo „pravý střed“, zatímco jiná nikoli, např. 'Hned'. Chcete -li spustit nějakou akci, musíte použít přesný formulář daný modulem rozpoznávání hlasu.
Krok 3: Skript Python
Jak již bylo zmíněno dříve, skript je založen na skriptu servo_demo.py z hlasových pokynů AIY, s některými dodatky. První verzí je soubor Hampelmann.py, který najdete v příloze. AngularServo od GPIOZero umožňuje omezit akční rozsah serva a přesně definovat, jak daleko se bude pohybovat. Dávám však přednost britskému hlasu před původním. A zařízení také umí mluvit, ale nerozumí (?), Anglicky, německy, italsky, francouzsky a španělsky. Níže najdete skript Hampelmann2.py s britským hlasem a trochou italštiny a němčiny. Mějte na paměti, že pro jejich spuštění musíte nastavit spustitelné skripty.
#!/usr/bin/env python3 # Tento skript je adaptací skriptu servo_demo.py pro hlasový klobouk AIY, # optimalizovaný pro AI AI jumping jack aiy.audio import aiy.cloudspeech import aiy.voicehat z gpiozero import LED z importu gpiozero AngularServo z importu gpiozero Tlačítko z času importu spánku def main (): rozpoznávání = aiy.cloudspeech.get_recognizer () Center ') # velká písmena jsou zde účelově ('ruce dolů') recognitionnizer.expect_phrase ('hands center').audio.get_recorder (). start () servo0 = AngularServo (26, min_angle = -40, max_angle = 40) # 1. připojení nebo, GPIO 26 servo2 = AngularServo (13, min_angle = -40, max_angle = 40) # 3. konektor, GPIO 13 led0 = LED (24) # LED jsou připojeny k servo5/GPIO 24 vzdálenost = tlačítko (5) # připojeno čidlo vzdálenosti na servo3/GPIO 05 # ostatní: GPIO 6 na servo1, 12 na servo4 aiy.audio.say („Hello!“,) aiy.audio.say („Chcete -li začít, přesuňte ruku blízko senzoru“,) při True: led0.on () # LED diody na tisku („Chcete -li aktivovat rozpoznávání hlasu, přesuňte ruku blízko snímače vzdálenosti a poté mluvte“) vytiskněte („Očekávaná klíčová slova jsou: ruce/doleva/doprava nahoru/dolů/uprostřed,“) print ('LED on/off, dance and goodbye.') print () distance.wait_for_press () print ('Listening …') aiy.audio.say ("Please give your commands",) led0.blink () # light mrknutí textu = zkontrolujte interpretaci systémů, pokud je text „vpravo nahoru“: tisk („Přesun servo0 do maximální polohy“) servo0.angle = 35 elif „doprava dolů“v textu: tisk („Přesun servo0 servo0.angle = -35 elif 'Right Center' v textu: #correct captials are critical print ('Moving servo0 to middle position') servo0.angle = 0 elif 'left up' in text: print (' Přesun servo2 do maximální polohy ') servo2.angle = -35 elif' doleva 'v textu: tisk (' Přesun servo2 do minimální polohy ') servo2.angle = 35 elif' doleva 'v textu: tisk (' Přesun servo2 do střední pozice ') servo2.angle = 0 elif' rukou nahoru 'v textu: tisk (' Přesun servo2 do maximální polohy ') servo2.angle = -35 servo0.angle = 35 elif' ruce dolů 'v textu: tisk (' Pohyb servo2 do minimální polohy ') servo2.angle = 35 servo0.angle = -35 elif' hands Center 'v textu: tisk (' Přesun servo2 do střední polohy ') servo2.angle = 0 servo0.angle = 0 elif' LED off ' v textu: tisk ('vypnutí externí LED 0') led0.off () elif 'LED zapnuto' v textu: tisk ('zapnutí externí LED 0') led0.on () # světlo elif 'tanec' v textu: print ('now performing dance number one') aiy.audio.say („No, budu se snažit ze všech sil!“,) led0.on () # svítí pro i v rozsahu (3): servo0.angle = 0 servo2.angle = 0 sleep (1) servo0.angle = 35 servo2.angle = -35 sleep (1) servo0.angle = 0 servo2.angle = -35 sleep (1) servo0.angle = -25 servo2.angle = 0 sleep (1) servo0.angle = 30 servo2.angle = 20 sleep (1) servo0.angle = 0 servo2.angle = 0 led0.off () # light off elif 'goodbye' in text: aiy.audio.say ("Goodbye",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) servo0.angle = 0 servo2.angle = 0 led0.off () spánek (3) tisk ('ahoj!') break else: print ('žádné klíčové slovo nebylo rozpoznáno!') aiy.audio.say ("Promiň, nerozuměl jsem ti",) pokud _name_ == ' _main_ ': main ()
Doporučuje:
Přepínač relé IOT ovládaný hlasem na Arduinu (Google Home & Alexa podporováno): 11 kroků
Hlasově ovládaný reléový spínač IOT založený na Arduinu (Google Home & Alexa podporováno): Tento projekt popisuje, jak vytvořit hlasově ovládaný reléový spínač IOT na bázi Arduina. Jedná se o relé, které můžete dálkově zapínat a vypínat pomocí aplikace pro iOS a Android, stejně jako jej propojit s IFTTT a ovládat pomocí hlasu pomocí Googlu
Hlasem ovládaný robot pomocí mikrokontroléru 8051: 4 kroky (s obrázky)
Hlasem ovládaný robot pomocí mikrokontroléru 8051: Hlasem ovládaný robot přebírá zadaný příkaz ve formě hlasu. Ať už je příkaz zadán prostřednictvím hlasového modulu nebo modulu Bluetooth, je dekódován stávajícím ovladačem, a proto je daný příkaz proveden. Tady v tomto projektu jsem
Hlasem ovládaný inteligentní držák klíčů: 3 kroky (s obrázky)
Hlasem ovládaný inteligentní držák klíčů: Jste typ člověka, který neumí spravovat klíče a vždy musí vyzkoušet každý klíč pro každý další zámek? Nebojte se, jen si vezměte trochu motivace a nástroje svého tvůrce, abyste inovovali své vlastní inteligentní držák klíčů ovládaný hlasem
Hlasem ovládaný robot Arduino + WiFi kamera + chapadlo + APP a manuální použití a režim vyhýbání se překážkám (KureBas Ver 2.0): 4 kroky
Hlasem ovládaný robot Arduino + WiFi kamera + chapadlo + APP a manuální použití a režim vyhýbání se překážkám (KureBas Ver 2.0): KUREBAS V2.0 je zpětJe velmi působivý s novými funkcemi. Má chapadlo, Wifi kameru a novou aplikaci, která pro něj vyrobila
Hlasem ovládaný semafor typu Braillova písma: 4 kroky (s obrázky)
Hlasem ovládaný semafor typu Braillova písma: „Lord Vetinari stál u svého okna a sledoval věž semaforu na druhé straně řeky. Všech osm velkých okenic, které stály proti němu, zuřivě mrkaly - černá, bílá, černá, bílá, černá, bílá … Informace letěly do