Indholdsfortegnelse:

Distance Sensor Camera: 4 trin
Distance Sensor Camera: 4 trin

Video: Distance Sensor Camera: 4 trin

Video: Distance Sensor Camera: 4 trin
Video: Lesson 77: Using VL53L0X 200cm Laser Distance Sensor | Arduino Step By Step Course 2024, Juli
Anonim
Afstandssensor kamera
Afstandssensor kamera

Denne instruktive vil vise dig, hvordan du laver et afstandssensorkamera ved hjælp af en hindbærpi. Dette projekt vil bruge raspberry pi og bruge python 3 til kodning i dette projekt Distance Sensor Camera måler først 100 cm, derefter blinker RGB LED'en og tager billedet. For derefter at vise, at billedet er taget, vil RGB -LED'en have en fast blå farve. For derefter at få adgang til billedet går du til skrivebordet på den hindbærpi, som billedet blev taget på.

Du får brug for:

  • 1x Hindbær Pi
  • 1x T-skomager
  • 1x fuld størrelse brødbræt
  • 1x Pi kamera
  • 1x RGB LED (katode)
  • 1x afstandssensor
  • 1x 330 Ω modstand
  • 1x 560 Ω modstand
  • Blå ledninger
  • Sorte ledninger
  • Røde ledninger

Trin 1:

Billede
Billede

Anskaf delene, og fastgør T-skomageren til Raspberry Pi og brødbrættet. Næste opsætning af jorden og strømledninger. Fra 5,0 v skæres og strippes nok af den røde ledning til at passe i hullet ved siden af 5,0 v på T-skomageren og indsættes i den positive side af de positive og negative pletter på brættet på den ene side. Gør derefter det, du lige har gjort, men med en sort ledning ind i GND, og det går ind i den negative del. Derefter går du til den anden side af brødbrættet og forbinder de to positive sider sammen og de to negative sider sammen med ledning, så den positive er rød og negativ er sort. Som vist i denne skematiske

Trin 2:

Billede
Billede

Tag afstandssensoren, RGB LED og pi -kameraet, og sæt dem på plads på pi og brødbræt. Tilslut pi -kameraet til hindbærpi i den angivne position. Placer derefter RGB -LED'en i brødbrættet, og sørg for, at alle de fuldstændige ledninger går ind i det hul, du sætter den i. Læs op på, hvilken RGB -LED du har, og læg mærke til, hvilken ledning der er hvad. Find derefter et sted til afstandssensoren på brødbrættet, hvor intet er i vejen. Læg mærke til, hvilket lead der går hvor du skal vide det til det næste trin.

Trin 3:

Billede
Billede

Afslut nu ledningerne til kredsløbet og find de rigtige modstande til den rigtige position. Så for at repræsentere strøm har jeg brugt røde ledninger, til jord brugte jeg sorte ledninger, og til GPIO -ledninger har jeg brugt de blå ledninger. Og i dette trin vil vi også sætte modstandene på det korrekte sted ved hjælp af afstandssensoren. Følg om nødvendigt skematisk, hvordan dette kredsløb køres.

Trin 4:

Billede
Billede

Nu til dette trin vil vi kode, og til dette vil vi bruge python 3. Det, der skal ske, er, at hvis afstanden mellem u og afstandssensoren er mere end 100 cm, vil kameraet tage et foto. Men lige før fotoet vil det blinke rødt, og efter fotoet vil det være en ensfarvet blå farve.

Python 3 -kode

import RPi. GPIO som GPIO fra picamera import PiCamera fra tid import søvn, tid fra gpiozero import LED, knap

kamera = PiCamera ()

GPIO.setmode (GPIO. BCM)

GPIO_TRIGGER = 13GPIO_ECHO = 19 rød = LED (16) grøn = LED (20) blå = LED (21) igen = True

GPIO.setwarnings (False) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

def RedLight (): rød.blink () grøn.på () blå.på ()

def BlueLight (): rød. på () grøn. på () blå.off ()

def GreenLight (): rød. på () grøn.off () blå.på ()

def distance (): GPIO.output (GPIO_TRIGGER, True)

sleep (0,00001) GPIO.output (GPIO_TRIGGER, Falsk)

StartTime = time () StopTime = time ()

mens GPIO.input (GPIO_ECHO) == 0: StartTime = time ()

mens GPIO.input (GPIO_ECHO) == 1: StopTime = time ()

TimeElapsed = StopTime - StartTime distance = (TimeElapsed * 34300) / 2

returafstand

prøv: mens igen: dist = distance () hvis dist> 100: camera.start_preview () RedLight () RedLight () sleep (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () igen = Falsk udskrivning ("målt afstand = %.1f cm" % dist) søvn (1)

# Nulstil ved at trykke på CTRL + Cexcept KeyboardInterrupt: print ("Måling stoppet af bruger") GPIO.cleanup ()

Anbefalede: