Mundarija:

Ultrasonik sensor ob'ektlarning pozitsion o'zgarishlarini yozib oladi: 3 qadam
Ultrasonik sensor ob'ektlarning pozitsion o'zgarishlarini yozib oladi: 3 qadam

Video: Ultrasonik sensor ob'ektlarning pozitsion o'zgarishlarini yozib oladi: 3 qadam

Video: Ultrasonik sensor ob'ektlarning pozitsion o'zgarishlarini yozib oladi: 3 qadam
Video: Display distance from Ultrasonic sensor as bargraph on LCD1602 LCD2004 using Arduino 2024, Noyabr
Anonim
Ob'ektlarning pozitsion o'zgarishlarini olish uchun ultratovushli sensor
Ob'ektlarning pozitsion o'zgarishlarini olish uchun ultratovushli sensor

Sizning qimmatbaho narsalaringizni xavfsiz saqlash juda muhim, agar siz kun bo'yi o'z qal'angizni qo'riqlayotgan bo'lsangiz, cho'loq bo'lardi. Raspberry pi kamerasidan foydalanib, siz rasmlarni kerakli vaqtda olishingiz mumkin. Ushbu qo'llanma, agar chegara hududida o'zgarishlar sezilsa, video yoki rasmga olishingizga yordam beradi.

Uskuna:

  1. Raspberry Pi 2/3/4
  2. Ultrasonik sensor
  3. Pi kamera
  4. Jumperlar

1 -qadam: ulanishlar

Ulanishlar
Ulanishlar
  • TRIGni RPI4B 17 ga o'tkazing
  • VCC dan RPI4B 5V gacha
  • GND dan RPI4B GND gacha
  • 470 ohmli rezistorga ulang-1 ulang
  • GND-ulanish uchun 1K ohmli rezistor-1
  • RPI4B 4 ga ulanish-1

O'chirish sxemasi circuito.io yordamida tuzilgan, u eng mashhur mikrokontrollerlar, sensorlar va boshqalarga ega va yangi boshlanuvchilar uchun platformadan foydalanish oson.

2 -qadam: Kodni yuklang

Kodni yuklang
Kodni yuklang
Kodni yuklang
Kodni yuklang

Skriptni ishga tushirishdan oldin, terminalni ochish buyruqlari orqali papka yarating va keyin skript faylini tahrir qiling.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano o'lchov.py

Kod kamera va GPIO kutubxonalaridan foydalanadi. GPIO_TRIGGER va GPIO_ECHO pinlari Raspberry Pi-ning 17 va 4-chi pinlariga tashqi tomondan to'g'ri ulanganligini tekshiring.

Quyidagi kodni nusxa ko'chiring va joylashtiring yoki python fayliga yozing va uni "o'lchov.py" deb nomlang.

#Kutubxonalar RPi. GPIO -ni GPIO sifatida import qilish vaqtini pikameradan import qilish PiCamera # Kamera rejimi kamerasi = PiCamera () camera.rotation = 180 # Agar tasvir mukammal burchakli bo'lsa, bu qatorga izoh bering # GPO rejimi GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #GPIO yo'nalishini o'rnatish (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def masofasi (): # Trigger -ni HIGH GPIO.output -ga (GPIO_TRIGGER, True) o'rnating Ish vaqti GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # kelish vaqtini tejash GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # boshlanish va kelish vaqti orasidagi # vaqt farqi = StopTime - StartTime # sonic tezligi (34300 sm / s) # bilan ko'paytiriladi va 2 ga bo'linadi, chunki u erda va orqadagi masofa = (TimeElapsed * 34300) / 2 qaytish masofasi, agar _name_ == '_main_' bo'lsa: camera.start_preview (alfa = 200) urinib ko'ring: while True: dist = masofa () chop etish ("O'lchangan masofa = %.1f sm" % dist) agar dist <= 20: # bu qiymatni sozlamangizga ko'ra o'zgartiring = vaqt.ctime (). almashtirish ("", "-") camera.capture ("media/image % s.jpg" % hozir) chop etish ("Rasm media/image- % s.jpg" da % hozir saqlangan) # kamera.start_recording ("media/video- % s.h264" % hozir) # Videoni olish uchun bunga izoh qoldirmang # chop eting ("Media media/image- % s.jpg" da saqlangan % hozir) # uyqu (5) # Bunga izoh qoldirmang 5 soniya vaqt davomida video yozib olish uchun. uxlash (3) camera.stop_preview () # camera.stop_recording () # video yozish uchun buni sharhlamang GPIO.cleanup ()

3 -qadam: Kodni ishga tushiring

Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring

Endi skriptni ishga tushiring

pi@raspberrypi: python tədbiri.py

Masofa har 3 soniyada o'lchanadi (siz skriptdagi qiymatni o'zgartirishingiz mumkin) va agar ob'ekt 20 santimetr ichida aniqlansa, pi kamerasi suratga oladi va media papkasida saqlaydi.

Shu bilan bir qatorda, sharh sifatida ko'rsatilgan skript satrlaridan (#) hashtaglarni izohsiz olib tashlash orqali video suratga olishingiz mumkin. Bundan tashqari, "time.sleep (5)" da qiymatni oshirish/kamaytirish orqali video uzunligini uzaytirish mumkin.

Baxtli aylanish!

Tavsiya: