• HOME
  • DỰ ÁN & MẠCH ĐIỆN
    • Lập trình
      • ARDUINO PROJECT
      • ESP8266 PROJECT
      • ESP32 PROJECT
      • RASPBERRY PI PROJECT
      • Vi điều khiển
    • Điện tử ứng dụng
      • Audio / Amplifiers
      • Nguồn điện
      • Pin sạc/Acquy và mạch sạc
      • Biến đổi AC và DC
      • Robotic
      • Cảm biến
      • LED
      • LCD
      • Động cơ bước
      • Mạch linh tinh
      • Test & Measurement
      • RF – FM
    • Nixie Clock
    • HOME AUTOMATION
    • Dân dụng
    • Công nghiệp
  • KIẾN THỨC CĂN BẢN
    • Điện tử cơ bản
    • Điện tử số
    • PCB
    • Nixie Tube
    • Raspberry Pi
    • Vi điều khiển
    • Arduino
    • IN 3D
  • DOWNLOAD
    • Phần mềm điện tử
    • Giáo trình
      • Giáo trình Điện – Điện tử
      • Giáo trình Tự Động Hóa
      • Giáo trình Viễn thông
    • Đề tài
      • Đề tài – Điện – Điện Tử
      • Đề tài – Tự Động Hóa
      • Đề tài – Viễn thông
    • Điện tử ứng dụng
    • Tài liệu nước ngoài
    • Hướng dẫn, sửa chữa
    • Sơ đồ, nguyên lý thiết bị
    • Tiêu chuẩn – Đo lường – Thử nghiệm
    • Datasheet
  • LIÊN HỆ
  • SẢN PHẨM

Mạch Điện Lý Thú

Sơ đồ nguyên lý, PCB, đồ án, tài liệu, DIY

Trang chủ » DỰ ÁN & MẠCH ĐIỆN » Lập trình » ARDUINO PROJECT » Đo khoảng cách bằng cảm biến siêu âm HC-SRF04

Đo khoảng cách bằng cảm biến siêu âm HC-SRF04

28/07/2025 by admin Để lại bình luận

Đã được đăng vào 11/12/2019 @ 10:28

Đo khoảng cách bằng cảm biến siêu âm HC-SRF04 

Mục lục hiện
Đo khoảng cách bằng cảm biến siêu âm HC-SRF04
Tổng quan
Các chân chức năng
Sơ đồ
Các linh kiện cần thiết
Code
Giải thích Code

Tổng quan

Sóng siêu âm (Sonar) là một loại sóng cao tầng mà con người không thể nghe thấy được.

Tuy nhiên, ta có thể thấy được sự hiện diện của sóng siêu âm ở khắp mọi nơi trong tự nhiên.

Ở các loài động vật như dơi, cá heo … dùng sóng siêu âm để liên lạc với nhau, để săn mồi hay định vị trong không gian.

Xem thêm:

  • Đo khoảng cách (cm-inch) với cảm biến siêu âm SR04T và Arduino
  • Đo mức nước, mức nhiên liệu đang có trong bồn, bể chứa sử dụng cảm biến siêu âm SR04 và Arduino

Cảm biến siêu âm (HC – SRF04)

Các chân chức năng

VCC Cấp nguồn cho cảm biến (5V) hoặc 3.3V ở cảm biến 3V3
TRIGGER Chân phát sóng âm. Là chu kỳ của của điện cao /thấp diễn ra.
ECHO Trạng thái ban dầu là 0V, khi có tín hiệu trả về sẽ là 5V và sau đó trở về 0V
GND Nối cực âm của mạch
OUT Không sử dụng

Sơ đồ

Đo khoảng cách bằng cảm biến

Các linh kiện cần thiết

———————–

  • Arduino Uno
  • Cảm biến siêu âm (SRF-04)

———————-

Code

#define TRIG_PIN 3
#define ECHO_PIN 2
#define TIME_OUT 5000
 
float GetDistance()
{
  long duration, distanceCm;
   
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  
  duration = pulseIn(ECHO_PIN, HIGH, TIME_OUT);
 
  // convert to distance
  distanceCm = duration / 29.1 / 2;
  
  return distanceCm;
}
 
void setup() {  
  Serial.begin(9600);
 
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
}
 
void loop() {
  long distance = GetDistance();
 
  if (distance <= 0)
  {
    Serial.println("Echo time out !!");
  }
  else
  {   
    Serial.print("Distance to nearest obstacle (cm): ");
    Serial.println(distance);
  }
  delay(1000);
}

 

Giải thích Code

duration = pulseIn(ECHO_PIN, HIGH, TIME_OUT);

Trong chương trình chúng ta cần chú ý hàm pulseIn

Hàm pulseIn có tác dụng trả về thời gian (tính bằng milisec) kể từ khi hàm này được gọi cho đến khi có tín hiệu tại PIN chỉ định trước, hay trả về 0 nếu không nhận được tín hiệu / quá thời gian timeout. 

Các tham số:

ECHO_PIN: Pin chờ

HIGH: Giá trị chờ

TIME_OUT: Thời gian chờ tín hiệu, mặc định là 1s

distanceCm = duration / 29.1 / 2;

Ta biết thời gian âm thanh truyền trong không khí ở 20°C là 344 m/s.

Bằng quy tắc tam suất đơn giản ta có thể dễ dàng tính được sóng âm di chuyển 1 cm trong không khí sẽ mất 1000 / 344 * 100 ~= 29.1 ms. 

Do thời gian được tính từ lúc phát tín hiệu tới khi sóng âm phản xạ lại, vì vậy ta chia đôi sẽ ra được quãng đường mà sóng âm đã đi.

Nguồn: arduinokit.vn

  • Chia sẻ lên Facebook
  • Chia sẻ lên Twitter
  • Chia sẻ lên LinkedIn

Thuộc chủ đề:ARDUINO PROJECT, Cảm biến, Kiểm thử và đo đạc Tag với:arduino, cảm biến siêu âm, code, đo khoảng cách, siêu âm

Bài viết trước « Arduino cơ bản 06: Tạo âm thanh (Còi chip) bằng Arduino
Bài viết sau Arduino cơ bản 05: Thay đổi màu sắc Led RGB sử dụng Arduino »

Reader Interactions

Để lại một bình luận Hủy

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 *

Sidebar chính

Zalo hỏi đáp 24/7

Theo dõi qua mạng xã hội

  • Facebook

Bạn đang tìm gì?

Bài viết mới nhất

Nháy theo nhạc sử dụng STM8S hiển thị VFD - Audio spectrum analyzer

Nháy theo nhạc sử dụng STM8S hiển thị VFD – Audio spectrum analyzer

26/08/2025

Raspberry Pi: Chuyển dữ liệu qua SSH

Raspberry Pi: Chuyển dữ liệu qua SSH

26/08/2025

Điều khiển Raspberry Pi với giao diện đồ họa qua VNC Viewer

Điều khiển Raspberry Pi với giao diện đồ họa qua VNC Viewer

26/08/2025

Lược Sử In 3D: Từ Những Hi Vọng Đầu Tiên Cho Tới Thời Đại 4.0

Lược Sử In 3D: Từ Những Hi Vọng Đầu Tiên Cho Tới Thời Đại 4.0

26/08/2025

Retropie – Biến Raspberry Pi thành máy chơi điện tử

Retropie – Biến Raspberry Pi thành máy chơi điện tử

26/08/2025

Danh mục

  • DỰ ÁN & MẠCH ĐIỆN (241)
    • Công nghiệp (16)
    • Dân dụng (29)
    • Điện tử ứng dụng (178)
      • Audio / Amplifiers (34)
      • Biến đổi AC và DC (24)
      • Cảm biến (40)
      • Động cơ bước (5)
      • Kiểm thử và đo đạc (23)
      • LCD (15)
      • LED (20)
      • Mạch linh tinh (27)
      • Nguồn điện (42)
      • Pin sạc/Acquy và mạch sạc (24)
      • RF – FM (5)
      • Robotic (2)
    • HOME AUTOMATION (23)
    • Lập trình (82)
      • ARDUINO PROJECT (39)
      • ESP32 PROJECT (6)
      • ESP8266 PROJECT (17)
      • RASPBERRY PI PROJECT (9)
      • Vi điều khiển (24)
    • Nixie Clock (3)
  • Kiến thức căn bản (170)
    • Arduino (36)
    • Điện tử cơ bản (77)
    • Điện tử số (9)
    • IN 3D (9)
    • Nixie Tube (13)
    • PCB (18)
    • Raspberry Pi (10)
    • Vi điều khiển (16)

Footer

Bài viết mới nhất

  • Nháy theo nhạc sử dụng STM8S hiển thị VFD – Audio spectrum analyzer
  • Raspberry Pi: Chuyển dữ liệu qua SSH
  • Điều khiển Raspberry Pi với giao diện đồ họa qua VNC Viewer
  • Lược Sử In 3D: Từ Những Hi Vọng Đầu Tiên Cho Tới Thời Đại 4.0
  • Retropie – Biến Raspberry Pi thành máy chơi điện tử
  • Hướng dẫn cài hệ điều hành cho Raspberry Pi

Bình luận mới nhất

  • Hà Thêm Phát trong Đo cuộn cảm và tần số cộng hưởng mạch LC bằng Arduino
  • Đặng phú Sơn. trong Cách thay thế transistor tương đương
  • admin trong Nguyên lý cảm biến siêu âm chống nước JSN-SR04T và sơ đồ mạch
  • Rohan trong Nguyên lý cảm biến siêu âm chống nước JSN-SR04T và sơ đồ mạch

Tìm kiếm

Tất cả nội dung trên website chỉ dùng để tham khảo. Chúng tôi không chịu trách nhiệm về thông tin thành viên đăng tải lên website và xóa bài viết khi có vi phạm bản quyền tác giả.