Sadržaj:

Kamera senzora udaljenosti: 4 koraka
Kamera senzora udaljenosti: 4 koraka

Video: Kamera senzora udaljenosti: 4 koraka

Video: Kamera senzora udaljenosti: 4 koraka
Video: 📶 Монитор - Видеорегистратор + 4 камеры Wi-Fi - Обзор комплекта видео наблюдения ANRAN 2024, Novembar
Anonim
Kamera senzora udaljenosti
Kamera senzora udaljenosti

Ova instrukcija će vam pokazati kako napraviti kameru senzora udaljenosti pomoću maline pi. Ovaj projekt će koristiti maline pi i koristiti python 3 za kodiranje u ovom projektu Kamera senzora udaljenosti prvo će izmjeriti 100 cm, a zatim će treptati RGB LED i snimit će sliku. Zatim, kako bi se pokazalo da je fotografija snimljena, tada će RGB LED biti jednobojne plave boje. Zatim za pristup fotografiji idite do radne površine maline pi na kojoj je fotografija snimljena.

Trebat će vam:

  • 1x Raspberry Pi
  • 1x T-Cobbler
  • 1x Puna veličina pločice
  • 1x Pi kamera
  • 1x RGB LED (katoda)
  • 1x senzor udaljenosti
  • 1x 330 Ω otpornik
  • 1x 560 Ω otpornik
  • Plave žice
  • Crne žice
  • Crvene žice

Korak 1:

Image
Image

Nabavite dijelove i pričvrstite T-Cobbler na Raspberry Pi i matičnu ploču. Zatim postavite uzemljenje i žice za napajanje. Od 5,0 v izrežite i skinite dovoljno crvene žice da stane u rupu pored 5,0 v na T-Cobbleru i s jedne strane stavite na pozitivnu stranu pozitivnih i negativnih mjesta na ploči. Zatim učinite ono što ste upravo učinili, ali s crnom žicom u GND i to ide u negativni dio. Nakon toga idite na drugu stranu ploče i spojite dvije pozitivne strane zajedno i dvije negativne strane zajedno žicom, tako da je pozitivna crvena, a negativna crna. Kao što je prikazano na ovoj shemi

Korak 2:

Image
Image

Uzmite senzor udaljenosti, RGB LED i pi kameru i postavite ih na pi i matičnu ploču. Priključite pi kameru na malinu pi na označenom položaju. Zatim postavite RGB LED u ploču i provjerite da li svi vodiči ulaze u rupu u koju ste je stavili. Pročitajte koju RGB LED diodu imate i primijetite koji provod je šta. Zatim pronađite mjesto za senzor udaljenosti na ploči gdje vam ništa ne smeta. Uočite koji trag vodi kamo, što ćete morati znati za sljedeći korak.

Korak 3:

Image
Image

Sada dovršite ožičenje kruga i pronađite prave otpornike za odgovarajući položaj. Tako sam za predstavljanje snage koristio crvene žice, za uzemljenje crne žice, a za žice GPIO plave. U ovom koraku također ćemo postaviti otpornike na pravo mjesto pomoću senzora udaljenosti. Ako je potrebno, slijedite shemu kako spojiti ovo kolo.

Korak 4:

Image
Image

Sada ćemo za ovaj korak kodirati, a za ovo ćemo koristiti python 3. ono što se mora dogoditi je da ako je udaljenost između u i senzora udaljenosti veća od 100 cm, kamera će snimiti fotografiju. Ali neposredno prije fotografije treptat će crveno, a nakon fotografije bit će jednobojna plava boja.

Python 3 kod

uvoz RPi. GPIO kao GPIOiz pikamere uvoz PiCamere iz vremena uvoza u stanje mirovanja, vreme iz gpiozero import LED, dugme

kamera = PiCamera ()

Način rada GPIO.set (GPIO. BCM)

GPIO_TRIGGER = 13GPIO_ECHO = 19 crveno = LED (16) zeleno = LED (20) plavo = LED (21) ponovo = Tačno

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)

spavanje (0,00001) GPIO.izlaz (GPIO_TRIGGER, Netačno)

StartTime = time () StopTime = time ()

dok je GPIO.input (GPIO_ECHO) == 0: StartTime = time ()

dok je GPIO.input (GPIO_ECHO) == 1: StopTime = time ()

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

povratna udaljenost

pokušajte: još jednom: dist = distance () if dist> 100: camera.start_preview () RedLight () RedLight () sleep (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () ponovo = Netačan ispis ("Izmjerena udaljenost = %.1f cm" % dist) spavanje (1)

# Poništite pritiskom na CTRL + Cexcept KeyboardInterrupt: print ("Mjerenje je zaustavio korisnik") GPIO.cleanup ()

Preporučuje se: