Inhoudsopgave:
- Stap 1: Boor, sluit en monteer de motor
- Stap 2: De container bevestigen
- Stap 3: Maak een klein gaatje voor Candy Thrower
- Stap 4: Arduino-installatie
- Stap 5: Dlib-configuratie
- Stap 6: Gezichtsherkenning verbinden met uw robot
Video: Snoepgooiende robot met Arduino, gerecyclede onderdelen en Dlib. - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Met een paar gerecyclede onderdelen, een Arduino + motorschild en Dlib-computersoftware kun je een werkende gezichtsdetecterende snoepwerper maken.
Materialen:
- Houten frame
- Laptop/computer (liefst een krachtiger dan een Raspberry Pi!).
- Arduino (bij voorkeur Uno, of een die op je motorschild past.)
- Arduino-motorschild (ik gebruikte het oude Adafruit-schild, zoals hier nog steeds wordt verkocht)
- Elke standaard webcam
- Kleine wasmachine
Gerecycleerde onderdelen:
- Behuizing (oude metalen doos werkt goed.)
- Stappenmotor, gelijkstroommotor van gedemonteerde oude printer.
- Oude printervoeding
- Snoepdispenser (Grote yoghurtcontainer).
De ingewanden van het eindproduct zullen er ongeveer uitzien als bijgevoegd overzicht.
Waarschuwing
Zorg ervoor dat u de stroom naar de Arduino/motorconfiguratie loskoppelt voordat u bedrading/herbedrading aanbrengt. Zorg ervoor dat u de stroom in de juiste polariteit aansluit!
Dit is een project op gemiddeld niveau met Arduino en software die je op je computer moet installeren of compileren. De instructies kunnen variëren en zijn getest op Ubuntu.
Mogelijk moet u de Arduino-code aanpassen aan het motorschild dat u gebruikt, als u het oude Adafruit-motorschild niet gebruikt.
Stap 1: Boor, sluit en monteer de motor
Boor gaten in de behuizing, bevestig de stappenmotor zodat de webcam aan de bovenkant kan bewegen en de dispenser aan de onderkant kan draaien.
Stappenmotoren kunnen in kleine stappen bewegen (4 draden), in tegenstelling tot DC-motoren (2 draden) die achteruit/vooruit lopen, niet in stappen.
De DC-motor heeft 2 draden (loopt in beide richtingen), de optionele stappenmotor heeft 4 in twee spoelen (test met een multimeter weerstandsmeter om te zien waar de spoelen zijn bedraad, zoals hier beschreven.)
Als je het oude Adafruit-schild gebruikt zoals in mijn voorbeeld, moet je de DC-snoepspinnermotor aansluiten op motor #3 en de stappenmotor op de eerste twee motoren (#1, #2) zoals beschreven in hun documentatie.
Eenmaal aangesloten, sluit u de motoren aan op een Arduino Motor Shield die op een Arduino is aangesloten. Voor de beste resultaten wordt aanbevolen om een tweede voeding naar de motoren te hebben, die u kunt aansluiten op de DC-uitgang op een muurwrat van $ 2 uit een tweedehandswinkel.
Stap 2: De container bevestigen
Meet het midden van een yoghurtcontainer of een andere grote plastic container af en boor een gat dat net groter is dan het uiteinde van de motor.
Bevestig de container aan de doos met behulp van een kleine ring - Krazy-lijm deze op de bodem van de container en op de spindel van de elektromotor.
Laat de lijm een dag of twee drogen om volledig uit te harden - u kunt een klein afstandsstuk tussen de doos en de draaiende container plaatsen om ervoor te zorgen dat deze niet scheef gaat zitten.
Stap 3: Maak een klein gaatje voor Candy Thrower
Zodra de spinner goed is bevestigd, gebruikt u het uiteinde van een scherp mes om een klein gaatje te schetsen waar snoep uit het uiteinde kan worden gegooid - dit moet net boven de bodem zijn, waar de lip is.
(Voor de beste resultaten kunnen ongeveer 30 snoepjes op het dekseluiteinde van de dispenser worden geplaatst, wat de onderkant zal zijn.)
Blijf voorzichtig schetsen met een scherp mes totdat het eruit springt, laat een klein gaatje achter (je kunt het gat later uitbreiden als dat nodig is).
Stap 4: Arduino-installatie
Als u de Arduino-software nog niet hebt geïnstalleerd, haalt u deze op van
www.arduino.cc/en/Main/Software
Elke recente versie zou moeten werken.
Test de DC/stappenmotor met de voorbeelden in de voorbeeldcode van uw Arduino Shield.
Als je dit schild gebruikt (nog steeds verkrijgbaar bij sommige wederverkopers), kun je mijn code rechtstreeks gebruiken:
github.com/programmin1/HowToTrainYourRobot…
Als je eenmaal hebt getest en snoep kunt uitgeven door "d" in te voeren in het Arduino-seriële venster, is het tijd om dit te verbinden met de herkenner van Dlib.
Stap 5: Dlib-configuratie
Dlib (https://dlib.net/) biedt een open-source, gebruiksvriendelijke bibliotheek voor beeldherkenning. Installeer de Python Dlib-module met behulp van:
sudo pip install Dlib
- of -
sudo easy_install Dlib
Wacht tot Dlib is geïnstalleerd en gecompileerd. (Je hebt een computer nodig met bij voorkeur een paar gigs RAM, anders moet je lang wachten en de swap-ruimte uitbreiden). De code gebruikt ook OpenCV voor de webcammodule, dus voer uit:
sudo apt-get install python-opencv
Installatiestappen kunnen variëren als u MacOS of andere besturingssystemen gebruikt.
Pak nu de gezichtsherkenningsoriëntatiepuntengegevens van
dlib.net/files/shape_predictor_68_face_land…
Pak het uit (met Archiefbeheer / 7zip) en plaats het in HOME/Downloads/shape_predictor_68_face_landmarks.dat
Stap 6: Gezichtsherkenning verbinden met uw robot
Sluit de Arduino-controlerende USB aan op de computer en controleer of het bestand "/dev/ttyACM0" bestaat (dit is het apparaat waarnaar de seriële opdrachten moeten worden verzonden). Als het niet werkt en een andere gelijknamige map die verschijnt in /dev wanneer je het aansluit, vervang dan /dev/ttyACM0 in het faceDetectThreadCorrelationCV2FaceSmile.py bestand in de repo.
Sluit de webcam aan (als er geen ingebouwde webcam is op de computer die u gebruikt) en voer dat.py-bestand uit in de opdrachtregel of met de opdracht Uitvoeren/F5 in de teksteditor van Geany. Als u een tweede/externe webcam op een laptop wilt gebruiken, kunt u "VideoCapture(0)" wijzigen in "VideoCapture(1)" om een tweede webcam te gebruiken, die u op de stappenmotor bovenop de robotbox kunt plaatsen.
Als alles goed gaat zie je een omtrek van een glimlach als er een gezicht voor de webcam staat.
Lees het overzicht en de broncode van het.py-bestand om de wiskunde te zien van hoe lachdetectie werkt op basis van de punten die Dlib geeft op basis van de gezichtsherkenningsfunctionaliteit.:)
Aanbevolen:
Maak een LED-vlieger van gerecyclede onderdelen! 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Maak een LED-vlieger van gerecyclede onderdelen!: Hallo, ik hoop dat iedereen veilig en gezond is tijdens deze pandemie. Toen ik thuis bleef, realiseerde ik me dat ik wat oude en ongebruikte elektronische circuits en defecte mobiele adapters had. Als een elektronische liefhebber en een fervent vliegerfan, vroeg ik me af, wo
SMD-onderdelen solderen: 6 stappen (met afbeeldingen)
Hoe SMD-onderdelen te solderen: In deze instructable laat ik je 3 methoden zien om SMD-onderdelen te solderen, maar voordat we bij de daadwerkelijke methoden komen, denk ik dat het het beste is om te praten over het type soldeer dat moet worden gebruikt. En er zijn twee hoofdtypen soldeer die u kunt gebruiken, dat is gelode of l
Doorlopende onderdelen solderen: 7 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe doorlopende delen te solderen: In deze Instructable laat ik je zien hoe je doorlopende delen kunt solderen. Ik ga je stap voor stap door de procedure leiden en je verschillende tips geven & trucs die je soldeervaardigheden naar een nieuw niveau moeten tillen. Deze tutorial is ta
Gratis onderdelen voor elektronicaprojecten en experimenten: 26 stappen (met afbeeldingen)
Gratis onderdelen voor elektronicaprojecten en experimenten: deze instructable gaat over het verkrijgen van gratis onderdelen voor elektronicaprojecten. Je hebt waarschijnlijk alle spullen die je nodig hebt om aan de slag te gaan, en je voorraden zullen in de loop van de tijd groeien als je dingen breekt, nieuwe dingen koopt, of soms geven mensen je hun oude of on
Hoe een dvd-station te redden voor gratis onderdelen: 7 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe een dvd-station te redden voor gratis onderdelen: heb je je ooit afgevraagd wat er in die optische stations zit die kunnen worden gebruikt? Toen ik een kind was, was het erg interessant voor mij om manieren te weten om onderdelen te recyclen. Zelfs nu vind ik het leuk en interessant. Jongens, dit is genomineerd voor de schat