Inhoudsopgave:

Ball Tracking 180° Camera - Ajarnpa
Ball Tracking 180° Camera - Ajarnpa

Video: Ball Tracking 180° Camera - Ajarnpa

Video: Ball Tracking 180° Camera - Ajarnpa
Video: 175mph From NYC to LA (Without Getting Caught) 2024, November
Anonim
Balvolgende 180°-camera
Balvolgende 180°-camera

Welkom bij mijn eerste project! Ik ben verheugd om te delen wat ik heb gemaakt en je de stappen te laten zien om je eigen volgcamera te bouwen. Dit project is mogelijk gemaakt met behulp van de OpenCV-bibliotheek in combinatie met Python.

Stap 1: Verzamel materialen

  • Raspberry Pi Model B 2 (of een ander model)
  • L298N H-brug motorstuurprogramma
  • Motor met tandwielhuis
  • USB-webcam
  • Doorverbindingsdraden
  • Machineschroeven met moeren
  • versnellingen
  • Epoxy / hete lijm
  • Optioneel: Laser

Stap 2: Mechanica

Mechanica
Mechanica
Mechanica
Mechanica
Mechanica
Mechanica

Gebruik een stuk afvalhout (degene die ik heb is behoorlijk in elkaar geslagen, wat goed is), monteer de motor op een plek die niet in het midden is. Bevestig vervolgens een klein tandwiel op de motor. Het gat in het tandwiel moet mogelijk worden vergroot om over de fitting van de motor te passen.

De volgende stap is het monteren van het grote tandwiel (dat los zit) zodat de tanden aansluiten op de tanden van het kleine tandwiel. Dit werd met hete lijm op het bord gemonteerd nadat het hout was opgeruwd met schuurpapier voor een betere hechting.

Nadat de tandwielen op hun plaats zitten, is het tijd om de webcam op het grote tandwiel te bevestigen. Hier heb ik de webcam uit de behuizing gehaald en alleen de kernprintplaat van de webcam gebruikt om de montage te vergemakkelijken. De webcam werd bevestigd met epoxylijm voor een sterke hechting.

Het laatste te monteren onderdeel is optioneel - voor de L298N H-brug. Dit kan worden gemonteerd door eenvoudig vier gaten in het bord te boren en het bord te monteren met machineschroeven en zeskantmoeren.

Stap 3: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Nu alles aan elkaar koppelen. De twee draden van de motor worden rechtstreeks aangesloten op de L298N H-brug in een van de twee terminalconnectoren aan de linker- of rechterkant van het bord (ik koos voor links). Er zijn twee draden nodig om de 5V en aarde van de L298N te verbinden met de 5V en aarde van de Raspberry Pi voor stroomvoorziening. Vervolgens zijn er twee vrouwelijk-vrouwelijke jumperdraden nodig om de L298N te verbinden met de pinnen 17 en 18 van de Pi. De webcam kan eenvoudig worden aangesloten op een van de USB-poorten van de Pi. Dat is alle bedrading!

Stap 4: Coderen

Nu voor het meest uitdagende aspect van dit project.

Ik gebruikte de OpenCV-bibliotheek met Python om de bal in realtime te volgen. Het programma gebruikt ook de gpiozero-bibliotheek die bij de Pi wordt geleverd om de motor te laten draaien volgens de x-coördinaten van de bal die OpenCV bepaalt. De code kan de positie van de bal bepalen op basis van zijn gele kleur, die uniek moet zijn vanaf de achtergrond om effectief te zijn. Een onder- en bovenkleurbereik wordt aan het programma geleverd om te bepalen waar de bal zich bevindt. OpenCV roept vervolgens de functie.inRange() aan met de parameters: het huidige frame (van de webcam), en de onderste en bovenste kleurgrenzen. Nadat de coördinaten van de bal op het frame zijn bepaald, vertelt het programma de motor om te draaien als de bal zich niet in het midden bevindt (x-coördinaat in het bereik van 240 - 400 in een frame van 640 pixels breed). De motor zal meer draaien als de bal meer uit het midden ligt en minder draaien als de bal dichter bij het midden is.

En zo werkt de code.

Let op: als je de code gaat gebruiken, moet je OpenCV geïnstalleerd hebben. Als de motor de verkeerde kant op draait, draai dan gewoon de draden om die naar de L289N gaan, of draai de controlerende gpi-draden die op de Pi zijn aangesloten om.

Aanbevolen: