Chuyển đến phần nội dung
  • Tiếng Việt
    • English
    • Tiếng Việt

 

  • Tiếng Việt
    • English
    • Tiếng Việt
Tài liệu sử dụng

Robot Arduino

13
  • Tổng quan
  • Cài đặt Arduino IDE
  • Điều khiển LED
  • Điều khiển động cơ Servo
  • Điều khiển động cơ DC với L298N
  • Đọc cảm biến HC-SR04
  • Đọc cảm biến encoder
  • Đọc cảm biến dò line
  • Kết nối Module Bluetooth HM-10
  • Điều khiển xe với PID
  • Lập trình robot điều khiển từ xa
  • Lập trình robot tránh vật cản
  • Lập trình robot dò line

Robot ESP32

12
  • Tổng quan
  • Điều khiển LED
  • Điều khiển động cơ Servo
  • Điều khiển động cơ DC với L298N
  • Đọc cảm biến HCSR04
  • Đọc cảm biến Encoder
  • Đọc cảm biến dò line
  • Bluetooth – Kết nối module HM10
  • Bluetooth – Lập trình điều khiển xe từ xa
  • Wifi – Lập trình web html
  • Wifi – Lập trình điều khiển xe từ xa
  • Lập trình robot dò line

Robot ESP32 Camera

1
  • Tổng quan

Robot ESP32 Lidar

1
  • Tổng quan

Robot ESP32 Lidar & Camera

1
  • Tổng quan
Xem danh mục

Đọc cảm biến HC-SR04

1. Mục tiêu bài học #

Sau bài này, bạn có thể:

  • Kết nối cảm biến khoảng cách HC-SR04 với Arduino Nano
  • Đọc khoảng cách vật cản phía trước
  • Hiển thị khoảng cách lên Serial Monitor
  • Làm nền tảng cho các chức năng:
    • Robot tránh vật cản
    • Robot tự dừng
    • Robot giữ khoảng cách

2. Cảm biến HC-SR04 là gì #

HC-SR04 là cảm biến siêu âm dùng để đo khoảng cách.

Nguyên lý hoạt động:

  1. Cảm biến phát sóng siêu âm
  2. Sóng gặp vật cản và phản xạ lại
  3. Cảm biến đo thời gian phản hồi
  4. Tính ra khoảng cách

Các thông số cơ bản

Thông sốGiá trị
Điện áp5V
Khoảng cách đo~2cm → 40cm
Chân giao tiếpTrig, Echo
Góc quét~15 độ

3. Sơ đồ kết nối #

4. Code đọc khoảng cách #

#define TRIG_PIN A0
#define ECHO_PIN A1

void setup() {
  Serial.begin(9600);

  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
}

void loop() {

  // Phát xung siêu âm
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);

  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);

  digitalWrite(TRIG_PIN, LOW);

  // Đọc thời gian phản hồi
  long duration = pulseIn(ECHO_PIN, HIGH);

  // Tính khoảng cách (cm)
  float distance = duration * 0.034 / 2;

  // Hiển thị
  Serial.print("Khoang cach: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(200);
}

5. Nạp code và kiểm tra #

Bước 1: Nạp code

Bước 2: Mở Serial Monitor

Chọn:

  • Baudrate: 9600

Bạn sẽ thấy:

Khoang cach: 25.3 cm
Khoang cach: 24.8 cm
Khoang cach: 26.1 cm

Bước 3: Thử nghiệm thực tế

Đưa tay hoặc vật thể trước cảm biến.

Bạn sẽ thấy khoảng cách thay đổi theo thời gian thực.

6. Giải thích code #

Phát xung Trigger

digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);

HC-SR04 cần xung HIGH khoảng 10 micro giây để bắt đầu đo.

pulseIn()

pulseIn(ECHO_PIN, HIGH);

Đo thời gian Echo ở mức HIGH.

Công thức tính khoảng cách

distance = duration * 0.034 / 2;

Trong đó:

  • 0.034 cm/us là tốc độ âm thanh
  • Chia 2 vì sóng đi và quay lại

7. Các lỗi thường gặp #

Luôn hiện 0 cm

Nguyên nhân:

  • Sai dây Echo/Trig
  • Chưa cấp nguồn
  • Chưa chọn đúng chân

Giá trị nhảy lung tung

Nguyên nhân:

  • Vật quá nhỏ
  • Góc phản xạ không tốt
  • Nguồn yếu
  • Robot rung mạnh

Không hiển thị gì

Kiểm tra:

  • Đã mở Serial Monitor chưa
  • Baudrate có đúng 9600 không

8. Ứng dụng #

HC-SR04 thường dùng cho:

  • Robot tránh vật cản
  • Robot tự dừng
  • Đo khoảng cách
  • Đỗ xe tự động
  • Robot đi theo tường

9. Tổng kết #

Cập nhật vào Tháng 5 29, 2026

Cảm xúc của bạn là gì

  • Vui
  • Bình thường
  • Buồn

Chia sẻ bài viết này :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Điều khiển động cơ DC với L298NĐọc cảm biến encoder
Table of Contents
  • 1. Mục tiêu bài học
  • 2. Cảm biến HC-SR04 là gì
  • 3. Sơ đồ kết nối
  • 4. Code đọc khoảng cách
  • 5. Nạp code và kiểm tra
  • 6. Giải thích code
  • 7. Các lỗi thường gặp
  • 8. Ứng dụng
  • 9. Tổng kết
Bản quyền; 2026 - Giao diện WordPress tạo bởi CreativeThemes