Мазмұны:

Ультрадыбыстық сенсор объектілердің позициялық өзгерістерін түсіреді: 3 қадам
Ультрадыбыстық сенсор объектілердің позициялық өзгерістерін түсіреді: 3 қадам

Бейне: Ультрадыбыстық сенсор объектілердің позициялық өзгерістерін түсіреді: 3 қадам

Бейне: Ультрадыбыстық сенсор объектілердің позициялық өзгерістерін түсіреді: 3 қадам
Бейне: Ступни украли ► 1 Прохождение Signalis 2024, Шілде
Anonim
Ультрадыбыстық сенсор объектілердің позициялық өзгерістерін түсіреді
Ультрадыбыстық сенсор объектілердің позициялық өзгерістерін түсіреді

Құнды заттарыңыздың қауіпсіздігі маңызды, егер сіз күні бойы сарайыңызды күзете берсеңіз, ақымақ болар едіңіз. Raspberry pi камерасын қолдана отырып, суреттерді дәл уақытта алуға болады. Бұл нұсқаулық өзгерістерді шекаралық аймақта сезген кезде бейне түсіруге немесе суретке түсіруге көмектеседі.

Жабдық:

  1. Raspberry Pi 2/3/4
  2. Ультрадыбыстық сенсор
  3. Pi камерасы
  4. Секіргіштер

1 -қадам: Қосылымдар

Қосылымдар
Қосылымдар
  • TRP RPI4B 17
  • VCC - RPI4B 5V
  • GND - RPI4B GND
  • 470 Ом резисторына жаңғырық-1 қосылымына
  • GND қосылымға 1К Ом резистордан 1
  • қосылу-1 RPI4B 4

Схема схемасы circuito.io көмегімен жасалған, онда ең танымал микроконтроллерлер, сенсорлар және т.б бар, ал платформаны жаңадан бастағандар қолдануға оңай.

2 -қадам: кодты жүктеңіз

Кодты жүктеңіз
Кодты жүктеңіз
Кодты жүктеңіз
Кодты жүктеңіз

Сценарийді іске қоспас бұрын, терминалды ашатын келесі командалар арқылы қалта жасаңыз, содан кейін сценарий файлын өңдеңіз.

pi@raaspberrypi: mkdir медиа

pi@raaspberrypi: nano tədbir.py

Код камера мен GPIO кітапханаларын қолданады. GPIO_TRIGGER & GPIO_ECHO түйреуіштері Raspberry Pi-дің 17-ші және 4-ші түйреуіштеріне сыртқы жағынан дұрыс жалғанғанын тексеріңіз.

Төмендегі кодты көшіріп, қойыңыз немесе python файлына теріңіз және оны 'шара.py' деп атаңыз.

# Кітапханалар RPi. GPIO импорттауды GPIO ретінде импорттауды пикамерадан импорттау PiCamera # Камера режимі камерасы = PiCamera () camera.rotation = 180 # Егер сурет өте жақсы бұрышта болса, осы жолға түсініктеме беріңіз #GPIO Mode GPIO.setmode (GPIO. BCM) GPIO.sertwarnings (False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #GPIO бағытын орнату (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) ажырату қашықтығы (): # Trigger параметрін HIGH GPIO.output (GPIO_TRIGGER, True) күйіне орнатыңыз GPIO.input (GPIO_ECHO) == 0 кезінде StartTime: StartTime = time.time () # келу уақытын үнемдеу GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # басталу мен келу арасындағы # уақыт айырмашылығы = StopTime - StartTime # дыбыстық жылдамдықпен (34300 см / с) # көбейіп, 2 -ге бөліңіз, себебі ол жерде және артқа қашықтығы = (Уақыт аяқталды * 34300) / 2 қайтару қашықтығы _name_ == '_main_' болса: camera.start_preview (alpha = 200) try: while True: dist = қашықтық () басып шығару («Өлшенген қашықтық = %.1f см» % дист) егер dist <= 20: # қазір бұл параметрді сіздің параметріңізге сәйкес өзгертіңіз = уақыт.ctime (). алмастыру («», «-») camera.capture («медиа/сурет % s.jpg» % қазір) басып шығару («Кескін медиа/сурет- % s.jpg» % қазір сақталды) # камера.start_recording («media/video- % s.h264» % қазір) # Бейне түсіру үшін бұған пікір қалдырмаңыз # басып шығару («Бейне медиада/сурет- % s.jpg» % қазір сақталды) # ұйқы (5) # Бұған пікір қалдырмаңыз 5 секунд уақыт бойы видео түсіру үшін.ұйықтау (3) камера.тұруды_қарау () # камера.тұруды_жазу () # Бейне түсіру үшін бұған түсініктеме бермеу # Пернетақта үзілісінен басқа CTRL + C пернелерін басу арқылы қалпына келтіру GPIO.cleanup ()

3 -қадам: кодты іске қосыңыз

Кодты іске қосыңыз
Кодты іске қосыңыз
Кодты іске қосыңыз
Кодты іске қосыңыз
Кодты іске қосыңыз
Кодты іске қосыңыз
Кодты іске қосыңыз
Кодты іске қосыңыз

Енді сценарийді келесідей іске қосыңыз

pi@raspberrypi: python tədbirі.py

Қашықтық әр 3 секунд сайын өлшенеді (сценарийдегі мәнді өзгертуге болады) және егер экран 20 сантиметрде объект анықталса, pi камерасы суретке түсіріп, мультимедиалық қалтаға сақтайды.

Сонымен қатар, сіз түсініктеме ретінде көрсетілген сценарий жолдарынан хэштегтерді (#) алып тастау арқылы түсіре аласыз. Сондай -ақ, «time.sleep (5)» мәнін жай ғана көбейту/азайту арқылы бейне ұзақтығын ұзартуға болады.

Бақытты айналу!

Ұсынылған: