สารบัญ:

Ultrasonic Sensor จับการเปลี่ยนแปลงตำแหน่งของวัตถุ: 3 ขั้นตอน
Ultrasonic Sensor จับการเปลี่ยนแปลงตำแหน่งของวัตถุ: 3 ขั้นตอน

วีดีโอ: Ultrasonic Sensor จับการเปลี่ยนแปลงตำแหน่งของวัตถุ: 3 ขั้นตอน

วีดีโอ: Ultrasonic Sensor จับการเปลี่ยนแปลงตำแหน่งของวัตถุ: 3 ขั้นตอน
วีดีโอ: #39 สอน Arduino Tutorial : Arduino วัดระยะทางด้วย Ultrasonic 2024, กรกฎาคม
Anonim
Ultrasonic Sensor จับการเปลี่ยนแปลงตำแหน่งของวัตถุ
Ultrasonic Sensor จับการเปลี่ยนแปลงตำแหน่งของวัตถุ

สิ่งสำคัญคือต้องเก็บของมีค่าของคุณให้ปลอดภัย คงจะเป็นเรื่องง่อยถ้าคุณคอยปกป้องปราสาทของคุณตลอดทั้งวัน การใช้กล้องราสเบอร์รี่ pi คุณสามารถถ่ายภาพในเวลาที่เหมาะสม คู่มือนี้จะช่วยคุณถ่ายวิดีโอหรือถ่ายภาพเมื่อรู้สึกถึงการเปลี่ยนแปลงภายในเขตแดน

ฮาร์ดแวร์:

  1. ราสเบอร์รี่ Pi 2/3/4
  2. เซ็นเซอร์อัลตราโซนิก
  3. กล้อง Pi
  4. จัมเปอร์

ขั้นตอนที่ 1: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
  • TRIG เป็น RPI4B 17
  • VCC เป็น RPI4B 5V
  • GND เป็น RPI4B GND
  • ตัวต้านทานสะท้อนถึง 470 โอห์มต่อการเชื่อมต่อ-1
  • ตัวต้านทาน GND ถึง 1K โอห์มต่อการเชื่อมต่อ-1
  • การเชื่อมต่อ-1 ถึง RPI4B 4

แผนผังวงจรสร้างขึ้นโดยใช้ circuito.io ซึ่งมีไมโครคอนโทรลเลอร์ เซ็นเซอร์ และอื่นๆ ที่เป็นที่นิยมมากที่สุด และแพลตฟอร์มนี้ใช้งานง่ายสำหรับผู้เริ่มต้น

ขั้นตอนที่ 2: อัปโหลดรหัส

อัพโหลดโค้ด
อัพโหลดโค้ด
อัพโหลดโค้ด
อัพโหลดโค้ด

ก่อนที่คุณจะเรียกใช้สคริปต์ ให้สร้างโฟลเดอร์โดยใช้คำสั่งต่อไปนี้ในการเปิดเทอร์มินัลแล้วแก้ไขไฟล์สคริปต์

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano Measuring.py

รหัสนี้ใช้กล้องและไลบรารี GPIO ตรวจสอบว่าพิน GPIO_TRIGGER & GPIO_ECHO เชื่อมต่ออย่างถูกต้องกับพินที่ 17 และ 4 ของ Raspberry Pi จากภายนอก

คัดลอกและวางโค้ดด้านล่างหรือพิมพ์ลงในไฟล์ python แล้วตั้งชื่อเป็น 'measure.py'

#Librariesimport RPi. GPIO เป็น GPIO นำเข้าเวลานำเข้า os จาก picamera นำเข้า PiCamera # Camera Mode camera = PiCamera() camera.rotation = 180 # แสดงความคิดเห็นบรรทัดนี้หากภาพอยู่ในมุมที่สมบูรณ์แบบ #GPIO Mode GPIO.setmode(GPIO. BCM) GPIO.setwarnings(False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO direction (IN / OUT) GPIO.setup(GPIO_TRIGGER, GPIO. OUT) GPIO.setup(GPIO_ECHO, GPIO. IN) def distance(): # ตั้งค่าทริกเกอร์เป็น HIGH GPIO.output (GPIO_TRIGGER, True) # ตั้งค่าทริกเกอร์หลังจาก 0.01ms เป็น LOW time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # บันทึก เวลาเริ่มต้นในขณะที่ GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # ประหยัดเวลาในการมาถึงในขณะที่ GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # ความแตกต่างของเวลาระหว่างการเริ่มต้นและการมาถึง TimeElapsed = StopTime - StartTime # คูณด้วยความเร็วโซนิค (34300 cm/s) # แล้วหารด้วย 2 เพราะมีระยะทางย้อนกลับ = (TimeElapsed * 34300) / 2 ระยะทางกลับถ้า _name_ == '_main_': camera.start_preview(alpha=200) ลอง: while True: dist = distance() print ("Measured Distance = %.1f cm" % dist) if dist<= 20: # เปลี่ยนค่านี้ตามการตั้งค่าของคุณตอนนี้ = เวลา.ctime().replace(" ", "-") camera.capture("media/image%s.jpg" % now) print("รูปที่บันทึกไว้ในสื่อ/image-%s.jpg" % ตอนนี้) # กล้อง.start_recording("media/video-%s.h264" % now) # Uncomment this to take a video # print("Video added at media/image-%s.jpg" % now) # sleep(5) # Uncomment this เพื่อถ่ายวิดีโอเป็นเวลา 5 วินาที time.sleep(3) camera.stop_preview() # camera.stop_recording() # Uncomment this to take a video # Reset โดยกด CTRL + C ยกเว้น KeyboardInterrupt: print("Measurement Stop by User") GPIO. การล้างข้อมูล ()

ขั้นตอนที่ 3: เรียกใช้รหัส

เรียกใช้รหัส
เรียกใช้รหัส
เรียกใช้รหัส
เรียกใช้รหัส
เรียกใช้รหัส
เรียกใช้รหัส
เรียกใช้รหัส
เรียกใช้รหัส

ตอนนี้เรียกใช้สคริปต์เป็น

pi@raspberrypi: หลาม Measure.py

ระยะทางจะถูกวัดทุกๆ 3 วินาที (คุณสามารถเปลี่ยนค่าในสคริปต์ได้) และพิมพ์ลงบนหน้าจอหากมีการระบุวัตถุภายใน 20 เซนติเมตร กล้อง pi จะถ่ายภาพและบันทึกลงในโฟลเดอร์สื่อ

อีกวิธีหนึ่ง คุณสามารถถ่ายวิดีโอโดยไม่แสดงความเห็นหรือลบแฮชแท็ก (#) ออกจากบรรทัดสคริปต์ที่กล่าวถึงเป็นความคิดเห็น คุณยังสามารถขยายความยาววิดีโอได้โดยการเพิ่ม/ลดค่าใน “time.sleep(5)”

วงจรแห่งความสุข!

แนะนำ: