Mạch Điện Lý Thú

Đo khoảng cách (cm-inch) với cảm biến siêu âm SR04T và Arduino

Dưới đây là hướng dẫn đo khoảng cách sử dụng các module siêu âm có sẵn trên thị trường. Các bạn có thể sử dụng Module siêu âm chống nước hoặc Module siêu âm KHÔNG chống nước HC-. Code hoạt động trên cả 2 loại và không cần chỉnh sửa gì cả, ráp đúng chân là chạy.

Module JSN-SR04T – Chống nước
Module – Không chống nước

Trong bài viết này, mình sẽ lập trình bằng để đo khoảng cách:

  • Đơn vị đo “” hoặc “
  • Hiển thị đồng thời qua màn 16×2 và Serial qua máy tính
  • Hiển thị LCD 16×2 dùng giao tiếp – Yêu cầu mua module chuyển đổi cho LCD (Nếu không muốn dùng có thể tham khảo bài sau để sử dụng cách mắc trực tiếp LCD – Hơi tốn chân GPIO của board Arduino nhưng đỡ tiền mua module I2C)
  • Đo môi trường ngoài không khí và trong môi trường nước (Thả chìm đầu đo và nước)

VẬT TƯ CẦN THIẾT

01 Board Arduino loại bất kỳ

Ở bài này dùng Arduino Uno

-01 module JSN-SR04T hoăc HC-SR04

Module JSN-SR04T
Đầu dò siêu âm chống nước của module JSN-SR04T

Module siêu âm chống nước JSN-SR04T rất tiện dụng cho các ứng dụng ngoài trời như cảm biến đỗ xe; đo khoảng cách ngoài trời; đo mức nước bể cá, bể nước, đo mức nhiên liệu xăng, dầu,…

Bảng thông số của module JSN-SR04T mình trích ra từ tài liệu nhà sản xuất: Download

Giải thích:

Điện áp hoạt độngDC 3 – 5.5V
Dòng tiêu thụKhoảng 8mA
Tần số đầu dò40KHz
Dải đo20cm – 600cm
Sai số+- 1cm
Độ phân giải 1mm
Góc mở đầu dò75 độ

Chú ý: Vì cảm biến JSN-SR04T có góc mở rất lớn ( >= 75 độ) nên KHÔNG phù hợp đo khoảng cách trong không gian chật hẹp. Chỉ nên dùng trong không gian mở như ngoài trời hoặc bể chứa kích thước lớn- không vật cản.

Nếu đo trong không gian chật hẹp thì sai số rất lớn do sóng phản xạ lại bị va đập vào vật cản hoặc thành bể – bình chứa.

Ảnh dưới mô tả góc quét và phản xạ của 1 loại cảm biến siêu âm trên thị trường, tùy loại sẽ có góc khác nhau:

Góc quét và phản xạ của 1 loại cảm biến siêu âm

-01 màn hình LCD 16×2

LCD 16×2

-01 module chuyển đổi I2C cho – Giúp tiết kiệm chân cho Arduino

Module chuyển đổi I2C cho LCD1602
LCD sau khi gắn module chuyển đổi

SƠ ĐỒ NGUYÊN LÝ

Bấm vào để xem kích thước đầy đủ

Sơ đồ chân kết nối:

MODULE PINARDUINO PIN
Trigger pin (Module SR04)Pin 11
Echo Pin (Module SR04) Pin 12
SDA Pin (LCD I2C)Pin A4
SCL Pin (LCD I2C) Pin A5
5V5V
GNDGND

THƯ VIỆN CHO CẢM BIẾN SIÊU ÂM

Hầu hết các module cảm biến siêu âm sử dụng thư viện NewPing. Các bạn có thể tham khảo code mẫu tại đây: Download here

Hướng dẫn: Tải thư viện về và copy vào thư mục library của Arduino trong Documents

CODE

Nếu bạn sử dụng thư viện NewPing bạn có thể thử dùng “NewPingExample”

  • Đây là code cơ bản Arduino sử dụng thư viện LCD I2C NewLiquidCrystal, hiển thị đồng thời LCD và Serial, đợn vị đo “cm” hoặc “inch“, môi trường đo trong không khí: Download here
  • Code cơ bản Arduino sử dụng thư viện LCD I2C NewLiquidCrystal, hiển thị đồng thời LCD và Serial, đợn vị đo “cm“, môi trường đo trong NƯỚC: Download here
  • Code nâng cao Arduino sử dụng thư viện LCD I2C NewLiquidCrystal, hiển thị đồng thời LCD và Serial, đợn vị đo “cm”, môi trường đo trong không khí, có điều chỉnh mức cảnh báo “dưới ngưỡng” hoặc “vượt ngưỡng” cho phép, tín hiệu cảnh báo “dưới ngưỡng” hoặc “vượt ngưỡng” đưa ra 2 đèn LED (dễ dàng thay bằng còi hú, relay.. tùy bạn chỉnh) và cảnh báo cả trên Serial: Download here
  • Điều chỉnh thông số cảnh báo “dưới ngưỡng” hoặc “vượt ngưỡng” ở 2 dòng dưới đây (Các bạn tự điều chỉnh phù hợp với thực tế) :

int maximumRange = 550; // Khoảng cách từ cảm biến đến vật cản 550cm- Khoảng cách khá xa, an toàn không va chạm hoặc bể nước sắp cạn-> cảnh báo (Tối đa 600cm – Khuyến nghị dùng tối đa trong khoảng 250-450cm)
int minimumRange = 30; // Khoảng cách từ cảm biến đến vật cản 30cm- Khoảng cách khá gần, không an toàn sắp va chạm hoặc bể nước sắp đầy, tràn-> cảnh báo (Tối thiểu 20cm)

  • Chân kết nối 2 LED cảnh báo: Pin 13Pin 8 của Arduino nối với Anot của mỗi LED (Có thể nối Loa báo động hoặc Relay vào 2 chân này thay cho LED)
define G_LED 13 // Onboard Green LED – Pin 13
define R_LED 8 // Onboard Red LED – Pin 8

TEST

Mạch hoạt động khá tốt, khoảng cách đo tối thiểu 20cm và tối đa 6m (khuyến cáo đo tối đa trong 2.5m).

  • Nếu muốn đó chính xác hơn và dùng trong không gian nhỏ, chật hẹp thì nên dùng module HC-SR04
  • Nếu muốn đo trong không gian rộng rãi + yêu cầu chống nước, đo dưới nước, đo trong môi trường khắc nghiệt thì nên dùng module JSC-SR04T
Hoàn thiện
Thông số hiển thị qua Serial trên máy tính
Thông số hiển thị qua LCD 1602

Nguồn: surtrtech.com

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *