INHOUDSOPGAWE:

Afstandsensorkamera: 4 stappe
Afstandsensorkamera: 4 stappe

Video: Afstandsensorkamera: 4 stappe

Video: Afstandsensorkamera: 4 stappe
Video: Необычный 4 тактный двигатель - БЕЗ КЛАПАНОВ гильза вращается Что за зверь такой ??? 2024, Julie
Anonim
Afstandsensor kamera
Afstandsensor kamera

Hierdie instruksies gaan jou wys hoe om 'n afstandsensorkamera met 'n framboospi te maak. Hierdie projek sal die framboos -pi gebruik en python 3 gebruik vir die kodering in hierdie projek. Die afstandsensorkamera meet eers 100 cm, dan knip die RGB -LED en neem die foto. Om te wys dat die foto geneem is, sal die RGB -LED 'n soliede blou kleur hê. Om toegang tot die foto te verkry, gaan u na die tafelblad van die framboospi waarop die foto geneem is.

Jy sal nodig hê:

  • 1x Framboos Pi
  • 1x T-skoenmaker
  • 1x volgrootte broodbord
  • 1x Pi kamera
  • 1x RGB LED (katode)
  • 1x Afstandsensor
  • 1x 330 Ω Weerstand
  • 1x 560 Ω Weerstand
  • Blou drade
  • Swart drade
  • Rooi drade

Stap 1:

Beeld
Beeld

Verkry die onderdele en heg die T-Cobbler aan die Raspberry Pi en broodbord. Stel dan die grond- en kragdrade op. Sny en stroop genoeg van die rooi draad vanaf 5.0 v om in die gat langs 5.0 v op die T-Cobbler te pas en plaas die positiewe kant van die positiewe en negatiewe kolle op die bord aan die een kant. Doen dan wat u pas gedoen het, maar met 'n swart draad in die GND en dit gaan in die negatiewe deel in. Gaan daarna na die ander kant van die broodbord en verbind die twee positiewe sye en die twee negatiewe sye met draad sodat die positiewe rooi en negatief swart is. Soos getoon in hierdie skematiese

Stap 2:

Beeld
Beeld

Neem die afstandsensor, RGB LED en die pi -kamera en plaas dit op die pi en broodbord. Koppel die pi -kamera aan die framboos -pi in die aangeduide posisie. Plaas dan die RGB LED in die broodbord en maak seker dat al die leidings volledig in die gaatjie kom waarin u dit sit. Lees meer oor watter RGB LED u het en let op watter kabel is wat. Soek dan 'n plek vir die afstandsensor op die broodbord waar niks in die pad is nie. Let op watter leiding tot waar gaan, soos u sal moet weet vir die volgende stap.

Stap 3:

Beeld
Beeld

Voltooi nou die bedrading van die kring en vind die regte weerstande vir die regte posisie. Om krag voor te stel, het ek rooi drade gebruik, vir grond het ek swart drade, en vir die GPIO -drade het ek die blou drade gebruik. En in hierdie stap plaas ons ook die weerstande op die regte plek deur die afstandsensor. Volg indien nodig die skema oor hoe om hierdie stroombaan te bedraad.

Stap 4:

Beeld
Beeld

Nou vir hierdie stap sal ons kodeer en hiervoor gebruik ons python 3. Wat moet gebeur, is dat as die afstand tussen u en die afstandsensor meer as 100 cm is, die kamera 'n foto sal neem. Maar net voor die foto sal dit rooi flits en na die foto sal dit 'n soliede blou kleur wees.

Python 3 -kode

invoer RPi. GPIO as GPIO vanaf picamera invoer PiCamera van tyd af slaap, tyd vanaf gpiozero invoer LED, knoppie

kamera = PiCamera ()

GPIO.setmode (GPIO. BCM)

GPIO_TRIGGER = 13GPIO_ECHO = 19 rooi = LED (16) groen = LED (20) blou = LED (21) weer = Waar

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

def RedLight (): red.blink () green.on () blue.on ()

def BlueLight (): red.on () green.on () blue.off ()

def GreenLight (): red.on () green.off () blue.on ()

def afstand (): GPIO.output (GPIO_TRIGGER, waar)

slaap (0.00001) GPIO.output (GPIO_TRIGGER, vals)

StartTime = time () StopTime = time ()

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

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

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

terugkeer afstand

probeer: terwyl weer: dist = afstand () as dist> 100: camera.start_preview () RedLight () RedLight () slaap (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () weer = Valse druk ("Gemete afstand = %.1f cm" % dist) slaap (1)

# Stel terug deur op CTRL + Cexcept KeyboardInterrupt te druk: druk ("Meting gestop deur gebruiker") GPIO.cleanup ()

Aanbeveel: