Mundarija:

Masofa sensori kamerasi: 4 qadam
Masofa sensori kamerasi: 4 qadam

Video: Masofa sensori kamerasi: 4 qadam

Video: Masofa sensori kamerasi: 4 qadam
Video: 5 МЕСЯЦЕВ БЕЗ ПОДЗАРЯДКИ, БЕСПЛАТНОЕ ОБЛАКО, беспроводная камера Uniwatch 2024, Iyul
Anonim
Masofa sensori kamerasi
Masofa sensori kamerasi

Bu ko'rsatma sizga malina pi yordamida masofa sensori kamerasini qanday qilishni ko'rsatib beradi. Ushbu loyihada malina pi ishlatiladi va ushbu loyihada kodlash uchun python 3 ishlatiladi. Masofa sensori kamerasi birinchi bo'lib 100 sm o'lchanadi, keyin RGB LED yonadi va rasmga tushadi. Keyin fotosurat olinganligini ko'rsatish uchun RGB LED bir tekis ko'k rangda bo'ladi. Keyin rasmga kirish uchun siz suratga olingan malina pi stolining tepasiga borasiz.

Sizga kerak bo'ladi:

  • 1x Raspberry Pi
  • 1x T-Cobbler
  • 1x to'liq o'lchamli non paneli
  • 1x Pi kamera
  • 1x RGB LED (katod)
  • 1x masofa sensori
  • 1x330 Ω qarshilik
  • 1x560 Ω qarshilik
  • Moviy simlar
  • Qora simlar
  • Qizil simlar

1 -qadam:

Rasm
Rasm

Qismlarni sotib oling va T-Cobblerni Raspberry Pi va non taxtasiga ulang. Keyin er va elektr simlarini o'rnating. 5,0 v dan qizil simni etarlicha kesib oling va T-Cobbler-ning 5,0 v yonidagi teshikka joylashtiring va bortdagi ijobiy va salbiy nuqtalarning ijobiy tomoniga qo'ying. Keyin qilgan ishingizni qiling, lekin qora sim bilan GNDga kiring va bu salbiy qismga kiradi. Shundan so'ng, non taxtasining boshqa tomoniga o'ting va ikkita ijobiy tomonni bir -biriga bog'lab qo'ying, shunda musbat qizil va salbiy qora bo'ladi. Ushbu sxemada ko'rsatilganidek

2 -qadam:

Rasm
Rasm

Masofa sensori, RGB LED va pi kamerasini oling va ularni pi va non paneliga qo'ying. Pi kamerasini malina pi ga ko'rsatilgan holatda ulang. Keyin RGB LED -ni taxtaga joylashtiring va barcha o'tkazgichlar siz kiritgan teshikka tushishiga ishonch hosil qiling. RGB LED -ni o'qing va qaysi qo'rg'oshin nima ekanligini bilib oling. Keyin non panelida hech narsa to'sqinlik qilmaydigan masofa sensori uchun joy toping. Qaysi qo'rg'oshin qayerga ketayotganiga e'tibor bering, chunki siz keyingi qadam uchun bilishingiz kerak bo'ladi.

3 -qadam:

Rasm
Rasm

Endi kontaktlarning zanglashiga olib borishni tugating va to'g'ri pozitsiyaga mos rezistorlarni toping. Quvvatni ifodalash uchun men qizil simlardan, er uchun esa qora simlardan va GPIO simlari uchun ko'k simlardan foydalanardim. Va bu bosqichda biz rezistorlarni masofa sensori yordamida to'g'ri joyga qo'yamiz. Agar kerak bo'lsa, kontaktlarning zanglashiga olib keladigan sxemaga amal qiling.

4 -qadam:

Rasm
Rasm

Endi bu qadam uchun biz kodlash qilamiz va buning uchun biz python 3 dan foydalanamiz. Nima qilish kerak, agar u va masofa sensori orasidagi masofa 100 sm dan oshsa, kamera suratga oladi. Ammo fotosuratdan oldin u qizil rangda yonadi va fotosuratdan keyin u ko'k rangga aylanadi.

Python 3 uchun kod

RPi. GPIO -ni GPIO sifatida import qilish Picamera -dan PiCamera -ni import uyqusidan, gpiozerodan import qilish vaqtidan LED, tugma

kamera = PiCamera ()

GPIO.setmode (GPIO. BCM)

GPIO_TRIGGER = 13GPIO_ECHO = 19 qizil = LED (16) yashil = LED (20) ko'k = LED (21) yana = To'g'ri

GPIO.setwarnings (noto'g'ri) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

def RedLight (): red.blink () yashil.on () ko'k.on ()

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

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

def masofasi (): GPIO.output (GPIO_TRIGGER, To'g'ri)

uyqu (0.00001) GPIO.output (GPIO_TRIGGER, noto'g'ri)

StartTime = time () StopTime = time ()

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

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

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

qaytish masofasi

harakat qilib ko'ring: yana: dist = masofa () agar dist> 100 bo'lsa: camera.start_preview () RedLight () RedLight () uyqu (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () yana = Noto'g'ri chop etish ("O'lchangan masofa = %.1f sm" % dist) uyqu (1)

# CTRL + Cexcept KeyboardInterrupt tugmalarini bosish orqali asl holatini tiklash: chop etish ("O'lchov foydalanuvchi tomonidan to'xtatilgan") GPIO.cleanup ()

Tavsiya: