อุปกรณ์ที่ต้องใช้
- สาย jump ผู้-เมีย 6 เส้น สีแดง สีเหลือง และ สีดำ
- บอร์ดทดลอง breadboard 1 อัน
- Raspberry Pi 3 (ตัวอื่นก็ได้)
- HCSR501
- ประกอบสาย jump ผู้-เมีย 6 เส้น ให้เรียบร้อย โดยต่อสาย jump แรกที่ raspberry pi 3 สีดำ pin 4 (5v), สีเหลือง pin 29 (GPIO 21) และ สีแดง pin 20 (Ground)
- ต่อสาย สีแดงกับ 5V , สีเหลืองกับสัญญาณ และ สีดำกับ Gnd
- เสียบกับบอร์ดทดลอง breadboard ตัวอย่างเช่น เสียบของ pi ที่ f ส่วนของ HCSR501 เว้นไว้หนึ่งช่อง คือ เสียบที่ h เรียงสีเส้นให้ตรงกัน
- เขียนโปรแกรม
ในการเขียนโปรแกรม Python โดยเชื่อมกับเซ็นเซอร์ทาง GPIO เราสามารถเขียนได้โดยอาศัยโมดูล RPi.GPIO โดยจะมาพร้อมกับ Raspbian desktop image (อ่านเอกสารได้ที่ https://sourceforge.net/projects/raspberry-gpio-python/)
ทำการเชื่อมต่อกับ Raspberry Pi 3 แล้วทำการสร้างไฟล์และโค้ดด้วย nano
nano hi.pyเสร็จแล้วทำการโค้ด
import time
import RPi.GPIO as GPIO
#GPIO.cleanup()
PIR_input = 29 #PIN ที่รับสัญญาณ คือ 29
GPIO.setwarnings(True)#False) # กำหนดให้โชว์การเตือน
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PIR_input, GPIO.IN)
try:
while True:
#when motion detected turn on LED
if(GPIO.input(PIR_input)==1): # ถ้าพบการเคลื่อนไหว
print("ok")
time.sleep(10)
else: # หากไม่พบ
print("off")
time.sleep(0.75)
except:
GPIO.cleanup()
หากต่อวงจรถูกต้อง โปรแกรมจะทำงานได้ เมื่อพบความเคลื่อนไหวจะขึ้น on หลังจากสิ่งที่เคลื่อนไหวผ่านไป รอสักหน่อย โปรแกรมจะกลับไปโชว์ off ไม่พบการเคลื่อนไหว
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)