Innholdsfortegnelse:
- Trinn 1: Materialene
- Trinn 2: Installere og konfigurere OpenCV og C ++
- Trinn 3: Sette opp Arduino
- Trinn 4: C ++ - koden
- Trinn 5: Arduino -koden
- Trinn 6: 3D -utskrift og finjustering av utskriften
- Trinn 7: Bygg boksen
- Trinn 8: Fullfør
- Trinn 9: Start programmet
Video: Tiggerobot med ansiktssporing og kontroll av Xbox -kontroller - Arduino: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Vi skal lage en tiggerobot. Denne roboten vil prøve å irritere eller få oppmerksomhet fra forbipasserende. Den vil oppdage ansiktene deres og prøve å skyte lasere på dem. Hvis du gir roboten en mynt, vil han synge en sang og danse. Roboten trenger en arduino, en live feed av et kamera og en datamaskin for å kjøre openCV på. Roboten vil også kunne styres av en xBox -kontroller hvis den er koblet til PCen.
Trinn 1: Materialene
Hardware elektronisk
- Arduino NANO eller UNO
- USB 2.0 kamera
- Hoppekabler (hann og hunn)
- 2 x Servo - Generisk (sub -mikro størrelse)
- 2 x LED - RGB -KODE 5 mm
- 2 x 5mW lasere
- 1 x rød LED 5 mm
- 1 x brødbrett
- 4 x 220Ω motstand
- 1 x 1KΩ motstand
- 1 x protoboard
- 1 x ekkoloddsensor 4 pinner
- Xbox -kontroller
Maskinvare analog
- Treboks (15 x 15 x 7 cm)
- Lim
- Elektrisk tape
Programvare
- Arduino IDE
- Visual studio 2017
- 3Ds Max (eller annen 3D moddeling -programvare)
- Forhåndsform 2.14.0 eller nyere
- OpenCV 3.4.0 eller nyere
Verktøy
- Loddeutstyr
- Så og bor
- Wire cutter
Trinn 2: Installere og konfigurere OpenCV og C ++
Trinn 2.1: Få programvaren
Visual studio 2017: Last ned Visual studio Comunity 2017openCV 3.4.0 Vinnpakke: Gå til den offisielle nedlastingssiden
Trinn 2.2: Installere OpenCV2.2.1: Pakk ut zipfilen til Windows (: C) -stasjonen.2.2.2: Gå til de avanserte systeminnstillingene. Dette finnes i din win10 søkefunksjon.2.2.3: Vi må sette opp nye miljøvariabler. Finn "Path" -miljøet og trykk på edit.2.2.4: Nå må vi legge til plasseringen av "bin map" i en ny variabel i Path enviromental. Hvis du installerte openCV på din C -stasjon, kan banen gå slik: C: / opencv / build / x64 / vc14 / bin Lim inn banen og trykk "OK" på alle vinduene du kan ha åpnet under denne prosessen.
Trinn 2.3: konfigurere visual studio C ++ 2.3.1: Lag et nytt visuelt C ++ - prosjekt. Gjør det til et tomt win32-konsollapplikasjonsprosjekt. 2.3.2: I kildefilfanen, høyreklikk og legg til en ny C ++- fil (.cpp) og navngi den "main.cpp". 2.3.3: Høyreklikk på prosjekt- navn i løsningsutforskeren og velg Egenskaper 2.3.4: Vi må legge til en ekstra Inkluder kataloger. Dette finner du under fanen C/C ++ generelt. Kopier følgende bane: C: / opencv / build / include og lim den inn bak "AID" og klikk på Apply.2.3.5: I det samme vinduet må vi velg "Linker" -fanen. Generelt må vi lage andre Ytterligere Libary -kataloger. Lim inn den følgende banen bak "AID" C: / opencv / build / x64 / vc14 / lib og trykk bruk igjen 2.3.6: Under den samme Linker -fanen velger du "Input" -fanen. Og trykk på "Ytterligere avhengigheter> rediger" og lim inn følgende fil opencv_world320d.lib og xinput.lib (for kontrolleren) og trykk på Apply igjen. Lukk vinduet. Nå er C ++ - filen klar til å jobbe med.
Trinn 3: Sette opp Arduino
Møte servoene: Servoene kan rotere ~ 160 ° De må ha mellom 4, 8 og 6, 0 Volt for å fungere normalt. Servoen har 3 pinner: bakken, 4, 8 - 6, 0 volt pin og en data pin. For prosjektet vårt skal vi sette datapinnene for servoene på DigitalPin 9 og 10.
Møte RGB -lysdiodene: RGB -lysdiodene har 4 pinner. Rød, grønn, blå og bakkenål. For å spare plass på arduinoen kan vi koble de 2 RGB -lysdiodene sammen. Så vi vil bare bruke 3 pinner. Vi kan koble til og lodde RGB -lysdiodene på et protoboard som på bildet. Rød pin => DigitalPin 3 (PWM) Grønn pin => DigitalPin 4Blue pin => DigitalPin 7
Møte Piezo -summer: Vår lille robot kommer til å lage mye støy. For å gjøre dette må vi gi ham en stemme! Vi kan velge å gjøre ham veldig høy. Eller vi kan sette en 220Ω motstand foran piezo summeren for å gjøre ham litt mindre motbydelig. Vi forlater Piezo -summeren på brødbrettet. Så ikke behov for lodding. Vi kobler datapinnen (+) til DigitalPin 2 og jordpinnen til bakken på brødbrettet.
Møte ekkoloddet: For å forhindre at roboten prøver å sikte mot en person som er 10 meter unna. Vi kan gi roboten et avstandsområde fra hvor den vil kunne sikte mot mennesker. Vi gjør dette med en ekkoloddsensor. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => bakken
Møter myntdetektoren: Vi skal lage en myntdetektor. Myntdetektoren vil fungere ved å oppdage om kretsen er lukket eller ødelagt. Det vil nesten fungere som en bryter. Men vi må være forsiktige. Hvis vi gjør dette feil, vil det koste oss en arduino. Først: Koble AnalogPin A0 til en 5 volt kabel. Men sørg for å sette en 1KΩ motstand mellom den. Andre: Koble en ledning til jord. Vi kan umiddelbart lodde ledningene og motstanden til samme protoboard som RGB -lysdiodene. Hvis vi nå berører de to ledningene, vil arduinoen oppdage en lukket krets. Dette betyr at det er en mynt! Møte lasers of doom. Roboten trenger sine våpen for å skyte! For å spare plass lodde jeg de to laserne sammen. De vil passe perfekt inn i rammen på kameraet. Koble dem til DigitalPin 11 og til bakken. Brann bort fyren!
Valgfri gimmick. Vi kan sette en rød LED under myntsporet. Dette blir en morsom liten gimmick for når det er mørkt. Koble en ledning til DigitalPin 8 og sett en 220Ω motstand mellom LED og ledning for å forhindre at den blåser opp. Koble den korte pinnen til LED -en til jord.
Trinn 4: C ++ - koden
Trinn 4.1: Konfigurere main.cpp -koden 4.1.1: Last ned "main.cpp" og kopier koden til din egen main.cpp.4.1.2: På linje 14 endre "com" til den com arduinoen bruker. "\. / COM (endre dette)" 4.1.3: På linje 21 og 22 angir du den riktige banen til filene "haarcascade_frontalface_alt.xml" og "haarcascade_eye_tree_eyeglasses.xml" Hvis openCV er installert på C -stasjonen, disse filene kan finnes her: "C: / opencv / build / etc / haarcascades \" Behold de dobbelte skråstrekkene eller legg til en der det bare er en.
Trinn 4.2: Legg til tserial.h og Tserial.cpp Disse 2 filene tar seg av kommunikasjonen mellom arduino og PC.4.2.1: Last ned tserial.h og Tserial.cpp.4.2.2: Plasser disse 2 filene i prosjektet katalog. I Solution explorer høyreklikker du på prosjektet og velger legg til> eksisterende element. I popup -vinduet velger du de to filene som skal legges til.
Trinn 4.2: Legg til CXBOXController.h og CXBOXController.h Disse filene tar over kontrolleren av prosjektet 4.2.1: I Solution explorer høyreklikker du på prosjektet og velger legg til> eksisterende element. I popup -vinduet velger du de to filene som skal legges til. C ++ - filene er konfigurert.
Trinn 5: Arduino -koden
Trinn 5.1: NewPing -bibliotek 5.1.1: Last ned ArduinoCode.ino og åpne den i arduino IDE.5.1.2: Gå til "Sketch> Include libary> Manage libaries".5.1.3: Søk i filterboksen til "NewPing" og installer dette biblioteket.
Trinn 5.2: Pitches -bibliotek 5.2.1: Last ned pitches.txt og kopier innholdet i pitches.txt.5.2.2: I Arduino IDE trykker du på CTRL+Shift+N for å åpne en ny fane 5.2.3: Lim inn koden fra pitches.txt i den nye fanen og lagre den som "pitches.h". Arduino -koden er satt opp
Trinn 6: 3D -utskrift og finjustering av utskriften
Trinn 6.1: Skriv ut 3D -filen Åpne printfile.form og sjekk om alt er i orden. Hvis alt ser ut til å være greit, sender du utskriftsjobben til skriveren. Hvis noe ser ut til eller du vil endre modellen. Jeg har inkludert 3Ds Max -filene og OBJ -filene som du kan redigere.
Trinn 6.2: Avgrens modellen 6.2.1: Etter at utskriften er ferdig, suge de to modellene i omtrent 70% alkohol for å fjerne eventuell utskrift.6.2.2: Etter utskrift legg modellen i solen i noen timer for å la UV-lyset herde modellen. Eller du kan bruke en UV-lampe til å herde modellen. Dette må gjøres fordi modellen vil være klissete.
6.2.3: Fjern støtterammen. Dette kan gjøres med en trådkutter. Eller et annet verktøy som kan kutte plast 6.2.4: Noen deler av 3D -utskriften kan fortsatt være myk. Selv om modellen har vært i mye UV-lys. Delene som kan være myke, er delene som var nær støtterammene. Legg modellen i mer sol av UV-lys for å herde ut.6.2.5: Med en "dremel" kan du slipe bort alle de små støtene som er laget av rammen. Du kan prøve å montere servoene i rammen. Hvis de ikke passer, kan du bruke Dremel til å slipe bort materiale. få det til å passe.
Trinn 7: Bygg boksen
Trinn 7.1: Lage hullene Jeg har inkludert en blåkopi av den aktuelle boksen. Blåkopien er ikke i målestokk, men alle størrelsene er riktige. 7.1.1: Start med å markere alle hullene på de riktige stedene. 7.1.2: Bor alle hullene. De større hullene kan gjøres opp til størrelse med en Dremel. 7.1.3: De firkantede hullene kan også bores. Men for å gjøre dem firkantede kan du passe Dremel med en liten fil og fil ut skarpe hjørner 7.1.4: Prøv å passe alle komponentene. hvis de passer, er du god til å gå! 7.1.5: Se opp for tresplinter. Bruk sandpapir for å bli kvitt dem.
Trinn 7.2: Maling 7.2.1: Start med å slipe lokket. Vi trenger at malingen klistrer seg.7.2.2: Ta en klut og legg litt terpentin på den for å rengjøre esken. 7.2.3: Nå kan du spraye boksen i hvilken farge du ønsker.
Trinn 8: Fullfør
Nå må vi sette alt på plass og la det gjøre sitt. Trinn 8.1: Myntdetektoren 8.1.1: Lim ned noen metallbøyler til myntdetektoren.8.1.2: Lodd hver ledning fra kontakten til en bøyle.8.1.3: Test forbindelsen med en mynt. Hvis det ikke er noen lukket krets, lodder du ledningene mer til kanten Trinn 8.2: Protoboardet og RGB -lysdiodene8.2.1: Plasser protoboardet øverst til høyre og tape det ned! 8.2.2: Koble RGB -lysdiodene til ledningene fra protoboardet! 8.2.3: Koble alle ledningene fra protoboardet til arduinoen. Trinn 8.3: Ekkoloddsensoren8.3.1: Plasser sensoren i hullene vi laget for den. Hvis du har mannlige til kvinnelige jumpwires kan du hoppe over 8.3.28.3.2: Kutt noen hann- og hunnledninger i to og lodd hunn- og hanntrådene sammen for å lage en enkelt kabel vi kan bruke til å koble sensoren til arduino.8.3.3: Koble sensoren til arduinoen
Trinn 8.4: Lasere og kamera 8.4.1: Lim den lille rammen til kameraet. Sørg for at den er stående.8.4.2: Sett laserne inn i rammen også. Lim dem ned slik at fienden ikke stjeler dem!
Trinn 8.5: Servoer og 3D -utskrift 8.5.1: Lim servoen i hullet på lokket 8.5.2: Last opp arduino -filen til arduinoen (dette får servoene til å stå i riktig posisjon) 8.5.3: Med servoen fulgte en lite rundt platå. Plasser dette på servoen i lokket. 8.5.5: Sett det store 3D -trykket på servoen og platået og skru dem godt sammen med en skrue. 8.5.5: Legg den andre servoen på den lille 3D -utskriften og lim dem sammen. 8.5.6: Sett kameraet på plass, så er alt klart!
Trinn 9: Start programmet
For å starte roboten, åpne C ++ - filen i Visual studio. Sørg for at du er i "feilsøkingsmodus" Last opp arduino -filen til arduinoen. Når det er lastet opp, trykker du på play i visual studio. Og roboten vil skyte og samle alle myntene i verden !!!
Anbefalt:
Akvariedesign med automatisert kontroll av grunnleggende parametere: 4 trinn (med bilder)
Akvariedesign med automatisert kontroll av grunnleggende parametere: Introduksjon I dag er marin akvariumpleie tilgjengelig for alle akvarister. Problemet med å skaffe seg et akvarium er ikke vanskelig. Men for innbyggernes fulle livsstøtte, beskyttelse mot tekniske feil, enkelt og raskt vedlikehold og pleie
Ansiktssporing og smiloppdagende Halloween -roboter: 8 trinn (med bilder)
Ansiktssporing og smiloppdagende Halloween -roboter: Halloween kommer! Vi bestemte oss for å bygge noe kult. Møt Ghosty og Skully roboter. De kan følge ansiktet ditt, og de vet når du smiler for å le med deg! Dette prosjektet er et annet eksempel på bruk av iRobbie -appen som konverterer iPhone til
RasbperryPi -bil med FPV -kamera. Kontroll av nettleser: 31 trinn (med bilder)
RasbperryPi -bil med FPV -kamera. Kontroll av nettleser: Vi skal bygge 4wd bil - styringen vil være lik som i en tank - for å snu den ene siden av hjulene vil rotere med annen hastighet enn den andre. Ved bilen vil det bli plassert kamera på spesiell holder der vi kan endre kameraposisjon. Roboten vil bli
OmniBoard: Skateboard og Hoverboard Hybrid Med Bluetooth -kontroll: 19 trinn (med bilder)
OmniBoard: Skateboard og Hoverboard Hybrid Med Bluetooth-kontroll: OmniBoard er en ny elektrisk skateboard-Hoverboard Hybrid som kan kontrolleres via en Bluetooth-smarttelefonapplikasjon. Den er i stand til å bevege seg med alle tre frihetsgrader oppnådd av begge brettene kombinert, gå fremover, snurre rundt aksen og
PhotonLamp - en WS2812b utstyrt designerlampe med MQTT -kontroll: 5 trinn (med bilder)
PhotonLamp - en WS2812b utstyrt designerlampe med MQTT -kontroll: For flere år siden kjøpte vi en designerlampe som hadde en lampeskjerm i form av en sigar og var laget av melkeglass. Vi likte den spesielle utformingen av skjermen og lampens generelle utseende. Men jeg har egentlig ikke vært fornøyd med lyset