Përmbajtje:

Një kapak kërcimi me zë i kontrolluar- Versioni i Google Voice AIY: 3 hapa
Një kapak kërcimi me zë i kontrolluar- Versioni i Google Voice AIY: 3 hapa

Video: Një kapak kërcimi me zë i kontrolluar- Versioni i Google Voice AIY: 3 hapa

Video: Një kapak kërcimi me zë i kontrolluar- Versioni i Google Voice AIY: 3 hapa
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Nëntor
Anonim
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice
Një xhaketë kërcimi e kontrolluar me zë- Versioni AIY i Google Voice

Kështu që ju keni atë çantë zëri AIY për Krishtlindje dhe keni luajtur me të, duke ndjekur udhëzimet. Funnyshtë qesharake, por tani?

Projekti i përshkruar në vijim paraqet një pajisje të thjeshtë që mund të ndërtohet duke përdorur AIY voice HAT për Raspberry Pi. Ai përdor sistemin e njohjes së zërit të Google për të kontrolluar LED dhe dy servos, duke drejtuar krahët dhe këmbët e një krik kërcimi me një ingranazh shumë të thjeshtë.

Softueri që punon në sfond është një modifikim i skriptit servo_demo.py, siç është përshkruar në manualin e kompletit të zërit AIY. Vetëm ndiqni udhëzimet e dhëna atje për të konfiguruar softuer të fortë dhe të fortë. Pajisja në vetvete është e lehtë për t'u ndërtuar dhe nuk kërkon shumë aftësi artizanale. Përveç kësaj, një thikë prestar, një stërvitje dhe një hekur bashkues do të ishin të dobishme.

Nëse aktivizoni sistemin e njohjes së zërit me një shkelje të dorës dhe thoni "duart lart" kërcimi kërcimtar do të ngrejë duart dhe këmbët, "qendra e duarve" do t'i lëvizë të dy servos në pozicionin e mesëm dhe në "duart poshtë" duart dhe këmbët do të të ulet Në "majtas lart" dora e majtë dhe këmbët do të ngrihen dhe në "djathtas poshtë" ato të djathtat do të ulen, në "djathtas lart" anasjelltas. "Dance", do ta bëjë atë të kërcejë, mirë të paktën një lloj. Po flet gjithashtu, ju lutemi shikoni videon e bashkangjitur.

Kështu që me pak përpjekje, ju mund të ndërtoni robotin tuaj të vallëzimit, bisedës dhe këngës.

Për të thjeshtuar përdorimin e tij veçanërisht nga fëmijët më të vegjël dhe për të rritur faktorin ‘magjik’, butoni në kutinë AIY u zëvendësua si shkas nga një sensor afërsie. Për thjeshtësinë e saj, kam përdorur një ndarje dixhitale të sensorit të distancës nga Pololu e cila njeh nëse një objekt është më afër se 5 cm, dhe mund të përdoret shumë si një buton. LEDs tregojnë kur pajisja është duke pritur për porosi, duke dëgjuar ose "menduar". Shërbimet, sensori dhe LED -të kontrollohen nga biblioteka e softuerit GPIOZero.

Prototipi është ndërtuar nga pllaka shkumë Forex, PVC, të cilat mund të priten shumë lehtë me një thikë prestar dhe të ngjiten, por është gjithashtu mjaft e qëndrueshme. Ndjehuni të lirë të ndërtoni një version më të madh, më të bukur, të përmirësuar ose më të zbukuruar, por do të ishte mirë nëse dokumentoni dhe paraqisni përmirësimet tuaja.

Ju mund të përdorni të dy anët e trupit, në varësi të faktit nëse doni të paraqisni veshjet lëvizëse ose të keni një paraqitje të bukur miqësore për fëmijët. --------- "Hampelmann" është termi gjerman për "kërcim kërcimi", që ka kuptime të caktuara.

Hapi 1: Materialet e përdorura

Materialet e Përdorura
Materialet e Përdorura
Materialet e Përdorura
Materialet e Përdorura

Raspberry Pi 3; 32 £ në Pimoroni, MB

Kit i zërit AIY; 25 £ në Pimoroni, MB

Zbërthimi i sensorit dixhital të distancës Pololu me sensorin Sharp, 5 cm; 5.90 € në Exp-tec.de

Dy servos 9g

Dy LED të bardhë dhe një rezistencë

Disa tituj dhe kabllo kërcyes

Një pllakë Forex 2 mm, 250 x 500 mm; 1.70 € në Modulor, Berlin, Gjermani

Vida M3, arra dhe rondele, për të lidhur të gjitha pjesët në lëvizje. Kam përdorur gjashtë vida najloni 10 dhe katër 16 mm.

Gjashtë vida dhe arra M2, për të fiksuar servot në pllaka dhe për të lidhur krahët dhe ingranazhet e servos.

Disa pika zam plastik

Hapi 2: Montimi dhe Përdorimi i Pajisjes

Montimi dhe përdorimi i pajisjes
Montimi dhe përdorimi i pajisjes
Montimi dhe përdorimi i pajisjes
Montimi dhe përdorimi i pajisjes
Montimi dhe përdorimi i pajisjes
Montimi dhe përdorimi i pajisjes

Sa i përket kompletit të zërit AIY, thjesht ndiqni udhëzimet në përshkrimin që vjen me kompletin, duke përfshirë pjesën për servo. Unë do të rekomandoja të lidhni disa tituj me tre kunja në portet servo në daljen e zërit AIY, kështu që ju mund të lidhni servos, sensorë dhe LED shumë lehtë me HAT.

Lidhur me folenë e kërcimit, ose mund të përdorni vizatimet që kam dhënë këtu si skedarë svg- dhe PDF si model, ose thjesht t'i modifikoni ato sipas ideve tuaja. Ju mund të dëshironi të mbani paraqitjen bazë të ingranazhit që drejton këmbët dhe krahun e folesë së kërcimit, duke siguruar që distanca midis pikës së rrotullimit dhe ingranazhit të jetë e njëjtë në servo, krah dhe këmbë.

Përndryshe, ju gjithashtu mund të ndërtoni një version nëse krahët dhe këmbët drejtohen drejtpërdrejt nga katër servos të veçantë, ose nga një mjet më i avancuar.

Duke përdorur vizatimin, prerë copat nga një pjatë Forex, kartoni ose kompensatë dhe shponi vrimat në pozicionet e duhura. Ngjitni pjesët e distancës në pikat rrotulluese të krahëve dhe këmbëve, duke siguruar një shtrirje të mirë të vrimave.

Fiksoni servot dhe pjesët lëvizëse në pllakën bazë. Shtoni sensorin e distancës dhe LED siç tregohet. Servo janë të fiksuara me vida M2, të gjitha pjesët lëvizëse me vida M3. Kam përdorur vida Nylon M3, por vetëm për arsye estetike.

Kontrolloni nëse krahët servo janë vendosur në pozicionin e mesëm. Lidhni krahët dhe ingranazhet servo, kam përdorur vida M2 për këtë qëllim.

Bashkangjitni servos, LED dhe sensorin e distancës në lidhësit servo në tabelën AIY. Ju mund të keni nevojë për disa kabllo zgjatimi/kërcyesi. Unë e bashkangjita servo -n e majtë te "servo0" (GPIO 26) servo e djathtë te "servo2" (GPIO 13), LED -të në "servo5" (GPIO 24) dhe sensorin në "servo3" (GPIO 5) në AIY zë HAT.

Kopjoni skedarin e siguruar "Hampelmann.py" në nën -dosjen AIY "src" dhe e bëni atë drejtpërdrejt të ekzekutueshëm për këdo. Për ta bërë këtë, ju mund të zgjidhni skedarin në menaxherin e skedarëve, pastaj klikoni me të djathtën dhe zgjidhni Properties, zgjidhni Lejet, shkoni te Execute, zgjidhni ~ cilindo. Ose shkruani "chmod +x src/Hampelmann.py" në tastierën dev.

Kontrolloni nëse gjithçka është vendosur në vend dhe fikse, ose e lëvizshme kur kërkohet. Hapni vijën e komandës Dev, futni "src/Hampelmann.py" dhe filloni programin. Nëse lëvizni dorën ose gishtat para sensorit të distancës, njësia AIY do të kërkojë urdhra dhe LED -të do të pulsojnë. Urdhrat e zbatuar janë "djathtas/majtas/duart lart/poshtë/qendër", "valle", "LED ndezur/fikur" dhe "lamtumirë".

Luaj. Lëvizni dorën para sensorit, flisni kur ju kërkohet dhe jepini pajisjes pak kohë për të reaguar. Vonesa është mjaft e lartë. Crtl+C ose "Mirupafshim" do të ndalojë programin.

Ju mund të modifikoni skedarin duke përdorur Nano ose një redaktues tjetër të thjeshtë teksti.

Vërejtje: Ju lutemi kini parasysh se disa fjalë dhe terma njihen si fjalë që fillojnë me një shkronjë të madhe, si ‘Qendra’ ose ‘Qendra e djathtë’, siç nuk janë të tjerat, p.sh. ‘Menjëherë lart’. Ju duhet të përdorni formularin e saktë të dhënë nga moduli i njohjes së zërit për të shkaktuar disa veprime.

Hapi 3: Shkrimi Python

Siç u përmend më parë, skenari bazohet në shkrimin servo_demo.py nga udhëzimet zanore të AIY, me disa shtesa. Versioni i parë është skedari Hampelmann.py që do ta gjeni të bashkangjitur. AngularServo nga GPIOZero ju lejon të kufizoni gamën e veprimit të servo dhe të përcaktoni saktësisht se sa larg do të lëvizë. Por unë preferoj zërin britanik mbi atë origjinal. Dhe pajisja gjithashtu mund të flasë, por të mos kuptojë (?), Anglisht, Gjermanisht, Italisht, Frëngjisht dhe Spanjisht. Më poshtë gjeni shkrimin Hampelmann2.py, me zërin britanik, dhe pak italisht dhe gjermanisht. Ju lutemi mbani në mend se ju duhet t'i bëni skriptet të ekzekutueshëm për t'i ekzekutuar ato.

#!/usr/bin/env python3 # Ky skenar është një përshtatje e skriptit servo_demo.py për AIY voice HAT, # e optimizuar për prizën e kërcimit të AIY aiy.audio import aiy.cloudspeech import aiy.voicehat nga gpiozero import LED nga gpiozero import AngularServo nga gpiozero Import buton nga koha import gjumë def main (): njohës = aiy.cloudspeech.get_recognizer () njohës.expect_phrase ('drejtë lart') njohës.expect_phrase ('djathtas poshtë') njohës.expect_phrase ('E djathtë Qendra ') # shkronjat e mëdha janë aty me qëllim njohës.shpresë_fraza (' majtas lart ') njohës.shpresë_fraza (' majtas poshtë ') njohës.presim_fraza (' qendra e majtë ') njohës.expect_phrase (' duart lart ') njohës.expect_phrase (‘duart poshtë’).audio.get_recorder (). start () servo0 = AngularServo (26, min_angle = -40, max_angle = 40) # Lidhja e parë ose, GPIO 26 servo2 = AngularServo (13, min_angle = -40, max_angle = 40) # lidhësi i tretë, GPIO 13 led0 = LED (24) # LED janë të lidhur me servo5/GPIO 24 distancë = Butoni (5) # sensori i distancës i lidhur te servo3/GPIO 05 # të tjerët: GPIO 6 në servo1, 12 në servo4 aiy.audio.say ("Përshëndetje!",) aiy.audio.say ("Për të filluar, lëvizni dorën pranë sensorit",) ndërsa e vërtetë: led0.on () # LED në print ("Për të aktivizuar njohjen e zërit, lëvizni dorën pranë sensorit të distancës, pastaj flisni") printoni ('Fjalët kyçe të pritshme janë: duart/majtas/djathtas lart/poshtë/qendër,') print ('LED ndezur/fikur, vallëzoni dhe lamtumirë.') printoni () distance.wait_for_press () print ('Duke dëgjuar …') aiy.audio.say ("Ju lutemi jepni porositë tuaja",) led0.blink () # light blink text = njohës. njohu () nëse teksti nuk është Asnjë: aiy.audio.say ('Më fal, nuk të dëgjova.',) tjetër: print ('Ti tha "', tekst, '"') # Të lejon kontrolloni interpretimin e sistemeve nëse 'drejtë lart' në tekst: print ('Zhvendosja e servo0 në pozicionin maksimal') servo0.angle = 35 elif 'drejtë poshtë' në tekst: print ('Servo0 në lëvizje në pozicionin minimal ') servo0.angle = -35 elif' Qendra e djathtë 'në tekst: #kapitale të sakta janë printime kritike (' Lëvizja e servo0 në pozicionin e mesëm ') servo0.angle = 0 elif' majtas lart 'në tekst: print (' Zhvendosja e servo2 në pozicionin maksimal ') servo2.angle = -35 elif' majtas 'në tekst: print (' Zhvendosja e servo2 në pozicionin minimal ') servo2.angle = 35 elif' majtas Qendra 'në tekst: print (' Zhvendosja e servo2 në pozicioni i mesëm ') servo2.angle = 0 elif' duart lart 'në tekst: print (' Zhvendosja e servo2 në pozicionin maksimal ') servo2.angle = -35 servo0.angle = 35 elif' duart poshtë 'në tekst: print (' Po lëviz servo2 në pozicionin minimal ') servo2.angle = 35 servo0.angle = -35 elif' duart Qendra 'në tekst: print (' Zhvendosja e servo2 në pozicionin e mesëm ') servo2.angle = 0 servo0.angle = 0 elif' LED off ' në tekst: print ('fikja e LED -it të jashtëm 0') led0.off () elif 'LED on' në tekst: print ('ndezja e LED -it të jashtëm 0') led0.on () # light elif 'valle' në tekst: print ("tani po performon vallëzimi numër një") aiy.audio.say ("Epo, do të përpiqem më të mirën!",) led0.on () # dritat ndezur për i në rangun (3): servo0.angle = 0 servo2.angle = 0 gjumë (1) servo0.angle = 35 servo2.angle = -35 gjumë (1) servo0.angle = 0 servo2.angle = -35 gjumë (1) servo0.angle = -25 servo2.angle = 0 gjumë (1) servo0.angle = 30 servo2.angle = 20 gjumë (1) servo0.angle = 0 servo2.angle = 0 led0.off () # dritë fikur elif 'lamtumirë' në tekst: aiy.audio.say ("Mirupafshim",) aiy.audio.say ("Arrivederci",) aiy.audio.say ("Auf Wiedersehen",) servo0.angle = 0 servo2.angle = 0 led0.off () sleep (3) print ('bye!') break else: print ('asnjë fjalë kyçe nuk njihet!') aiy.audio.say ("Më fal, nuk të kuptova",) nëse _name_ == ' _majt_ ': kryesore ()

Recommended: