Мазмуну:

УЗИ сенсору объекттердин позициялык өзгөрүүлөрүн тартуу үчүн: 3 кадам
УЗИ сенсору объекттердин позициялык өзгөрүүлөрүн тартуу үчүн: 3 кадам

Video: УЗИ сенсору объекттердин позициялык өзгөрүүлөрүн тартуу үчүн: 3 кадам

Video: УЗИ сенсору объекттердин позициялык өзгөрүүлөрүн тартуу үчүн: 3 кадам
Video: Lesson 28: Car-6 SunFounder self Driving Arduino car using | Robojax 2024, Июль
Anonim
УЗИ сенсору объекттердин позициялык өзгөрүүлөрүн тартуу үчүн
УЗИ сенсору объекттердин позициялык өзгөрүүлөрүн тартуу үчүн

Баалуу нерселериңиздин коопсуздугу маанилүү, эгер сиз күнү бою сепилиңизди кайтара берсеңиз, аксап калмаксыз. Малина пи камерасын колдонуп, сиз керектүү учурда сүрөткө тартсаңыз болот. Бул колдонмо өзгөрүүлөрдү чек ара аймагында сезгенде видео тартууга же сүрөткө тартууга жардам берет.

Аппараттык:

  1. Raspberry Pi 2/3/4
  2. УЗИ сенсор
  3. Pi камерасы
  4. Секирүүчүлөр

1 -кадам: Байланыштар

Байланыштар
Байланыштар
  • TRIG RPI4B 17
  • VCC - RPI4B 5V
  • GND - RPI4B GND
  • 470 Омдук резисторго жаңырык туташуу-1
  • GND 1K ohm резисторуна туташуу-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 файлына териңиз жана "tədbir.py" деп атаңыз

#Librariesimport RPi. GPIO катары GPIO импорт убактысын импорттоо пикамерадан PiCamera импорттоо # Камера Режим камера = PiCamera () camera.rotation = 180 # Сүрөт эң сонун бурч болсо, бул сапка комментарий бериңиз #GPIO Mode GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO багыты (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def расстояние (): # Триггерди ЖОГОРУ GPIO.outputка (GPIO_TRIGGER, True) # Триггерди 0.01msден кийин LOW убакытка коюңуз StartTime while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # келүү убактысын үнөмдөө GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # башталыш менен келүүнүн ортосундагы # убакыт айырмасы TimeElapsed = StopTime - StartTime # sonic ылдамдыгы менен көбөйөт (34300 см / с) # жана 2ге бөлүнөт, анткени ал жерде жана артка аралык = (TimeElapsed * 34300) / 2 кайтуу аралыгы _name_ == '_main_' болсо: camera.start_preview (alpha = 200) аракет кылыңыз: while True: dist = расстояние () басып чыгаруу ("Ченелген Аралык = %.1f см" % дист) эгер dist <= 20: # азыр бул жөндөөнү ылайык өзгөртүү керек = убакыт.ctime (). алмаштыруу ("", "-") camera.capture ("медиа/сүрөт % s.jpg" % азыр) басып чыгаруу ("Сүрөт медиада сакталган/image- % s.jpg" % азыр) # камера.start_recording ("медиа/видео- % s.h264" % азыр) # Видеого тартуу үчүн муну комментарийлебеңиз # басып чыгаруу ("Видео медиада сакталган/сүрөт- % s.jpg" % азыр) # уйку (5) # Буга жорум калтырбоо 5 секундага видео тартуу үчүн. уктоо (3) camera.stop_preview () # camera.stop_recording () # комментарий жазбоо GPIO.cleanup ()

3 -кадам: Кодду иштетүү

Кодду иштетүү
Кодду иштетүү
Кодду иштетүү
Кодду иштетүү
Кодду иштетүү
Кодду иштетүү
Кодду иштетүү
Кодду иштетүү

Эми скриптти төмөнкүдөй иштетиңиз

pi@raspberrypi: python tədbir.py

Аралык 3 секунд сайын өлчөнөт (скрипттеги маанини өзгөртө аласыз) жана 20 сантиметр ичинде объект аныкталса, экранга басып чыгарылат, pi камерасы сүрөткө тартып, медиа папкасына сактайт.

Же болбосо, комментарийсиз видео тартууга болот же комментарий катары айтылган сценарийлердеги хэштегдерди (#) алып салсаңыз болот. Ошондой эле, "time.sleep (5)" маанисин жөн эле көбөйтүү/азайтуу аркылуу видеонун узундугун узартууга болот.

Happy Circuiting!

Сунушталууда: