Satura rādītājs:

Attāluma sensora kamera: 4 soļi
Attāluma sensora kamera: 4 soļi

Video: Attāluma sensora kamera: 4 soļi

Video: Attāluma sensora kamera: 4 soļi
Video: Give your camera an Alexa 65 sized sensor – Crazy experiment tutorial 12K footage – Epic Episode #4 2024, Jūlijs
Anonim
Attāluma sensora kamera
Attāluma sensora kamera

Šī pamācība parādīs, kā izveidot attāluma sensora kameru, izmantojot aveņu pi. Šajā projektā šī projekta kodēšanai tiks izmantots aveņu pi un python 3. Attāluma sensora kamera vispirms izmērīs 100 cm, pēc tam mirgos RGB gaismas diode un uzņems attēlu. Tad, lai parādītu, ka fotoattēls ir uzņemts, RGB gaismas diode būs vienmērīgi zilā krāsā. Pēc tam, lai piekļūtu fotoattēlam, dodieties uz aveņu pi galda virsmu, kurā fotoattēls tika uzņemts.

Jums būs nepieciešams:

  • 1x Raspberry Pi
  • 1x T-kurpnieks
  • 1x pilna izmēra maizes dēlis
  • 1x Pi kamera
  • 1x RGB LED (katods)
  • 1x attāluma sensors
  • 1x 330 Ω rezistors
  • 1x 560 Ω rezistors
  • Zili vadi
  • Melni vadi
  • Sarkanie vadi

1. darbība:

Attēls
Attēls

Iegūstiet detaļas un piestipriniet T-kurpīti pie Raspberry Pi un maizes dēļa. Tālāk iestatiet zemes un strāvas vadus. No 5,0 V nogrieziet un noņemiet pietiekami daudz sarkanās stieples, lai tā ietilptu caurumā blakus 5,0 V uz T-Cobbler, un vienā pusē ievietojiet tāfeles pozitīvo un negatīvo plankumu pozitīvo pusi. Tad dariet to, ko jūs tikko izdarījāt, bet ar melnu vadu GND, un tas nonāk negatīvajā daļā. Pēc tam pārejiet uz maizes dēļa otru pusi un savienojiet abas pozitīvās puses kopā un abas negatīvās puses kopā ar vadu, lai pozitīvais būtu sarkans, bet negatīvs - melns. Kā parādīts šajā shēmā

2. darbība:

Attēls
Attēls

Paņemiet attāluma sensoru, RGB LED un pi kameru un novietojiet tos uz pi un maizes dēļa. Pievienojiet pi kameru aveņu pi norādītajā pozīcijā. Pēc tam ievietojiet RGB gaismas diodi maizes plāksnē un pārliecinieties, vai visi vadi nonāk caurumā, kurā ievietojāt to. Izlasiet, kāda RGB gaismas diode jums ir, un ievērojiet, kurš vads ir kas. Tad atrodiet attāluma sensoram vietu uz maizes dēļa, kur nekas netraucē. Ievērojiet, kurš potenciālais pirkums iet, kā jums būs jāzina, lai veiktu nākamo darbību.

3. darbība:

Attēls
Attēls

Tagad pabeidziet ķēdes vadu un atrodiet pareizos rezistorus pareizajai pozīcijai. Tātad, lai attēlotu jaudu, esmu izmantojis sarkanus vadus, zemei es izmantoju melnus vadus, bet GPIO vadiem esmu izmantojis zilos vadus. Un šajā solī mēs arī novietojam rezistorus pareizajā vietā ar attāluma sensoru. Ja nepieciešams, ievērojiet shēmu, kā savienot šo ķēdi.

4. solis:

Attēls
Attēls

Šim solim mēs kodēsim, un šim nolūkam mēs izmantosim python 3. tam, kam jānotiek, ir tas, ka, ja attālums starp u un attāluma sensoru ir lielāks par 100 cm, kamera uzņems fotoattēlu. Bet tieši pirms fotoattēla tas mirgos sarkanā krāsā un pēc fotoattēla būs vienkrāsaini zilā krāsā.

Python 3 kods

importēt RPi. GPIO kā GPIO no picamera importēt PiCamera no laika importēšanas miega, laika no gpiozero importēšanas LED, poga

kamera = PiCamera ()

GPIO.setmode (GPIO. BCM)

GPIO_TRIGGER = 13GPIO_ECHO = 19 sarkans = LED (16) zaļš = LED (20) zils = LED (21) atkal = True

GPIO.setwarnings (False) 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 distance (): GPIO.output (GPIO_TRIGGER, True)

miega režīms (0,00001) GPIO izeja (GPIO_TRIGGER, nepatiesa)

StartTime = laiks () StopTime = laiks ()

kamēr GPIO.input (GPIO_ECHO) == 0: StartTime = time ()

kamēr GPIO.input (GPIO_ECHO) == 1: StopTime = time ()

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

atgriešanās attālums

mēģiniet: vēlreiz: dist = distance () if dist> 100: camera.start_preview () RedLight () RedLight () miega (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () atkal = viltus druka ("Izmērītais attālums = %.1f cm" % dist) miegs (1)

# Atiestatīt, nospiežot CTRL + Izņemot tastatūruInterrupt: drukāt ("Lietotājs pārtrauca mērīšanu") GPIO.cleanup ()

Ieteicams: