Sisukord:
Video: Häälega juhitav hüppepistik- Google Voice AIY versioon: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Nii et teil on jõuludeks see AIY häälekomplekt ja olete sellega juhiseid järgides mänginud. See on naljakas, aga nüüd?
Järgnevalt kirjeldatud projekt esitab lihtsa seadme, mida saab luua Raspberry Pi jaoks AIY häälkübara abil. See kasutab Google'i häältuvastussüsteemi, et juhtida LED -e ja kahte servot, juhtides hüppepistiku käsi ja jalgu väga lihtsa käiguga.
Taustal töötav tarkvara on servo_demo.py skripti modifikatsioon, nagu on kirjeldatud AIY häälkomplekti kasutusjuhendis. Kõva- ja tarkvara seadistamiseks järgige lihtsalt seal antud juhiseid. Seadet on lihtne ehitada ja see ei nõua palju käsitööoskusi. Lisaks oleks abiks lõiketera, puur ja jootekolb.
Kui aktiveerite hääletuvastussüsteemi käe pilgutamisega ja ütlete „käed üles”, tõstab hüppetõste käed ja jalad üles, nihutab „käed keskele” mõlemad servod keskmisesse asendisse ning käed alla ja käed ja jalad langetada. „Vasakul üles” tõstetakse vasak käsi ja jalad üles ning „paremal alla” paremad langetatakse, „paremal üles” vastupidi. "Tants" paneb tantsima, vähemalt omamoodi. See räägib ka, palun vaadake lisatud videot.
Nii saate väikeste jõupingutustega luua oma tantsu-, vestlus- ja lauluroboti.
Selle kasutamise lihtsustamiseks, eriti väiksematel lastel, ja võlufaktori täiustamiseks asendati AIY kasti nupp päästikuna lähedusanduriga. Lihtsuse huvides kasutasin Pololu digitaalset kaugusandurit, mis tuvastab, kui objekt on lähemal kui 5 cm, ja seda saab kasutada väga sarnaselt nupule. LED -id näitavad, millal seade ootab tellimusi, kuulab või mõtleb. Servosid, andureid ja LED -e juhib tarkvara raamatukogu GPIOZero.
Prototüüp ehitati Forexi PVC -vahtplaatidest, mida saab lõikurinoaga väga lihtsalt lõigata ja liimida, kuid mis on ka üsna stabiilne. Ehitage julgelt suurem, kenam, täiustatud või väljamõeldud versioon, kuid oleks hea, kui dokumenteeriksite ja esitaksite oma parandused.
Võite kasutada keha mõlemat külge, olenevalt sellest, kas soovite liikuvat varustust esitleda või kena, lastesõbraliku paigutusega. --------- "Hampelmann" on saksakeelne termin "hüppav jack", millel on teatud varjundid.
Samm: kasutatud materjalid
Vaarika Pi 3; 32 £ Pimoronis, Suurbritannias
AIY häälkomplekt; 25 naela Ühendkuningriigis Pimoronis
Pololu digitaalse kaugusanduri läbimurre Sharpi anduriga, 5 cm; 5,90 € saidil Exp-tec.de
Kaks 9g servot
Kaks valget LED -i ja takisti
Mõned päised ja hüppajakaablid
2 mm Forex plaat, 250 x 500 mm; 1,70 € Moduloris, Berliinis, Saksamaal
M3 kruvid, mutrid ja seibid kõigi liikuvate osade ühendamiseks. Kasutasin kuut 10 ja nelja 16 mm nailonkruvi.
Kuus M2 kruvi ja mutrit servode kinnitamiseks plaatide külge ning servohoobade ja hammasrataste ühendamiseks.
Paar tilka plastliimi
Samm: seadme kokkupanek ja kasutamine
AIY häälkomplekti enda kohta järgige lihtsalt komplektiga kaasasolevas kirjelduses olevaid juhiseid, sealhulgas jaotist servo kohta. Ma soovitaksin AIY häälkatkestuse servoportidesse joota mitu kolme kontaktiga päist, nii et saate HAT-iga ühendada servod, andurid ja LED-id väga lihtsalt.
Mis puudutab hüppavat pistikut, siis võite siin esitatud jooniseid kasutada mallina svg- ja PDF-failidena või lihtsalt muuta neid vastavalt oma ideedele. Võimalik, et soovite hoida hüppepistiku jalgu ja kätt juhtiva käigu põhipaigutust, tagades, et pöördepunkti ja käigu vaheline kaugus on servo, käe ja jala juures sama.
Teise võimalusena võite koostada ka versiooni, kui käsi ja jalgu juhivad otse neli eraldi servot või täiustatud käik.
Joonist kasutades lõigake tükid Forexi, papist või vineerplaadilt ja puurige augud sobivatesse kohtadesse. Liimige kaugustükid käte ja jalgade pöördepunktidesse, tagades aukude hea joondamise.
Kinnitage servod ja liikuvad osad alusplaadi külge. Lisage kaugusandur ja LED, nagu näidatud. Servod kinnitatakse M2 kruvidega, kõik liikuvad osad M3 kruvidega. Ma kasutasin nailon M3 kruvisid, kuid ainult esteetilistel põhjustel.
Kontrollige, kas servovarred on keskmises asendis. Ühendage servohoovad ja hammasrattad, ma kasutasin selleks M2 kruvisid.
Kinnitage servod, LED -id ja kaugusandur AIY -plaadi servoklemmidele. Teil võib tekkida vajadus pikendus-/hüppajakaablite järele. Ühendasin vasaku servo “servo0” (GPIO 26), parema servo “servo2” (GPIO 13) külge, valgusdioodid “servo5” (GPIO 24) ja anduri AIY külge “servo3” (GPIO 5) külge hääl MÜTS.
Kopeerige pakutav fail „Hampelmann.py” AIY „src” alamkausta ja tehke see kõigile otse käivitatavaks. Selleks võite failihalduris valida faili, seejärel paremklõpsata ja valida Atribuudid, valida Õigused, minna käsule Käivita, valida igaüks. Või kirjutage arendajakonsooli “chmod +x src/Hampelmann.py”.
Kontrollige, kas kõik on paigas ja fikseeritud või vajadusel teisaldatav. Avage käsurea arendaja, sisestage “src/Hampelmann.py” ja käivitage programm. Kui liigutate kätt või sõrmi kaugusanduri ette, küsib AIY -seade tellimusi ja LED -id hakkavad vilkuma. Rakendatud käsud on “parem/vasak/käed üles/alla/keskele”, “tants”, “LED sisse/välja” ja “hüvasti”.
Esita. Liigutage käsi anduri ette, rääkige, kui seda palutakse, ja andke seadmele veidi aega reageerida. Latentsus on üsna kõrge. Crtl+C või “Hüvasti” peatab programmi.
Faili saate muuta Nano või mõne muu lihtsa tekstiredaktori abil.
Märkused: pidage meeles, et mõned sõnad ja terminid tuntakse ära suure algustähega algavate sõnadena, nagu „Keskus” või „Parem Keskus”, teised aga mitte, nt. 'Otse üles'. Mõne toimingu käivitamiseks peate kasutama häältuvastusmooduli antud täpset vormi.
Samm: Pythoni skript
Nagu varem mainitud, põhineb skript AIY hääljuhiste skriptil servo_demo.py, mõned täiendused. Esimene versioon on fail Hampelmann.py, mille leiate manusena. AngularServo GPIOZero'st võimaldab piirata servo tegevuspiirkonda ja täpselt määratleda, kui kaugele see liigub. Kuid ma eelistan Briti häält algsele. Ja seade oskab ka rääkida, kuid ei mõista (?), Inglise, saksa, itaalia, prantsuse ja hispaania keelt. Altpoolt leiate Briti häälega skripti Hampelmann2.py ning natuke itaalia ja saksa keelt. Pidage meeles, et skriptid tuleb nende käivitamiseks muuta käivitatavaks.
#!/usr/bin/env python3 # See skript on kohandus servo_demo.py skriptist AIY häälmütsile, # optimeeritud AIY hüppetõkke importimiseks aiy.audio import aiy.cloudspeech import aiy.voicehat gpiozero import LED -ist alates gpiozero import AngularServo alates gpiozero import Nupp ajast importimine unerežiim def main (): tunnistaja = aiy.cloudspeech.get_recognizer () tunnistaja.expect_phrase ('õige üles') tunnistaja.expect_phrase ('otse alla') tunnistaja.expect_phrase ('Õige Keskel ') # suured tähed on olemas otstarbel äratundja.oota_lause („vasakule üles”) äratundja.oota_väljend („vasakule alla”) tunnistaja.oota_väljend („vasak keskele”) tunnistaja.oota_väljend („käed üles”) tunnistaja.oota_väljend ("käed alla") tunnistaja.expect_phrase ("käed keskel") tunnistaja.expect_phrase ("tants") tunnistaja.expect_phrase ("LED on") tunnistaja.expect_phrase ("LED väljas") tunnistaja.expect_phrase ("hüvasti") aiy.audio.get_recorder (). start () servo0 = AngularServo (26, min_angle = -40, max_angle = 40) # 1st connect või, GPIO 26 servo2 = AngularServo (13, min_angle = -40, max_angle = 40) # 3. pistik, GPIO 13 led0 = LED (24) # LED on ühendatud servo5/GPIO 24 distance = nupp (5) # kaugusandur on ühendatud to servo3/GPIO 05 # others: GPIO 6 at servo1, 12 at servo4 aiy.audio.say ("Tere!",) aiy.audio.say ("Alustamiseks liigutage käsi anduri lähedale"), samas kui True: led0.on () # LED -d printimisel ("Hääletuvastuse aktiveerimiseks liigutage käsi kaugusanduri lähedale ja seejärel rääkige") print ("Oodatud märksõnad on: käed/vasak/parem üles/alla/keskele,") print ('LED sisse/välja, tants ja hüvasti.') print () distance.wait_for_press () print ('Kuulamine …') aiy.audio.say ("Palun anna oma tellimused",) led0.blink () # light vilgub tekst = äratundja.tunnista (), kui tekst on Puudub: aiy.audio.say ('Vabandust, ma ei kuulnud sind.',) else: print ('Sa ütlesid ", tekst," "') # Võimaldab sul kontrollige süsteemide tõlgendust, kas tekstis on "õige üles": print ("Servo0 liigutamine maksimaalsesse asendisse") servo0.angle = 35 elif "paremale alla" tekstis: print ('Servo0 liigutamine minimaalsele positsioonile ') servo0.angle = -35 elif' Paremale keskele 'tekstis: #korrektsed vangistused on kriitilise tähtsusega print (' Servo0 viimine keskmisesse asendisse ') servo0.angle = 0 elif' vasakule 'tekstis: print (' Servo2 liigutamine maksimaalsesse asendisse ') servo2.angle = -35 elif' vasakule alla 'tekstis: print (' Servo2 liigutamine minimaalsesse asendisse ') servo2.angle = 35 elif' vasak keskel 'tekstis: print (' Servo2 teisaldamine keskmine asend ') servo2.angle = 0 elif' käed üles 'tekstis: print (' Servo2 liigutamine maksimaalsesse asendisse ') servo2.angle = -35 servo0.angle = 35 elif' käed alla 'tekstis: print (' Moving servo2 minimaalsesse asendisse ') servo2.angle = 35 servo0.angle = -35 elif' käed keskel 'tekstis: print (' Servo2 liigutamine keskmisesse asendisse ') servo2.angle = 0 servo0.angle = 0 elif' LED off ' tekstis: print ('välise LED 0 väljalülitamine') led0.off () elif 'LED on' tekstis: print ('välise LED 0 sisselülitamine') led0.on () # light elif 'dance' tekstis: print ('praegu esitav tants number üks') aiy.audio.say ("Noh, ma proovin endast parima!",) led0.on () # tuled põlevad i jaoks vahemikus (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 'hüvasti' tekstis: aiy.audio.say ("Hüvasti",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) servo0.angle = 0 servo2.angle = 0 led0.off () uni (3) print ('bye!') break else: print ('märksõna ei tuvastatud!') aiy.audio.say ("Vabandust, ma ei saanud sinust aru",) kui _name_ == ' _main_ ': main ()
Soovitan:
Häälega juhitav robot V3 mooduli abil: 6 sammu
Hääljuhtimisega robot, kasutades V3 moodulit: seda robotit saab hõlpsasti teha igaüks, järgige lihtsalt seda protsessi, mida ma andsin. See on hääljuhtimisega robot ja näete minu roboti demot, mida saate kasutada kahel viisil. kaugjuhtimispult ja muu on häälega
Häälega animeeritud origami nukk: 6 sammu
Häälega animeeritud origami nukk: see projekt kasutab Adafruit Circuit mänguväljaku Arduino sisseehitatud mikrofoni, mis toimib värviorelina ja juhib lisatud mikroservot, et luua kinnitatud origami rebase nuku animeeritud liikumine. Lõbu pärast proovige midagi asendada
Mitme kanaliga Sonoff - häälega aktiveeritud tuled: 4 sammu (piltidega)
Mitmekanaliline Sonoff-häälega aktiveeritud tuled: 5 aastat tagasi läksid minu köögi tuled do-do teed. Raja valgustus oli ebaõnnestunud ja leti all olev valgustus oli lihtsalt rämps. Tahtsin ka valgustuse kanaliteks jagada, et saaksin ruumi paremini valgustada
MATRIX Voice ja MATRIX Creator, mis töötab Alexas (C ++ versioon): 7 sammu
MATRIX Voice ja MATRIX Creator, kus töötab Alexa (C ++ versioon): nõutav riistvara Enne alustamist vaatame üle, mida vajate. Raspberry Pi 3 (soovitatav) või Pi 2 mudel B (toetatud). MATRIX Voice või MATRIX Creator - Raspberry Pi -l pole sisseehitatud mikrofoni, MATRIX Voice/Creatoril on
VoiceLantern - häälega juhitav latern !: 6 sammu
VoiceLantern - häälega juhitav latern !: MiniDSP UMA -8 mikrofonimassiivi koos sisseehitatud suunatuvastuse, kaja ja müra vähendamisega on palju erinevaid rakendusi. Selles juhendis vaatame läbi selle kasutamise koos IBM Watsoni kõneteksti teenusega, et kontrollida