Turinys:
- 1 žingsnis: medžiagos
- 2 veiksmas: „OpenCV“ir „C ++“diegimas ir konfigūravimas
- 3 žingsnis: „Arduino“nustatymas
- 4 žingsnis: C ++ kodas
- 5 žingsnis: „Arduino“kodas
- 6 žingsnis: 3D spausdinimas ir spausdinimo tobulinimas
- 7 žingsnis: pastatykite dėžutę
- 8 žingsnis: Baigimas
- 9 veiksmas: paleiskite programą
Video: Elgetaujantis robotas su veido stebėjimu ir valdymu, naudojant „Xbox“valdiklį - „Arduino“: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Mes padarysime elgetaujantį robotą. Šis robotas bandys erzinti ar atkreipti praeinančių žmonių dėmesį. Jis aptiks jų veidus ir bandys šaudyti į juos lazeriais. Jei padovanosite robotui monetą, jis dainuos ir šoks. Norint paleisti „openCV“, robotui reikės arduino, tiesioginio fotoaparato ir kompiuterio. Robotą taip pat galės valdyti „xBox“valdiklis, jei jis bus prijungtas prie kompiuterio.
1 žingsnis: medžiagos
Elektroninė aparatinė įranga
- „Arduino NANO“arba „UNO“
- USB 2.0 kamera
- Trumpieji kabeliai (vyriškos ir moteriškos)
- 2 x servo - bendras (sub -micro dydis)
- 2 x LED - RGB KATODAS 5 mm
- 2 x 5 mW lazeriai
- 1 x raudonas šviesos diodas 5 mm
- 1 x duonos lenta
- 4 x 220Ω rezistorius
- 1 x 1KΩ rezistorius
- 1 x protoboard
- 1 x sonaro jutiklis 4 kaiščiai
- „Xbox“valdiklis
Techninės įrangos analogas
- Medinė dėžutė (15 x 15 x 7 cm)
- Klijai
- Izoliacinė juosta
Programinė įranga
- „Arduino IDE“
- Vizualinė studija 2017 m
- „3Ds Max“(arba bet kuri kita 3D modeliavimo programinė įranga)
- Ruošinys 2.14.0 arba naujesnis
- „OpenCV 3.4.0“arba naujesnė versija
Įrankiai
- Litavimo įranga
- Pjūklas ir gręžtuvas
- Vielos pjaustytuvas
2 veiksmas: „OpenCV“ir „C ++“diegimas ir konfigūravimas
2.1 žingsnis: Gaukite programinę įrangą
„Visual studio 2017“: atsisiųskite „Visual studio Comunity 2017openCV 3.4.0“laimėjimo paketą: eikite į oficialų atsisiuntimo puslapį
2.2 veiksmas: „OpenCV2.2.1“diegimas: išskleiskite ZIP failą į „Windows“(: C) diską. 2.2.2: eikite į išplėstinius sistemos nustatymus. Tai galima rasti jūsų „win10“paieškos funkcijoje. 2.2.3: Turime nustatyti naujus aplinkos kintamuosius. Suraskite aplinkos „Path“aplinką ir paspauskite redaguoti.2.2.4: Dabar „bin map“vietą turime pridėti prie naujo „Path enviromental“kintamojo. Jei C diske įdiegėte „openCV“, kelias gali būti toks: C: / opencv / build / x64 / vc14 / bin Įklijuokite kelią ir paspauskite „Gerai“visuose languose, kuriuos galbūt atidarėte šio proceso metu.
2.3 veiksmas: vizualinės studijos C ++ konfigūravimas 2.3.1: sukurkite naują vaizdinį C ++ projektą. Padarykite tai tuščiu „Win32 Console“programos projektu. 2.3.2: Skirtuke „Šaltinio failai“dešiniuoju pelės mygtuku spustelėkite ir pridėkite naują C ++ failą (.cpp) ir pavadinkite jį „main.cpp“.2.3.3: Dešiniuoju pelės mygtuku spustelėkite projektą pavadinimą Sprendimų naršyklėje ir pasirinkite Ypatybės.2.3.4: Turime pridėti papildomus įtraukimo katalogus. Tai galima rasti C/C ++ skirtuke apskritai. Nukopijuokite šį kelią: C: / opencv / build / include ir įklijuokite jį už "AID" ir spustelėkite taikyti. 2.3.5: Tame pačiame lange turime pasirinkite skirtuką „Linker“. apskritai turime sukurti kitus papildomus bibliotekų katalogus. Įklijuokite šį kelią už „AID“C: / opencv / build / x64 / vc14 / lib ir dar kartą paspauskite Apply.2.3.6: Tame pačiame „Linker“skirtuke pasirinkite skirtuką „Įvestis“. Ir paspauskite „Papildomos priklausomybės> redaguoti“ir įklijuokite šiuos failus opencv_world320d.lib ir xinput.lib (valdikliui) ir dar kartą paspauskite taikyti. Uždarykite langą. Dabar jūsų C ++ failas paruoštas darbui.
3 žingsnis: „Arduino“nustatymas
Servų susitikimas: Servos gali pasukti ~ 160 °. Norint normaliai veikti, jos turi turėti nuo 4, 8 iki 6, 0 voltų. Servo turi 3 kaiščius: įžeminimą, 4, 8 - 6, 0 voltų kaištį ir duomenis smeigtukas. Savo projektui mes nustatysime „DigitalPin 9“ir „10“servo duomenų kaiščius.
Susitikimas su RGB šviesos diodais: RGB šviesos diodai turi 4 kaiščius. Raudona, žalia, mėlyna ir įžeminta. Norėdami sutaupyti vietos arduino, galime sujungti 2 RGB lemputes. Taigi mes naudosime tik 3 kaiščius. Galime prijungti ir lituoti RGB šviesos diodus ant protobooto, kaip parodyta paveikslėlyje. Raudonasis kaištis => „DigitalPin 3“(PWM) žalias smeigtukas
Susitikimas su pjezo garsiniu signalu: mūsų mažasis robotas sukels triukšmą. Norėdami tai padaryti, turime duoti jam balsą! Mes galime pasirinkti, kad jis būtų tikrai garsus. Arba mes galime pastatyti 220Ω rezistorių prieš pjezo garsinį signalą, kad jis būtų šiek tiek mažiau nemalonus. Paliekame Piezo signalą ant duonos lentos. Taigi nereikia lituoti. Duomenų kaištį (+) prijungiame prie „DigitalPin 2“, o įžeminimo kaištį - prie duonos lentos.
Susitikimas su sonaru: kad robotas nebandytų nukreipti į žmogų, esantį už 10 metrų. Mes galime suteikti robotui atstumą, nuo kurio jis galės nusitaikyti į žmones. Tai darome naudojant sonaro jutiklį. VCC => 5 voltai Trig => DigitalPin 6Echo => DigitalPin 5GND => žemė
Susitikimas su monetų detektoriumi: ketiname pagaminti monetų detektorių. Monetų detektorius veiks aptikęs, ar grandinė uždaryta ar nutrūkusi. Jis beveik veiks kaip jungiklis. Bet mes turime būti atsargūs. Jei tai padarysime neteisingai, tai mums kainuos arduino. Pirma: prijunkite „AnalogPin A0“prie 5 voltų kabelio. Tačiau įsitikinkite, kad tarp jo yra 1KΩ rezistorius. Antra: prijunkite laidą prie žemės. Mes galime nedelsdami lituoti laidus ir rezistorių prie tos pačios protobooto kaip RGB lemputės. Dabar, jei paliesime du laidus, „arduino“aptiks uždarą grandinę. Tai reiškia, kad yra moneta! Susitikimas su pražūties lazeriais. Robotui reikia ginklų! Norėdami sutaupyti šiek tiek vietos, lituosiu du lazerius. Jie puikiai tilps į fotoaparato rėmą. Prijunkite juos prie „DigitalPin 11“ir prie žemės. Atleiskite mažą vyruką!
Neprivalomas triukas. Po monetų lizdu galime įdėti raudoną šviesos diodą. Tai bus smagus triukas, kai bus tamsu. Prijunkite laidą prie „DigitalPin 8“ir įdėkite 220 Ω rezistorių tarp šviesos diodo ir laido, kad jis nesprogtų. Prijunkite trumpą šviesos diodo kaištį prie žemės.
4 žingsnis: C ++ kodas
4.1 žingsnis: atsisiųskite „main.cpp“kodą4.1.1: atsisiųskite „main.cpp“ir nukopijuokite kodą į savo "\. / COM (pakeisti tai)" 4.1.3: 21 ir 22 eilutėse nustatykite teisingą kelią į failus "haarcascade_frontalface_alt.xml" ir "haarcascade_eye_tree_eyeglasses.xml", jei C diske įdiegta "openCV", šiuos failus galite rasti čia: "C: / opencv / build / etc / haarcascades \" Laikykite dvigubus atbulinius brūkšnius arba pridėkite vieną, kur yra tik vienas.
4.2 veiksmas: pridėkite „tserial.h“ir „Tserial.cpp“Šie 2 failai pasirūpins ryšiu tarp „arduino“ir kompiuterio. 4.2.1: atsisiųskite „tserial.h“ir „Tserial.cpp.4.2.2“: įdėkite šiuos 2 failus į projektą katalogą. Sprendimų naršyklėje dešiniuoju pelės mygtuku spustelėkite projektą ir pasirinkite pridėti> esamas elementas. Atsidariusiame lange pasirinkite du failus, kuriuos norite pridėti.
4.2 veiksmas: pridėkite „CXBOXController.h“ir „CXBOXController.h“. Šie failai perims valdiklio projekto dalį. 4.2.1: Sprendimų naršyklėje dešiniuoju pelės mygtuku spustelėkite projektą ir pasirinkite pridėti> esamą elementą. Iššokančiajame lange pasirinkite du failus, kuriuos norite pridėti. C ++ failai yra nustatyti.
5 žingsnis: „Arduino“kodas
5.1 veiksmas: „NewPing“biblioteka ir įdiekite šią biblioteką.
5.2 veiksmas: „Pitch“biblioteka 5.2.1: atsisiųskite „pitches.txt“ir nukopijuokite „pitches.txt“turinį. 5.2.2: „Arduino IDE“paspauskite CTRL+Shift+N, kad atidarytumėte naują skirtuką. 5.2.3: įklijuokite kodą iš pitches.txt į naują skirtuką ir išsaugokite jį kaip „pitches.h“. „Arduino“kodas buvo nustatytas
6 žingsnis: 3D spausdinimas ir spausdinimo tobulinimas
6.1 veiksmas: 3D failo spausdinimas Atidarykite printfile.form ir patikrinkite, ar viskas gerai. Jei viskas atrodo gerai, atsiųskite spausdinimo užduotį į spausdintuvą. Jei kažkas atrodo ar norite pakeisti modelį. Aš įtraukiau „3Ds Max“failus ir OBJ failus, kad galėtumėte juos redaguoti.
6.2 žingsnis: patobulinkite modelį grūdinti modelį. Arba modeliui sukietinti galite naudoti UV lempą. Tai reikia padaryti, nes modelis bus lipnus.
6.2.3: Nuimkite atraminį karkasą. Tai galima padaryti vielos pjaustytuvu. Arba bet kuris kitas įrankis, galintis pjaustyti plastiką.6.2.4: Kai kurios 3D spausdinimo dalys vis tiek gali būti minkštos. Net jei modelis buvo daug UV spindulių. Dalys, kurios gali būti minkštos, yra tos dalys, kurios yra arti atraminių rėmų. Padėkite modelį daugiau saulės spindulių, kad sukietėtų. Galite pabandyti pritvirtinti servo prie rėmo. Jei jie netinka, galite naudoti „Dremel“medžiagą šlifuoti. kad jis tiktų.
7 žingsnis: pastatykite dėžutę
7.1 žingsnis: skylių padarymas Aš įtraukiau atitinkamos dėžutės projektą. 7.1.1: Pradėkite pažymėdami visas skyles tinkamose vietose. 7.1.2: gręžkite visas skyles. Dremel gali būti padarytos didesnio dydžio skylės. 7.1.3: Taip pat galima išgręžti kvadratines skyles. Jei norite, kad jie būtų kvadratiniai, „Dremel“galite įdėti nedidelį failą ir aštrius kampus. 7.1.4: Pabandykite sutalpinti visus komponentus. 7.1.5: Saugokitės medžio drožlių, jei jos tinka. Norėdami atsikratyti jų, naudokite švitrinį popierių.
7.2 žingsnis: dažymas 7.2.1: pradėkite nuo dangčio šlifavimo. Mums reikia, kad dažai priliptų. 7.2.2: paimkite šluostę ir uždėkite ant jos šiek tiek terpentino, kad išvalytumėte dėžutę.
8 žingsnis: Baigimas
8.1 žingsnis: Monetų detektorius.3: Patikrinkite ryšį su moneta. Jei nėra uždaros grandinės, lituokite laidus labiau prie krašto. 8.2 žingsnis: protoboard ir RGB šviesos diodai 8.2.1: padėkite protoboard viršutiniame dešiniajame kampe ir užklijuokite juostele! 8.2.3: Prijunkite visus laidus iš protobooto prie arduino. 8.3 žingsnis: sonaro jutiklis 8.3.28.3.2: perpjaukite kai kuriuos vyriškus ir moteriškus laidus ir lydykite vidinius ir vidinius laidus, kad gautumėte vieną kabelį, kurį galime naudoti jutikliui prijungti prie arduino. 8.3.3: prijunkite jutiklį prie arduino
8.4 žingsnis: Lazeriai ir fotoaparatas 8.4.1: priklijuokite mažą rėmelį prie fotoaparato. Įsitikinkite, kad jis yra vertikalus.8.4.2: Lazerius taip pat įdėkite į rėmą. Klijuokite juos, kad priešas jų nepavogtų!
8.5 žingsnis: Servo ir 3D spausdinimas 8.5.1: klijuokite servo dangčio skylę 8.5.2: įkelkite arduino failą į arduino (dėl to servos stovi tinkamoje padėtyje) 8.5.3: Kartu su servo mažas apvalus plokščiakalnis. 8.5.5.4: Padėkite didelį 3D atspaudą ant servo ir plokščiakalnio ir tvirtai prisukite juos varžtu. 8.5.6: Įdėkite fotoaparatą į vietą ir viskas yra paruošta darbui!
9 veiksmas: paleiskite programą
Norėdami paleisti robotą, atidarykite „C ++“failą „Visual studio“. Įsitikinkite, kad esate „derinimo režime“. Įkelkite arduino failą į arduino. Kai tai bus įkelta, paspauskite „Play“vaizdo studijoje. Ir robotas šaudys ir surinks visas pasaulio monetas !!!
Rekomenduojamas:
„Raspberry Pi“- autonominis „Mars Rover“su „OpenCV“objektų stebėjimu: 7 žingsniai (su nuotraukomis)
„Raspberry Pi“- autonominis „Mars Rover“su „OpenCV“objektų sekimu: veikia „Raspberry Pi 3“, „Open CV“objektų atpažinimas, ultragarso jutikliai ir nuolatiniai nuolatinės srovės varikliai. Šis roveris gali sekti bet kokį objektą, kuriam jis yra apmokytas, ir judėti bet kokioje vietovėje
Driežo terariumo stebėjimas naudojant „Adosia IoT WiFi“valdiklį + judesio aptikimas: 17 žingsnių (su nuotraukomis)
Driežo terariumo stebėjimas naudojant „Adosia IoT WiFi Controller + Motion Detect“: šioje pamokoje parodysime, kaip sukurti paprastą driežo terariumą saujai skinkų kiaušinių, kuriuos atsitiktinai radome ir sutrikome sodo lauke. Norime, kad kiaušiniai išsiristų saugiai, Taigi viskas, ką mes padarysime, yra sukurti saugią erdvę naudojant plastiką
Nuotoliniu būdu valdomas automobilis - valdomas naudojant belaidį „Xbox 360“valdiklį: 5 žingsniai
Nuotoliniu būdu valdomas automobilis - valdomas naudojant belaidį „Xbox 360“valdiklį: tai instrukcijos, skirtos sukurti savo nuotoliniu būdu valdomą automobilį, valdomą naudojant belaidį „Xbox 360“valdiklį
Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai
Balansavimo robotas / 3 ratų robotas / STEM robotas: Mes sukūrėme kombinuotą balansavimo ir 3 ratų robotą, skirtą naudoti mokyklose ir po pamokų. Robotas sukurtas naudojant „Arduino Uno“, pasirinktinį skydą (pateikiama visa konstrukcijos informacija), „Li Ion“akumuliatorių paketą (visa tai atitinka
Kaip sukurti 2d simbolį naudojant simbolių valdiklį „Unreal Engine 4“naudojant „Visual Script for PC“: 11 žingsnių
Kaip sukurti 2d simbolį naudojant simbolių valdiklį „Unreal Engine 4“naudojant „Visual Script for PC“: Kaip sukurti 2d simbolį su simbolių valdikliu „Unreal engine 4“naudojant vizualų scenarijų kompiuteriui Sveiki, aš esu Jordan Steltz. Nuo 15 metų kūriau vaizdo žaidimus. Ši pamoka išmokys jus sukurti pagrindinį personažą su