Taula de continguts:
Vídeo: Un salt de control controlat per veu: versió de Google Voice AIY: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Per tant, teniu aquest kit de veu AIY per Nadal i hi heu estat jugant seguint les instruccions. És curiós, però ara?
El projecte que es descriu a continuació presenta un dispositiu senzill que es pot construir mitjançant el AIAT de veu HAT per al Raspberry Pi. Utilitza el sistema de reconeixement de veu de Google per controlar els LED i dos servos, conduint els braços i les cames d’un gat saltant mitjançant un equip molt senzill.
El programari que funciona en segon pla és una modificació de l'script servo_demo.py, tal com s'ha descrit al manual del kit de veu AIY. Només cal que seguiu les instruccions que s’hi donen per configurar programari i programari. El dispositiu en si és fàcil de construir i no requereix gaire habilitat artesanal. A més, seria útil un ganivet, un trepant i un soldador.
Si activeu el sistema de reconeixement de veu amb una picada d'ullet a la mà i dieu "mans amunt", el gat saltador elevarà les mans i les cames, el "centre de les mans" mourà els dos servos a la posició central i, a les mans baixes, les mans i les cames ser rebaixat. A l’esquerra cap amunt s’aixecaran la mà esquerra i les cames i a la “dreta cap avall” es baixaran les dretes, a la dreta cap amunt, a la inversa. "Ballar", el farà ballar, almenys una mena de. També parla, si us plau, mireu el vídeo adjunt.
Així, amb pocs esforços, podeu construir el vostre propi robot de ball, xerrada i cant.
Per simplificar-ne l’ús, especialment per als nens més petits, i per millorar el factor ‘màgic’, el botó del quadre AIY es va substituir com a activador per un sensor de proximitat. Per la seva simplicitat, he utilitzat un sensor digital de distància de Pololu que reconeix si un objecte té més de 5 cm i es pot utilitzar com un botó. Els LED indiquen quan el dispositiu espera comandes, escolta o "pensa". Els servos, els sensors i els LED estan controlats per la biblioteca de programari GPIOZero.
El prototip es va construir a partir de plaques d’escuma de Forex, Forex, que es poden tallar molt fàcilment amb un ganivet tallador i enganxar-les, però també són bastant estables. No dubteu a construir una versió més gran, més maca, millorada o més elegant, però seria bo que documentéssiu i presentéssiu les vostres millores.
Podeu utilitzar els dos costats del cos, segons si vulgueu presentar l’engranatge en moviment o tenir un disseny agradable i adequat per als nens. --------- "Hampelmann" és el terme alemany per a "salt saltador", que té certes connotacions.
Pas 1: materials utilitzats
Raspberry Pi 3; 32 £ a Pimoroni, Regne Unit
Kit de veu AIY; 25 £ a Pimoroni, Regne Unit
Sensor de distància digital Pololu amb sensor Sharp, de 5 cm; 5,90 € a Exp-tec.de
Dos servos de 9 g
Dos LEDs blancs i una resistència
Algunes capçaleres i cables de pont
Una placa Forex de 2 mm, 250 x 500 mm; 1,70 € a Modulor, Berlín, Alemanya
Cargols M3, femelles i volanderes, per connectar totes les parts mòbils. He utilitzat sis cargols de niló de 10 i quatre de 16 mm.
Sis cargols i femelles M2 per fixar els servos a les plaques i connectar els braços i els engranatges de servos.
Unes gotes de cola de plàstic
Pas 2: Muntatge i ús del dispositiu
Pel que fa al kit de veu AIY, seguiu les instruccions de la descripció que s'inclou amb el kit, inclosa la secció sobre el servo. Recomanaria soldar diverses capçaleres de tres pins als servos ports de la sortida de veu AIY, de manera que podeu connectar servos, sensor i LED molt fàcilment amb el HAT.
Pel que fa al saltador, podeu utilitzar els dibuixos que he proporcionat aquí com a fitxers svg i PDF com a plantilla o simplement modificar-los segons les vostres idees. És possible que vulgueu mantenir la disposició bàsica de l’engranatge que condueix les potes i el braç del gat saltant, assegurant-vos que la distància entre el punt de pivotament i l’engranatge sigui la mateixa al servo, al braç i a la cama.
Com a alternativa, també podeu construir una versió si els braços i les cames estiguin conduïts directament per quatre servos separats o per un engranatge més avançat.
Amb el dibuix, talleu les peces d’una placa de divisa, cartró o contraxapat i foradeu els forats a les posicions adequades. Enganxeu les peces de distància als punts de pivot de braços i cames, assegurant una bona alineació dels forats.
Fixeu els servos i les parts mòbils a la placa base. Afegiu el sensor de distància i el LED tal com s’indica. Els servos es fixen amb cargols M2, totes les parts mòbils amb cargols M3. He utilitzat cargols de niló M3, però només per motius estètics.
Comproveu si els servo braços estan col·locats a la posició mitjana. Connecteu els braços i engranatges servo, he utilitzat cargols M2 per a aquest propòsit.
Connecteu servos, LEDs i el sensor de distància als servoconectors de la placa AIY. És possible que necessiteu alguns cables d’allargament / pont. He connectat el servo esquerre a “servo0” (GPIO 26), el servo dret a “servo2” (GPIO 13), els LED a “servo5” (GPIO 24) i el sensor a “servo3” (GPIO 5) de l’AIY veu HAT.
Copieu el fitxer "Hampelmann.py" proporcionat a la subcarpeta AIY "src" i feu-lo directament executable per a tothom. Per fer-ho, podeu seleccionar el fitxer al gestor de fitxers, fer clic amb el botó dret i seleccionar Propietats, seleccionar Permisos, anar a Executar, seleccionar ~ qualsevol. O escriviu "chmod + x src / Hampelmann.py" a la consola de desenvolupament.
Comproveu si tot està fixat i fixat, o bé es pot moure quan calgui. Obriu la línia d'ordres Dev, introduïu "src / Hampelmann.py" i inicieu el programa. Si moveu la mà o els dits davant del sensor de distància, la unitat AIY us demanarà ordres i els LED parpellejaran. Les ordres implementades són "dreta / esquerra / mans amunt / avall / centre", "ball", "LED encès / apagat" i "adéu".
Jugar. Mou la mà davant del sensor, parla quan se't demana i dóna al dispositiu una mica de temps per reaccionar. La latència és bastant alta. Crtl + C o "Adéu" aturarà el programa.
Podeu modificar el fitxer mitjançant Nano o un altre editor de text senzill.
Observacions: tingueu en compte que algunes paraules i termes es reconeixen com a paraules que comencen amb majúscula, com a "Centre" o "Centre dret", ja que d'altres no, per exemple. 'A la dreta'. Heu d’utilitzar el formulari exacte que us ha retornat el mòdul de reconeixement de veu per activar alguna acció.
Pas 3: l’escriptura Python
Com s'ha esmentat anteriorment, l'script es basa en l'script servo_demo.py de les instruccions de veu AIY, amb algunes addicions. La primera versió és el fitxer Hampelmann.py que trobareu adjunt. AngularServo de GPIOZero permet restringir el rang d’acció del servo i definir exactament fins on es mourà. Però prefereixo la veu britànica per sobre de l’original. I el dispositiu també pot parlar, però no entendre (?), Anglès, alemany, italià, francès i espanyol. A continuació trobareu l’escriptura Hampelmann2.py, amb veu britànica, i una mica d’italià i alemany. Tingueu en compte que heu de fer que els scripts siguin executables per executar-los.
#! / usr / bin / env python3 # Aquest script és una adaptació de l'script servo_demo.py per al AIAT de veu HAT, # optimitzat per a la importació AIY jumping jack importació aiy.audio importació aiy.cloudspeech importació aiy.voicehat des del LED d'importació gpiozero des de la importació de gpiozero AngularServo des de la importació de gpiozero Botó de la importació del temps sleep def main (): recognizer = aiy.cloudspeech.get_recognizer () recognizer.expect_phrase ('right up') recognizer.expect_phrase ('right down') recognizer.expect_phrase ('Right Centre ') # les majúscules hi són a propòsit recognizer.expect_phrase (' left up ') recognizer.expect_phrase (' left down ') recognizer.expect_phrase (' left left ') recognizer.expect_phrase (' hands up ') recognizer.expect_phrase ('hands down') recognizer.expect_phrase ('hands Center') recognizer.expect_phrase ('Dance') recognizer.expect_phrase ('LED encès') recognizer.expect_phrase ('LED apagat') recognizer.expect_phrase ('adéu') aiy.audio.get_recorder (). start () servo0 = AngularServo (26, min_angle = -40, max_angle = 40) # 1a connexió o bé, GPIO 26 servo2 = AngularServo (13, min_angle = -40, max_angle = 40) # tercer connector, GPIO 13 led0 = LED (24) # LED connectats a servo5 / GPIO 24 distància = botó (5) # sensor de distància connectat a servo3 / GPIO 05 # altres: GPIO 6 a servo1, 12 a servo4 aiy.audio.say ("Hola!",) aiy.audio.say ("Per començar, acosteu la mà al sensor") mentre és True: led0.on () # LEDs d'impressió ("Per activar el reconeixement de veu, acosteu una mà al sensor de distància i, a continuació, parleu") imprimeix ("Les paraules clau esperades són: mans / esquerra / dreta amunt / avall / centre") print ('LED encès / apagat, ball i adéu.') print () distance.wait_for_press () print ('Listening …') aiy.audio.say ("Si us plau, doneu les vostres comandes",) led0.blink () # light parpellejar text = recognizer.recognize () si el text és Cap: aiy.audio.say ('Ho sento, no us he sentit.',) else: print ('Heu dit "', text, '"') # Us permet comproveu la interpretació del sistema si està "cap amunt" al text: print ("Movent servo0 a la posició màxima") servo0.angle = 35 elif "cap avall" al text: print ("Movent servo0 a la posició mínima ') servo0.angle = -35 elif' Centre dret 'en el text: #capitals correctes són impresos crítics (' Moving servo0 to middle position ') servo0.angle = 0 elif' left up 'in text: print (' Movent servo2 a la posició màxima ') servo2.angle = -35 elif' esquerra cap avall 'al text: imprimir (' Movent servo2 a la posició mínima ') servo2.angle = 35 elif' esquerra Centre 'al text: imprimeix ("Movent servo2 a posició mitjana ') servo2.angle = 0 elif' mans amunt 'en el text: print (' Moving servo2 to maximum position ') servo2.angle = -35 servo0.angle = 35 elif' hands down 'in text: print (' Moving servo2 a la posició mínima ') servo2.angle = 35 servo0.angle = -35 elif' centre de les mans 'al text: imprimir (' Moving servo2 a la posició mitjana ') servo2.angle = 0 servo0.angle = 0 elif' LED apagat ' al text: imprimir ("apagar el LED extern 0") led0.off () elif "LED encès" al text: imprimir ("activar el LED extern 0") led0.on () # llum elif "ballar" al text: print ('ara es realitza el ball número u') aiy.audio.say ("Bé, faré tot el possible!",) led0.on () # llums enceses per a l’interval (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 "adéu" al text: aiy.audio.say ("Adéu",) aiy.audio.say ("Arrivederci",) aiy.audio.say ("Auf Wiedersehen",) servo0.angle = 0 servo2.angle = 0 led0.off () sleep (3) print ('bye!') break else: print ('no es reconeix cap paraula clau!') aiy.audio.say ("Disculpeu, no us he entès",) si _name_ == ' _main_ ': main ()
Recomanat:
Llançador de coets controlat per veu basat en Alexa: 9 passos (amb imatges)
Llançador de coets controlat per veu basat en Alexa: a mesura que s’acosta la temporada d’hivern; arriba aquella època de l'any en què se celebra la festa de les llums. Sí, parlem de Diwali, que és un veritable festival indi celebrat a tot el món. Aquest any, Diwali ja s’ha acabat i veurem persones
Commutador de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles): 11 passos
Commutador de relé IOT controlat per veu basat en Arduino (compatible amb Google Home i Alexa): aquest projecte descriu com fer un commutador de relé IOT basat en Arduino, controlat per veu. Es tracta d’un relé que podeu activar i desactivar de forma remota mitjançant una aplicació per a iOS i Android, a més de connectar-la a IFTTT i controlar-la amb la vostra veu mitjançant Goog
Feu el sistema d’avís de notificació per veu / veu: 4 passos
Feu el sistema d'alerta de veu / notificació de veu: en aquest projecte hem creat un sistema d'alerta i de notificació de veu. En aquest projecte es poden utilitzar almenys dos sensors
Google AIY VoiceHAT per al kit Raspberry Pi (MagPi 57 versió 2017): 6 passos (amb imatges)
Google AIY VoiceHAT per al kit Raspberry Pi (MagPi 57 versió 2017): els consells de muntatge del kit de veu MagPi no es troben als tutorials
Afegiu el so d'inici de l'activador al kit de veu de Google AIY: 6 passos (amb imatges)
Afegiu el so d'inici de l'activador al kit de veu AIY de Google: aquest tutorial és bastant senzill. M’ha agradat molt el Google AIY Voice Kit, però m’agrada molt el soroll que fan al meu Google Home normal per confirmar que escolten activament. Això no està configurat per defecte en cap dels exemples que