Innholdsfortegnelse:

Avstandssensorkamera: 4 trinn
Avstandssensorkamera: 4 trinn

Video: Avstandssensorkamera: 4 trinn

Video: Avstandssensorkamera: 4 trinn
Video: Xiaomi MCCGQ01LM - Датчик открытия дверей и окон системы умный дом mihome 2024, Juli
Anonim
Avstandssensor kamera
Avstandssensor kamera

Denne instruksen kommer til å vise deg hvordan du lager et avstandssensorkamera med en bringebær pi. Dette prosjektet vil bruke bringebær -pi og bruke python 3 for kodingen i dette prosjektet Avstandssensorkameraet måler først 100 cm, deretter blinker RGB -LED -en og tar bildet. For å vise at bildet er tatt, vil RGB -LED -en ha en solid blå farge. For å få tilgang til bildet går du til skrivebordet på bringebærpien som bildet ble tatt på.

Du vil trenge:

  • 1x bringebær Pi
  • 1x T-skomaker
  • 1x brødstørrelse i full størrelse
  • 1x Pi -kamera
  • 1x RGB LED (katode)
  • 1x avstandssensor
  • 1x 330 Ω motstand
  • 1x 560 Ω motstand
  • Blå ledninger
  • Svarte ledninger
  • Røde ledninger

Trinn 1:

Bilde
Bilde

Skaff delene og fest T-skomakeren til Raspberry Pi og brødbrettet. Neste oppsett opp bakken og strømledninger. Fra 5,0 v kutt og stripe nok av den røde ledningen til å passe i hullet ved siden av 5,0 v på T-skomakeren og settes inn i den positive siden av de positive og negative flekkene på brettet på den ene siden. Gjør deretter det du nettopp gjorde, men med en svart ledning inn i GND, og det går inn i den negative delen. Deretter går du til den andre siden av brødbrettet og kobler de to positive sidene sammen og de to negative sidene sammen med wire slik at den positive er rød og negativ er svart. Som vist i denne skjemaet

Steg 2:

Bilde
Bilde

Ta avstandssensoren, RGB LED og pi -kameraet og sett dem på plass på pi og brødbrett. Koble pi -kameraet til bringebær -pi i angitt posisjon. Plasser deretter RGB -LED -en i brødbrettet og sørg for at alle ledningene går helt inn i hullet du setter den i. Les deg opp på hvilken RGB -LED du har, og legg merke til hvilken ledning som er hva. Finn deretter et sted for avstandssensoren på brødbrettet der ingenting er i veien. Legg merke til hvilken ledelse som går hvor du trenger å vite det for neste trinn.

Trinn 3:

Bilde
Bilde

Fullfør nå ledningen til kretsen og finn de riktige motstandene for riktig posisjon. Så for å representere makt har jeg brukt røde ledninger, for bakken brukte jeg svarte ledninger, og for GPIO -ledningene har jeg brukt de blå ledningene. Og i dette trinnet vil vi også sette motstandene på riktig sted av avstandssensoren. Følg skjemaet om hvordan du kobler denne kretsen om nødvendig.

Trinn 4:

Bilde
Bilde

Nå for dette trinnet skal vi kode, og for dette bruker vi python 3. Det som må skje er at hvis avstanden mellom u og avstandssensoren er mer enn 100 cm, tar kameraet et bilde. Men like før bildet vil det blinke rødt og etter bildet vil det være en solid blå farge.

Python 3 -kode

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

kamera = PiCamera ()

GPIO.setmode (GPIO. BCM)

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

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

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

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

def GreenLight (): rød. på () grønn. av () blå. på ()

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

sove (0,00001) GPIO.output (GPIO_TRIGGER, False)

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

returavstand

prøv: mens igjen: dist = distanse () hvis dist> 100: camera.start_preview () RedLight () RedLight () sleep (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () igjen = Feil utskrift ("Målt avstand = %.1f cm" % dist) søvn (1)

# Tilbakestill ved å trykke CTRL + Cexcept KeyboardInterrupt: print ("Måling stoppet av bruker") GPIO.cleanup ()

Anbefalt: