Trong dự án này, chúng tôi sẽ giao tiếp mô-đun cảm biến siêu âm HC-SR04 với Raspberry Pi để đo khoảng cách. Trước đây, chúng tôi đã sử dụng cảm biến siêu âm với Raspberry Pi để xây dựng Robot tránh chướng ngại vật. Trước khi đi xa hơn, hãy tìm hiểu về cảm biến siêu âm.
Cảm biến siêu âm HC-SR04:
Cảm biến siêu âm được sử dụng để đo khoảng cách với độ chính xác cao và số đọc ổn định. Nó có thể đo khoảng cách từ 2cm đến 400cm hoặc từ 1 inch đến 13 feet. Nó phát ra một sóng siêu âm ở tần số 40KHz trong không khí và nếu vật thể cản đường nó thì nó sẽ phản xạ trở lại cảm biến. Bằng cách sử dụng thời gian cần thiết để tấn công đối tượng và quay lại, bạn có thể tính được khoảng cách.
Cảm biến siêu âm sử dụng một kỹ thuật gọi là “ECHO”. “ECHO” chỉ đơn giản là một sóng âm phản xạ. Bạn sẽ có ECHO khi âm thanh phản xạ trở lại sau khi đạt đến điểm cuối.
Mô-đun HCSR04 tạo ra rung động âm thanh trong phạm vi siêu âm khi chúng tôi đặt chân 'Trigger' cao trong khoảng 10us. Điều này sẽ gửi một loạt âm thanh 8 chu kỳ với tốc độ âm thanh và sau khi chạm vào vật thể, nó sẽ được nhận bởi chân Echo. Tùy thuộc vào thời gian rung động của âm thanh để lấy lại, nó cung cấp đầu ra xung thích hợp. Nếu đối tượng ở xa thì cần nhiều thời gian hơn để nghe thấy ECHO và độ rộng xung đầu ra sẽ lớn. Và nếu vật cản ở gần, thì ECHO sẽ được nghe nhanh hơn và độ rộng xung đầu ra sẽ nhỏ hơn.
Chúng ta có thể tính toán khoảng cách của vật thể dựa trên thời gian sóng siêu âm quay trở lại cảm biến. Vì đã biết thời gian và tốc độ âm thanh nên chúng ta có thể tính quãng đường bằng công thức sau.
- Khoảng cách = (Thời gian x Tốc độ âm thanh trong không khí (343 m / s)) / 2.
Giá trị được chia cho hai vì sóng truyền về phía trước và phía sau bao phủ cùng một khoảng cách. Do đó thời gian đến chướng ngại vật chỉ bằng một nửa tổng thời gian thực hiện
Vì vậy, Khoảng cách tính bằng cm = 17150 * T
Trước đây chúng tôi đã thực hiện nhiều dự án hữu ích bằng cách sử dụng cảm biến siêu âm này và Arduino, hãy kiểm tra chúng bên dưới:
- Đo khoảng cách dựa trên Arduino bằng cảm biến siêu âm
- Báo động cửa sử dụng Arduino và cảm biến siêu âm
- Giám sát Dumpster Dựa trên IOT bằng Arduino
Các thành phần bắt buộc:
Ở đây chúng tôi đang sử dụng Raspberry Pi 2 Model B với Hệ điều hành Raspbian Jessie. Tất cả các yêu cầu cơ bản về Phần cứng và Phần mềm đã được thảo luận trước đây, bạn có thể tra cứu nó trong phần Giới thiệu Raspberry Pi và Nhấp nháy đèn LED Raspberry PI để bắt đầu, ngoài những điều chúng tôi cần:
- Raspberry Pi với hệ điều hành được cài đặt sẵn
- Cảm biến siêu âm HC-SR04
- Nguồn điện (5v)
- Điện trở 1KΩ (3 miếng)
- Tụ điện 1000uF
- LCD 16 * 2 ký tự
Giải thích mạch:
Kết nối giữa Raspberry Pi và LCD được đưa ra trong bảng dưới đây:
Kết nối LCD |
Kết nối Raspberry Pi |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
Trong mạch này, chúng tôi sử dụng giao tiếp 8bit (D0-D7) để kết nối LCD với Raspberry Pi, tuy nhiên đây không phải là điều bắt buộc, chúng ta cũng có thể sử dụng giao tiếp 4 bit (D4-D7), nhưng với 4 bit chương trình giao tiếp trở nên hơi phức tạp cho người mới bắt đầu vì vậy chỉ cần sử dụng giao tiếp 8 bit. Ở đây chúng ta đã kết nối 10 chân của LCD với Raspberry Pi trong đó 8 chân là chân dữ liệu và 2 chân là Chân điều khiển.
Dưới đây là sơ đồ mạch kết nối cảm biến HC-SR04 và LCD với Raspberry Pi để đo khoảng cách.
Như trong hình, Cảm biến siêu âm HC-SR04 có bốn chân,
- PIN1- VCC hoặc + 5V
- PIN2- TRIGGER (Xung cao 10us được đưa ra để cho cảm biến nhận biết khoảng cách)
- PIN3- ECHO (Cung cấp đầu ra xung có độ rộng thể hiện khoảng cách sau khi kích hoạt)
- PIN4- VÒNG
Chân Echo cung cấp xung đầu ra + 5V không thể kết nối trực tiếp với Raspberry Pi. Vì vậy, chúng tôi sẽ sử dụng Mạch phân áp (được xây dựng bằng cách sử dụng R1 và R2) để có được logic + 3.3V thay vì logic + 5V.
Giải thích làm việc:
Hoạt động hoàn chỉnh của Đo khoảng cách Raspberry Pi diễn ra như sau:
1. Kích hoạt cảm biến bằng cách kéo chân kích hoạt lên 10uS.
2. Sóng âm thanh được gửi bởi cảm biến. Sau khi nhận được ECHO, mô-đun cảm biến cung cấp đầu ra tỷ lệ với khoảng cách.
3. Chúng tôi sẽ ghi lại thời gian khi xung đầu ra đi từ THẤP đến CAO và khi nào một lần nữa khi nó chuyển từ CAO đến THẤP.
4. Chúng tôi sẽ có thời gian bắt đầu và dừng lại. Chúng tôi sẽ sử dụng phương trình khoảng cách để tính khoảng cách.
5. Khoảng cách được hiển thị trên màn hình LCD 16x2.
Theo đó, chúng tôi đã viết Chương trình Python cho Raspberry Pi để thực hiện các chức năng sau:
1. Để gửi kích hoạt đến cảm biến
2. Ghi lại thời gian bắt đầu và dừng của đầu ra xung từ cảm biến.
3. Để Tính khoảng cách bằng cách sử dụng thời gian BẮT ĐẦU và DỪNG.
4. Để hiển thị kết quả thu được trên màn hình LCD 16 * 2.
Chương trình hoàn chỉnh và Video giới thiệu được đưa ra bên dưới. Chương trình được giải thích rõ ràng thông qua các bình luận, nếu bạn có bất kỳ nghi ngờ, bạn có thể hỏi trong phần bình luận bên dưới.