ในโครงการนี้เราจะไปติดต่อโมดูล HC-SR04 Ultrasonic sensor ในการ Raspberry Pi วัดระยะทาง ก่อนหน้านี้เราเคยใช้เซ็นเซอร์อัลตราโซนิกกับ Raspberry Pi เพื่อสร้างหุ่นยนต์หลีกเลี่ยงอุปสรรค ก่อนที่จะดำเนินการใด ๆ เพิ่มเติมโปรดทราบเกี่ยวกับเซ็นเซอร์อัลตราโซนิก
HC-SR04 อัลตราโซนิกเซนเซอร์:
Ultrasonic Sensor ใช้ในการวัดระยะทางด้วยความแม่นยำสูงและการอ่านค่าที่เสถียร สามารถวัดระยะทางได้ตั้งแต่ 2 ซม. ถึง 400 ซม. หรือตั้งแต่ 1 นิ้วถึง 13 ฟุต มันจะปล่อยคลื่นอัลตร้าซาวด์ที่ความถี่ 40KHz ในอากาศและถ้าวัตถุเข้ามาขวางมันก็จะเด้งกลับไปที่เซ็นเซอร์ เมื่อใช้เวลาดังกล่าวในการชนวัตถุและกลับมาคุณสามารถคำนวณระยะทางได้
เซ็นเซอร์อัลตราโซนิกใช้เทคนิคที่เรียกว่า“ ECHO” “ ECHO” เป็นเพียงคลื่นเสียงที่สะท้อน คุณจะมี ECHO เมื่อเสียงสะท้อนกลับหลังจากถึงทางตัน
โมดูล HCSR04 สร้างการสั่นสะเทือนของเสียงในช่วงอัลตราโซนิกเมื่อเราทำให้พิน 'Trigger' สูงประมาณ 10us ซึ่งจะส่งการระเบิดของเสียง 8 รอบด้วยความเร็วของเสียงและหลังจากกระทบกับวัตถุแล้วขา Echo จะได้รับ ขึ้นอยู่กับเวลาที่การสั่นสะเทือนของเสียงในการย้อนกลับมันให้เอาต์พุตพัลส์ที่เหมาะสม หากวัตถุอยู่ไกลจะต้องใช้เวลามากขึ้นในการได้ยิน ECHO และความกว้างของพัลส์เอาต์พุตจะใหญ่ และถ้าสิ่งกีดขวางอยู่ใกล้ ECHO จะได้ยินเร็วขึ้นและความกว้างพัลส์เอาต์พุตจะเล็กลง
เราสามารถคำนวณระยะห่างของวัตถุโดยอาศัยเวลาที่คลื่นอัลตราโซนิกถ่ายกลับไปที่เซ็นเซอร์ เนื่องจากทราบเวลาและความเร็วของเสียงเราจึงสามารถคำนวณระยะทางได้ตามสูตรต่อไปนี้
- ระยะทาง = (เวลา x ความเร็วของเสียงในอากาศ (343 ม. / วินาที)) / 2.
ค่าจะถูกหารด้วยสองเนื่องจากคลื่นเคลื่อนที่ไปข้างหน้าและข้างหลังโดยครอบคลุมระยะทางเท่ากันดังนั้นเวลาในการเข้าถึงสิ่งกีดขวางจึงเป็นเพียงครึ่งหนึ่งของเวลาทั้งหมดที่ใช้
ดังนั้นระยะทางเป็นเซนติเมตร = 17150 * T
ก่อนหน้านี้เราได้ทำโครงการที่มีประโยชน์มากมายโดยใช้เซ็นเซอร์อัลตราโซนิกและ Arduino ตรวจสอบด้านล่าง:
- การวัดระยะทางโดยใช้ Arduino โดยใช้เซ็นเซอร์อัลตราโซนิก
- สัญญาณเตือนประตูโดยใช้ Arduino และ Ultrasonic Sensor
- การตรวจสอบถังขยะโดยใช้ IOT โดยใช้ Arduino
ส่วนประกอบที่ต้องการ:
ที่นี่เราจะใช้ ราสเบอร์รี่ Pi 2 รุ่น B กับ Raspbian Jessie OS ข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์พื้นฐานทั้งหมดได้กล่าวไว้ก่อนหน้านี้คุณสามารถค้นหาได้ในบทนำ Raspberry Pi และ Raspberry PI LED กะพริบเพื่อเริ่มต้นใช้งานนอกเหนือจากที่เราต้องการ:
- Raspberry Pi พร้อมระบบปฏิบัติการที่ติดตั้งไว้ล่วงหน้า
- เซ็นเซอร์อัลตราโซนิก HC-SR04
- แหล่งจ่ายไฟ (5v)
- ตัวต้านทาน1KΩ (3 ชิ้น)
- ตัวเก็บประจุ 1000uF
- 16 * 2 ตัวอักษร LCD
คำอธิบายวงจร:
การเชื่อมต่อระหว่าง Raspberry Pi และ LCD แสดงไว้ในตารางด้านล่าง:
การเชื่อมต่อ LCD |
การเชื่อมต่อ Raspberry Pi |
GND |
GND |
VCC |
+ 5V |
วี |
GND |
อาร์เอส |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO 19 |
ในวงจรนี้เราใช้การสื่อสาร 8 บิต (D0-D7) เพื่อเชื่อมต่อ LCD กับ Raspberry Pi อย่างไรก็ตามนี่ไม่ใช่ภาคบังคับเรายังสามารถใช้การสื่อสาร 4 บิต (D4-D7) ได้ แต่ด้วยโปรแกรมการสื่อสาร 4 บิตจะกลายเป็นบิต ซับซ้อนสำหรับผู้เริ่มต้นดังนั้นเพียงแค่ใช้การสื่อสาร 8 บิต ที่นี่เราได้เชื่อมต่อ 10 พินของ LCD กับ Raspberry Pi ซึ่ง 8 พินเป็นพินข้อมูลและ 2 พินเป็นพินควบคุม
ด้านล่างนี้คือวงจรสำหรับการเชื่อมต่อเซ็นเซอร์ HC-SR04 และจอแอลซีดีที่มีราสเบอร์รี่ Pi สำหรับการวัดระยะทาง
ดังแสดงในรูปที่HC-SR04 อัลตราโซนิคเซนเซอร์มีสี่ขา,
- PIN1- VCC หรือ + 5V
- PIN2- ทริกเกอร์ (10us พัลส์สูงให้เพื่อบอกให้เซ็นเซอร์ตรวจจับระยะทาง)
- PIN3- ECHO (ให้เอาต์พุตพัลส์ที่มีความกว้างแทนระยะทางหลังจากทริกเกอร์)
- PIN4- พื้นดิน
Echo pin ให้เอาต์พุตพัลส์ + 5V ซึ่งไม่สามารถเชื่อมต่อกับ Raspberry Pi ได้โดยตรง ดังนั้นเราจะใช้ Voltage Divider Circuit (สร้างโดยใช้ R1 และ R2) เพื่อรับตรรกะ + 3.3V แทนตรรกะ + 5V
คำอธิบายการทำงาน:
การทำงานที่สมบูรณ์ของRaspberry Pi Distance Measureจะเป็นเช่นนั้น
1. เรียกเซ็นเซอร์โดยดึงขาไกขึ้นเป็นเวลา 10uS
2. คลื่นเสียงถูกส่งโดยเซ็นเซอร์ หลังจากได้รับ ECHO โมดูลเซ็นเซอร์จะจัดเตรียมเอาต์พุตตามสัดส่วนกับระยะทาง
3. เราจะบันทึกเวลาที่พัลส์เอาต์พุตเปลี่ยนจาก LOW ไป HIGH และอีกครั้งเมื่อมันอยู่ในรูป HIGH ไป LOW
4. เราจะมีเวลาเริ่มและหยุด เราจะใช้สมการระยะทางในการคำนวณระยะทาง
5. ระยะทางจะแสดงในจอ LCD 16x2
ดังนั้นเราจึงได้เขียนโปรแกรม Pythonสำหรับ Raspberry Pi เพื่อทำหน้าที่ต่อไปนี้:
1. เพื่อส่งทริกเกอร์ไปยังเซ็นเซอร์
2. บันทึกเวลาเริ่มต้นและหยุดของเอาต์พุตพัลส์จากเซ็นเซอร์
3. ในการคำนวณระยะทางโดยใช้เวลาเริ่มต้นและหยุด
4. เพื่อแสดงผลที่ได้รับบนจอ LCD 16 * 2
โปรแกรมที่สมบูรณ์ และวิดีโอสาธิตได้รับด้านล่าง โปรแกรมอธิบายได้ดีผ่านความคิดเห็นหากคุณมีข้อสงสัยสามารถถามได้ในส่วนความคิดเห็นด้านล่าง