INHOUDSOPGAWE:

Bedelende robot met gesigsporing en beheer deur Xbox -beheerder - Arduino: 9 stappe (met foto's)
Bedelende robot met gesigsporing en beheer deur Xbox -beheerder - Arduino: 9 stappe (met foto's)

Video: Bedelende robot met gesigsporing en beheer deur Xbox -beheerder - Arduino: 9 stappe (met foto's)

Video: Bedelende robot met gesigsporing en beheer deur Xbox -beheerder - Arduino: 9 stappe (met foto's)
Video: 【任天堂主機】 《洛克人2 威利博士之謎》敵人武器流程、關卡攻略 2024, November
Anonim
Image
Image
OpenCV en C ++ installeer en instel
OpenCV en C ++ installeer en instel

Ons gaan 'n bedelende robot maak. Hierdie robot sal probeer om die verbygaande mense te irriteer of aandag te trek. Dit sal hul gesigte opspoor en lasers op hulle probeer skiet. As jy die robot 'n muntstuk gee, sing hy 'n liedjie en dans. Die robot benodig 'n arduino, 'n lewendige invoer van 'n kamera en 'n rekenaar om openCV te laat werk. Die robot kan ook deur 'n xBox -beheerder beheer word as dit aan die rekenaar gekoppel is.

Stap 1: Die materiaal

Hardeware elektronies

  • Arduino NANO of UNO
  • USB 2.0 kamera
  • Springkabels (manlik en vroulik)
  • 2 x Servo - Generies (submikro -grootte)
  • 2 x LED - RGB KATOOD 5 mm
  • 2 x 5mW lasers
  • 1 x rooi LED 5 mm
  • 1 x broodbord
  • 4 x 220Ω weerstand
  • 1 x 1KΩ weerstand
  • 1 x protobord
  • 1 x Sonarsensor 4 penne
  • Xbox -beheerder

Hardeware analoog

  • Houtkas (15 x 15 x 7 cm)
  • Plak
  • Elektriese band

Sagteware

  • Arduino IDE
  • Visuele studio 2017
  • 3Ds Max (of enige ander sagteware vir 3D -modeling)
  • Vooraf 2.14.0 of later
  • OpenCV 3.4.0 of later

Gereedskap

  • Soldeer toerusting
  • Saag en boor
  • Draadsnyer

Stap 2: Installeer en konfigureer OpenCV en C ++

OpenCV en C ++ installeer en instel
OpenCV en C ++ installeer en instel

Stap 2.1: Kry die sagteware

Visual studio 2017: Laai Visual studio Comunity 2017openCV 3.4.0 Wenpak af: Gaan na die amptelike aflaai -bladsy

Stap 2.2: OpenCV2.2.1 installeer: Pak die zip -lêer uit op u Windows (: C) drive.2.2.2: Gaan na u gevorderde stelselinstellings. Dit kan gevind word in u win10 soekfunksie.2.2.3: Ons moet nuwe omgewingsveranderlikes opstel. Vind die "Path" omgewing en druk op edit.2.2.4: Nou moet ons die ligging van die "bin map" by 'n nuwe veranderlike in die Path enviromental voeg. As u openCV op u C -skyf geïnstalleer het, kan die pad so lyk: C: / opencv / build / x64 / vc14 / bin Plak die pad en druk 'OK' op al die vensters wat u tydens hierdie proses moontlik oopgemaak het.

Stap 2.3: konfigurasie van visual studio C ++ 2.3.1: Maak 'n nuwe visuele C ++ - projek. Maak dit 'n leë Win32-konsole-toepassingsprojek: 2.3.2: Klik in die bronlêer-oortjie met die rechtermuisknop en voeg 'n nuwe C ++- lêer (.cpp) by en noem dit "main.cpp".2.3.3: Regskliek op die projek- gee die naam in die oplossingsverkenner en kies Eienskappe 2.3.4: Ons moet 'n addisionele gids insluit. Dit kan gevind word onder die C/C ++ - oortjie in die algemeen. Kopieer die volgende pad: C: / opencv / build / include en plak dit agter die "AID" en klik op Apply.2.3.5: In dieselfde venster moet ons kies die oortjie "Linker". onder die algemeen moet ons 'n ander bykomende Libary dopgehou. Plak die volgende pad agter die "AID" C: / opencv / build / x64 / vc14 / lib en druk weer toepas 2.3.6: Kies onder die oortjie 'Linker' die oortjie 'Invoer'. En druk op "Addisionele afhanklikhede> wysig" en plak die volgende lêer opencv_world320d.lib en xinput.lib (vir die beheerder) en druk weer op Apply. Sluit die venster. Nou is u C ++ - lêer gereed om mee te werk.

Stap 3: Die opstel van die Arduino

Die opstel van die Arduino
Die opstel van die Arduino
Die opstel van die Arduino
Die opstel van die Arduino
Die opstel van die Arduino
Die opstel van die Arduino
Die opstel van die Arduino
Die opstel van die Arduino

Ontmoet die servo's: die servo's kan ~ 160 ° draai. Hulle moet tussen 4, 8 en 6, 0 Volt hê om normaal te werk. Die servo het 3 penne: grond, 4, 8 - 6, 0 volt pen en 'n data speld. Vir ons projek gaan ons die datapennetjies vir die servo's op DigitalPin 9 en 10 stel.

Ontmoet die RGB -LED's: Die RGB -LED's het 4 penne: rooi, groen, blou en gemaalde pen. Om ruimte op die arduino te bespaar, kan ons die 2 RGB -leds aan mekaar koppel. Dus sal ons slegs 3 penne gebruik. Ons kan die RGB -leds op 'n protobord aansluit en soldeer soos in die prentjie. Rooi pen => DigitalPin 3 (PWM) Groen pen => DigitalPin 4Blou pen => DigitalPin 7

Ontmoet die Piezo -gonser: Ons klein robot gaan lawaai. Om dit te kan doen, moet ons hom 'n stem gee! Ons kan kies om hom regtig hard te maak. Of ons kan 'n 220Ω -weerstand voor die piezo -zoemer plaas om hom 'n bietjie minder onaangenaam te maak. Ons verlaat die Piezo -zoemer op die broodplank. U hoef dus nie te soldeer nie. Ons koppel die datapen (+) aan DigitalPin 2 en die grondpen aan die grond op die broodbord.

Ontmoeting met die sonar: om te keer dat die robot probeer om na 'n persoon wat 10 meter verder is, te probeer mik. Ons kan die robot 'n afstandsafstand gee van waar hy op mense kan mik. Ons doen dit met 'n sonarsensor. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => grond

Ontmoeting met die muntdetektor: Ons gaan 'n muntdetektor maak. Die muntdetektor sal werk deur te bepaal of die stroombaan gesluit of gebreek is. Dit sal amper soos 'n skakelaar werk. Maar ons moet versigtig wees. As ons dit verkeerd doen, sal dit ons 'n arduino kos. Eerstens: Koppel AnalogPin A0 aan 'n 5 volt -kabel. Maar sit 'n 1KΩ -weerstand tussenin. Tweedens: Sluit 'n draad aan op die aarde. Ons kan die drade en weerstand onmiddellik aan dieselfde protobord as die RGB -leds soldeer. As ons nou aan die twee drade raak, sal die arduino 'n geslote stroombaan opspoor. Dit beteken dat daar 'n muntstuk is! Ontmoet die lasers van ondergang. Die robot het sy wapens nodig om te vuur! Om ruimte te bespaar, soldeer ek die twee lasers saam, dit pas perfek in die raam van die kamera. Koppel hulle aan DigitalPin 11 en aan die grond. Vuur kêrel weg!

Opsionele foefie. Ons kan 'n rooi LED onder die muntstuk plaas. Dit sal 'n prettige foefie wees as dit donker is. Koppel 'n draad aan DigitalPin 8 en sit 'n 220Ω -weerstand tussen die LED en die draad om te verhoed dat dit opblaas. Verbind die kort pen van die LED met die grond.

Stap 4: Die C ++ - kode

Stap 4.1: Die opstel van die main.cpp -kode 4.1.1: Laai "main.cpp" af en kopieer die kode na u eie main.cpp.4.1.2: Verander op reël 14 die "com" na die com wat die arduino gebruik. "\. / COM (verander dit)" 4.1.3: Stel op lyn 21 en 22 die regte pad in na die lêers "haarcascade_frontalface_alt.xml" en "haarcascade_eye_tree_eyeglasses.xml" As openCV op die C -skyf geïnstalleer is, hierdie lêers kan hier gevind word: "C: / opencv / build / etc / haarcascades / 'Hou die dubbele skuinsstrepe of voeg een by waar slegs een is.

Stap 4.2: Voeg tserial.h en Tserial.cpp by Hierdie twee lêers sorg vir die kommunikasie tussen die arduino en die PC.4.2.1: Laai tserial.h en Tserial.cpp.4.2.2 af: Plaas hierdie 2 lêers in die projek gids. Klik met die rechtermuisknop in die Solution Explorer op die projek en kies Voeg> bestaande item. Kies die twee lêers wat bygevoeg moet word in die opspringvenster.

Stap 4.2: Voeg CXBOXController.h en CXBOXController.h Hierdie lêers neem die kontroleerder deel van die projek in: 4.2 Klik in die Solution Explorer met die rechtermuisknop op die projek en kies Voeg> bestaande item. Kies die twee lêers wat bygevoeg moet word in die opspringvenster. Die C ++ lêers word opgestel.

Stap 5: Die Arduino -kode

Stap 5.1: NewPing -biblioteek 5.1.1: Laai die ArduinoCode.ino af en maak dit oop in die arduino IDE.5.1.2: Gaan na "Skets> Sluit biblioteek in> Bestuur biblioteke".5.1.3: Soek in die filtervak na "NewPing" en installeer hierdie biblioteek.

Stap 5.2: Pitches -biblioteek 5.2.1: Laai pitches.txt af en kopieer die inhoud van pitches.txt.5.2.2: Druk in die Arduino IDE CTRL+Shift+N om 'n nuwe oortjie oop te maak 5.2.2: Plak die kode van die pitches.txt in die nuwe oortjie en stoor dit as "pitches.h". Die Arduino -kode is opgestel

Stap 6: 3D -druk en verfyning van die afdruk

3D -druk en verfyning van die druk
3D -druk en verfyning van die druk
3D -druk en verfyning van die druk
3D -druk en verfyning van die druk

Stap 6.1: Druk die 3D -lêer oop Maak die printfile.form oop en kyk of alles reg is. As alles goed lyk, stuur die afdrukwerk na die drukker. As iets lyk of u die model wil verander. Ek het die 3Ds Max -lêers en OBJ -lêers ingesluit wat u kan wysig.

Stap 6.2: Verfyn die model 6.2.1: Nadat die druk gedruk is, week die 2 modelle in ongeveer 70% alkohol om enige afdruk te verwyder.6.2.2: Na die druk, lê die model 'n paar uur in die son sodat die UV-lig verhard die model. Of u kan 'n UV-lamp gebruik om die model te verhard. Dit moet gedoen word, want die model sal taai wees.

6.2.3: Verwyder die ondersteuningsraamwerk. Dit kan gedoen word met 'n draadknipper. Of enige ander hulpmiddel wat plastiek kan sny: Sommige dele van die 3D -druk kan nog steeds sag wees. Selfs as die model baie UV-lig gehad het. Die dele wat sag kan wees, is die dele wat naby die steunrame is. Plaas die model in meer sonlig van UV-lig om uit te verhard: Met 'n "dremel" kan u al die klein stukkies wat deur die raamwerk gemaak word, wegskuur. U kan probeer om die servo's in die raam te pas. As dit nie pas nie, kan u die Dremel gebruik om materiaal weg te skuur. maak dit fiks.

Stap 7: Bou die boks

Bou die boks
Bou die boks
Bou die boks
Bou die boks

Stap 7.1: Maak gate Ek het 'n bloudruk van die betrokke boks ingesluit. Die bloudruk is nie op skaal nie, maar al die groottes is korrek 7.1.1: Begin deur al die gate op die regte plekke te merk.7.1.2: Boor al die gate. Die groter gate kan op maat gemaak word met 'n Dremel.7.1.3: Die vierkantige gate kan ook geboor word. Maar om dit vierkantig te maak, kan u die Dremel met 'n klein lêer pas en skerp hoeke uitsteek: Probeer om al die komponente te pas. as hulle pas, is dit goed om te gaan! 7.1.5: Pas op vir houtsplinters. Gebruik sandpapier om van hulle ontslae te raak.

Stap 7.2: Verf 7.2.1: Begin met die skuur van die deksel. Ons benodig die verf om te plak. 7.2.2: Neem 'n lap en sit 'n bietjie Terpentyn daarop om die boks skoon te maak.

Stap 8: Voltooi

Voltooi
Voltooi
Voltooi
Voltooi
Voltooi
Voltooi

Nou moet ons alles op sy plek sit en dit laat doen. Stap 8.1: Die muntdetektor 8.1.1: Plak 'n paar metaalstutte vir die muntdetektor vas..3: Toets die verbinding met 'n muntstuk. As daar geen geslote stroombaan is nie, soldeer die drade meer aan die rand Stap 8.2: Die protobord en RGB -leds 8.1: Plaas die protobord in die regter boonste hoek en plak dit vas! 8.2.3: Sluit al die drade van die protobord aan op die arduino. Stap 8.3: Die sonarsensor8.3.1: Plaas die sensor in die gate wat ons daarvoor gemaak het. 8.3.28.3.2: Sny 'n paar manlike en vroulike drade middeldeur en soldeer die vroulike en mannetjiesdrade saam om 'n enkele kabel te maak waarmee ons die sensor met die arduino kan koppel.

Stap 8.4: Lasers en kamera 8.4.1: Plak die klein raam aan die kamera vas. Maak seker dat dit regop is.8.4.2: Plaas die lasers ook in die raam. Plak dit vas sodat die vyand dit nie steel nie!

Stap 8.5: Die servo's en 3D -druk 8.5.1: Plak die servo in die gat van die deksel 8.5.2: Laai die arduino -lêer op na die arduino (dit laat die servo's in die regte posisie staan) 8.5.3: By die servo kom 'n klein ronde plato. Plaas dit op die servo in die deksel.8.5.4: Sit die groot 3D -afdruk op die servo en plato en skroef dit styf vas met 'n skroef. 8.5.5: Plaas die tweede servo op die klein 3D -afdruk en plak dit vas. 8.5.6: Sit die kamera op sy plek en alles is gereed!

Stap 9: Begin die program

Om die robot te begin, maak die C ++ lêer oop in Visual studio. Maak seker dat u in die "ontfoutmodus" is. Laai die arduino -lêer op na die arduino. Sodra dit opgelaai is, druk speel in die visuele studio. En die robot sal al die munte ter wêreld afvuur en versamel !!!

Aanbeveel: