Taula de continguts:

Robot de petició amb control i seguiment facial per controlador Xbox - Arduino: 9 passos (amb imatges)
Robot de petició amb control i seguiment facial per controlador Xbox - Arduino: 9 passos (amb imatges)

Vídeo: Robot de petició amb control i seguiment facial per controlador Xbox - Arduino: 9 passos (amb imatges)

Vídeo: Robot de petició amb control i seguiment facial per controlador Xbox - Arduino: 9 passos (amb imatges)
Vídeo: CS50 2015 – 10-я неделя 2024, Desembre
Anonim
Image
Image
Instal·lació i configuració d’OpenCV i C ++
Instal·lació i configuració d’OpenCV i C ++

Anem a fabricar un robot mendicant. Aquest robot intentarà irritar o cridar l'atenció de les persones que passen. Detectarà les seves cares i intentarà disparar-los amb làser. Si doneu una moneda al robot, ell cantarà una cançó i ballarà. El robot necessitarà un arduino, un canal d'informació en directe d'una càmera i un ordinador per executar openCV. El robot també podrà ser controlat per un controlador xBox si està connectat al PC.

Pas 1: els materials

Maquinari electrònic

  • Arduino NANO o UNO
  • Càmera USB 2.0
  • Cables de pont (mascle i femella)
  • 2 x Servo: genèric (mida sub-micro)
  • 2 x LED - RGB CATHODE 5mm
  • Làsers de 2 x 5 mW
  • 1 x LED vermell de 5 mm
  • 1 x Taula de pa
  • Resistència de 4 x 220Ω
  • 1 x 1KΩ resistència
  • 1 x protoboard
  • 1 x sensor de sonar de 4 pins
  • Controlador Xbox

Analògic de maquinari

  • Caixa de fusta (15 x 15 x 7 cm)
  • Cola
  • Cinta elèctrica

Programari

  • IDE Arduino
  • Visual studio 2017
  • 3Ds Max (o qualsevol altre programari de modelatge 3D)
  • Preforma 2.14.0 o posterior
  • OpenCV 3.4.0 o posterior

Eines

  • Equip de soldadura
  • Serrar i trepar
  • Tallador de filferro

Pas 2: Instal·lació i configuració d'OpenCV i C ++

Instal·lació i configuració d’OpenCV i C ++
Instal·lació i configuració d’OpenCV i C ++

Pas 2.1: Obtenir el programari

Visual studio 2017: descarregar Visual Studio Comunity 2017openCV 3.4.0 Win pack: aneu a la pàgina oficial de descàrrega

Pas 2.2: Instal·lació d’OpenCV2.2.1: Extraieu el fitxer zip a la vostra unitat de Windows (: C). 2.2.2: aneu a la configuració del sistema avançada. Es pot trobar a la funció de cerca win10.2.2.3: hem de configurar noves variables ambientals. Localitzeu l'entorn "Camí" i premeu Edita.2.2.4: Ara hem d'afegir la ubicació del "mapa de la paperera" a una nova variable de l'entorn del camí. Si heu instal·lat openCV a la vostra unitat C, el camí pot seguir així: C: / opencv / build / x64 / vc14 / bin Enganxeu el camí i premeu "D'acord" a totes les finestres que és possible que hàgiu obert durant aquest procés.

Pas 2.3: configuració de l'estudi visual C ++ 2.3.1: Feu un nou projecte visual C ++. Feu que sigui un projecte d'aplicació de la consola win32 buit. 2.3.3: a la pestanya Fitxers font, feu clic amb el botó dret i afegiu un fitxer C ++ nou (.cpp) i anomeneu-lo "main.cpp". 2.3.3: feu clic dret al projecte- nom a l’explorador de solucions i seleccioneu Propietats.2.3.4: hem d’afegir directoris d’inclusió addicionals. Es pot trobar a la pestanya C / C ++ en general. Copieu el camí següent: C: / opencv / build / include i enganxeu-lo darrere de l '"AID" i feu clic a aplicar. 2.3.3: A la mateixa finestra hem de seleccioneu la pestanya "Enllaçador". en general, hem de fer altres directoris bibliotecaris addicionals. Enganxeu el següent camí darrere del "AID" C: / opencv / build / x64 / vc14 / lib i torneu a prémer aplicar.2.3.6: a la mateixa pestanya Enllaçador, seleccioneu la pestanya "Entrada". I premeu "Dependències addicionals> edita" i enganxeu el fitxer següent opencv_world320d.lib i xinput.lib (per al controlador) i torneu a prémer aplicar. Tanqueu la finestra. Ara el fitxer C ++ ja està a punt per funcionar.

Pas 3: Configuració de l'Arduino

Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino

Reunió dels servos: els servos són capaços de girar ~ 160 ° Han de tenir entre 4, 8 i 6, 0 volts per funcionar normalment. El servo té 3 pins: terra, 4, 8 - 6, pin de 0 volts i una dada pin. Per al nostre projecte, establirem els pins de dades per als servos de DigitalPin 9 i 10.

Reunió dels leds RGB: els leds RGB tenen 4 pins. Pin vermell, verd, blau i terra. Per tal d’estalviar una mica d’espai a l’arduino, podem connectar els dos leds RGB junts. Per tant, només farem servir 3 pins. Podem connectar i soldar els leds RGB en una protoborda com a la imatge. Pin vermell => DigitalPin 3 (PWM) Pin verd => DigitalPin 4Pinça blava => DigitalPin 7

Conèixer el brunzidor Piezo: el nostre petit robot farà soroll. Per fer-ho, hem de donar-li veu. Podem optar per fer-lo molt fort. O podem posar una resistència de 220Ω davant el brunzidor piezoelèctric per fer-lo una mica menys desagradable. Deixem el timbre Piezo a la pissarra. Per tant, no cal soldar. Connectem el pin de dades (+) a DigitalPin 2 i el pin de terra a terra a la placa de suport.

Conèixer el sonar: per evitar que el robot intenti apuntar cap a una persona que es troba a 10 metres. Podem donar al robot una distància de distància des d’on podrà apuntar a la gent. Ho fem amb un sensor de sonar. VCC => 5 volts Trig => DigitalPin 6 Eco => DigitalPin 5GND => terra

Reunió amb el detector de monedes: farem un detector de monedes. El detector de monedes funcionarà detectant si el circuit està tancat o trencat. Gairebé funcionarà com un interruptor. Però hem de tenir cura. Si ho fem malament, ens costarà un arduino. Primer: connecteu AnalogPin A0 a un cable de 5 volts. Però assegureu-vos de posar-hi una resistència de 1KΩ. Segon: connecteu un cable a terra. Podem soldar immediatament els cables i la resistència a la mateixa placa de protecció que els leds RGB. Ara, si toquem els dos cables més llargs, l’arduino detectarà un circuit tancat. Això significa que hi ha una moneda! Trobar-se amb els làsers de la destrucció. El robot necessita les seves armes per disparar. Per estalviar una mica d’espai, he soldat els dos làsers junts i s’adapten perfectament al marc de la càmera. Connecteu-los a DigitalPin 11 i a terra. Desplaceu-vos a un noi petit!

Truc opcional: podem posar un LED vermell sota la parcel·la de monedes. Aquest serà un petit truc divertit per a quan sigui fosc. Connecteu un cable a DigitalPin 8 i poseu una resistència de 220Ω entre el LED i el cable per evitar que exploti. Connecteu el pin curt del LED a terra.

Pas 4: el codi C ++

Pas 4.1: Configuració del codi main.cpp4.1.1: descarregueu "main.cpp" i copieu el codi al vostre propi main.cpp.4.1.2: a la línia 14 canvieu el "com" pel com que utilitza l'arduino. "\. / COM (canvieu això)" 4.1.3: a les línies 21 i 22 definiu el camí correcte als fitxers "haarcascade_frontalface_alt.xml" i "haarcascade_eye_tree_eyeglasses.xml" Si openCV està instal·lat a la unitat C, Aquests fitxers es poden localitzar aquí: "C: / opencv / build / etc / haarcascades \" Mantingueu les dobles barres invertides o afegiu-ne una on només n'hi hagi una.

Pas 4.2: afegiu tserial.h i Tserial.cpp Aquests 2 fitxers s’encarregaran de la comunicació entre l’arduino i el PC.4.2.1: descarregueu tserial.h i Tserial.cpp.4.2.2: col·loqueu aquests 2 fitxers al projecte directori. Feu clic amb el botó dret del ratolí a l'explorador de solucions sobre el projecte i seleccioneu Afegeix> element existent. A la finestra emergent, seleccioneu els dos fitxers que voleu afegir.

Pas 4.2: afegiu CXBOXController.h i CXBOXController.h Aquests fitxers ocuparan la part del controlador del projecte. 4.2.2: a l’explorador de solucions, feu clic amb el botó dret del ratolí sobre el projecte i seleccioneu Afegeix> element existent. A la finestra emergent, seleccioneu els dos fitxers que voleu afegir. Els fitxers C ++ estan configurats.

Pas 5: el codi Arduino

Pas 5.1: biblioteca NewPing 5.1.1: descarregueu l’ArduinoCode.ino i obriu-lo a l’IDE arduino.5.1.2: aneu a "Esbós> Inclou llibreria> Gestiona llibreries". 5.1.1: Cerqueu al quadre de filtre a "NewPing". i instal·leu aquesta biblioteca.

Pas 5.2: Biblioteca de parcel·les 5.2.2: Descarregueu pitches.txt i copieu el contingut de pitches.txt.5.2.2: a l’IDE d’Arduino premeu CTRL + Maj + N per obrir una nova pestanya. 5.2.2: Enganxeu el codi de la pitches.txt a la nova pestanya i deseu-la com a "pitches.h". El codi Arduino s'ha configurat

Pas 6: Impressió 3D i perfeccionament de la impressió

Impressió 3D i perfeccionament de la impressió
Impressió 3D i perfeccionament de la impressió
Impressió 3D i perfeccionament de la impressió
Impressió 3D i perfeccionament de la impressió

Pas 6.1: imprimiu el fitxer 3D Obriu el fitxer print.form i comproveu si tot és correcte. Si tot sembla correcte, envieu el treball d'impressió a la impressora. Si alguna cosa sembla o voleu canviar el model. He inclòs els fitxers 3Ds Max i els fitxers OBJ perquè els pugueu editar.

Pas 6.2: Refineu el model 6.2.2: Un cop finalitzada la impressió, submergiu els 2 models amb un 70% d’alcohol per eliminar qualsevol impressió. 6.2.2: Després d’imprimir, poseu el model al sol durant unes hores per deixar la llum UV endurir el model. O podeu utilitzar una làmpada UV per endurir el model. Cal fer-ho perquè el model serà enganxós.

6.2.3: Traieu el marc de suport. Això es pot fer amb un tallador de filferro. O qualsevol altra eina que pugui tallar plàstics. 6.2.2: Algunes parts de la impressió 3D encara poden ser suaus. Fins i tot si el model ha tingut molta llum ultraviolada, les parts que poden ser toves són les que es troben a prop dels marcs de suport. Col·loqueu el model amb més llum ultraviolada per endurir-lo.6.2.5: Amb un "dremel" podeu esborrar tots els petits cops que fa l'estructura. Podeu provar d’ajustar els servos al marc. Si no encaixen, podeu utilitzar el Dremel per polir el material. fer que encaixi.

Pas 7: Construir la caixa

Construint la caixa
Construint la caixa
Construint la caixa
Construint la caixa

Pas 7.1: Fer els forats He inclòs un pla de la caixa en qüestió. El pla no està a l’alçada, però totes les mides són correctes. 7.1.1: Comenceu marcant tots els forats de les ubicacions adequades. 7.1.1: Practicar tots els forats. Els forats més grans es poden fer a mida amb un Dremel.7.1.3: Els forats quadrats també es poden perforar. Però per fer-los quadrats, podeu ajustar el Dremel amb un fitxer petit i treure les cantonades esmolades. 7.1.1: Intenteu ajustar tots els components. 7.1.5: vigileu les estelles de fusta. Utilitzeu paper de sorra per eliminar-los.

Pas 7.2: Pintura 7.2.1: Comenceu amb la polit de la tapa. Necessitem que s’enganxi la pintura.7.2.2: Agafeu un drap i poseu-hi una mica de trementina per netejar la caixa. 7.2.2: Ara podeu pintar la caixa amb esprai del color que vulgueu.

Pas 8: Acabar

Acabant
Acabant
Acabant
Acabant
Acabant
Acabant

Ara hem de col·locar-ho tot al seu lloc i deixar que ho faci. Pas 8.1: El detector de monedes 8.1.1: Enganxar uns claus metàl·lics per al detector de monedes..3: proveu la connexió amb una moneda. Si no hi ha cap circuit tancat, soldeu els cables més a la vora. 8.2.3: Connecteu tots els cables del protoboard a l’arduino. Pas 8.3: El sensor de sonar 8.3.1: Col·loqueu el sensor als forats que li hem fet. Si teniu cables de salt masculí a femení, podeu saltar-vos 8.3.28.3.2: Tallar per la meitat alguns cables mascle i femella i soldar els cables femella i mascle junts per fer un sol cable que podem utilitzar per connectar el sensor a l’arduino.

Pas 8.4: Làsers i càmera 8.4.1: Enganxeu el petit marc a la càmera. Assegureu-vos que estigui en posició vertical.8.4.2: poseu també els làsers al marc. Enganxeu-los perquè l'enemic no els robi.

Pas 8.5: Servos i impressió 3D 8.5.1: Enganxeu el servo al forat de la tapa 8.5.2: Pengeu el fitxer arduino a l’arduino (això fa que els servos es mantinguin en la posició correcta) 8.5.3: Amb el servo, petit altiplà rodó. Col·loqueu-lo al servo de la tapa.8.5.4: poseu la impressió 3D gran al servo i a l'altiplà i enrosqueu-los fortament amb un cargol.8.5.5: Col·loqueu el segon servo a la impressió 3D petita i enganxeu-los. 8.5.6: Col·loqueu la càmera al seu lloc i tot és a punt.

Pas 9: inicieu el programa

Per iniciar el robot, obriu el fitxer C ++ a Visual studio. Assegureu-vos que esteu en "mode de depuració" Pengeu el fitxer arduino a l'arduino. Un cop carregat, premeu play a Visual Studio. I el robot dispararà i recollirà totes les monedes del món !!!

Recomanat: