Series
Series ESP32 & Điều Khiển Động Cơ
  1. Series: Lập trình & Điều khiển Động Cơ từ Cơ Bản tới Nâng Cao
  2. 1Lập trình & Điều khiển Động Cơ – Bài 1: Giới thiệu về Động cơ và Nguyên lý Hoạt động
  3. 2Lập trình & Điều khiển Động Cơ – Bài 2: Điều khiển tốc độ Động cơ DC bằng PWM
  4. 3Lập trình & Điều khiển Động Cơ – Bài 3: Đảo chiều quay của động cơ DC bằng mạch cầu H (L298N)
  5. 4Lập trình & Điều khiển Động Cơ – Bài 4: Viết hàm điều khiển chuyển động cho xe robot
  6. 5Lập trình & Điều khiển Động Cơ – Bài 5: Cảm biến vật cản cho xe robot (Tự dừng khi gặp chướng ngại vật)
  7. 6Lập trình & Điều khiển Động Cơ – Bài 6: Xe tránh vật cản tự động bằng cảm biến siêu âm HC-SR04
  8. 7Lập trình & Điều khiển Động Cơ – Bài 7: Điều khiển xe robot bằng điện thoại qua WiFi (Web Remote)
  9. 8Lập trình & Điều khiển Động Cơ – Bài 8: Điều khiển xe robot bằng Bluetooth từ điện thoại (ESP32 + App Android)
  10. 9Lập trình & Điều khiển Động Cơ – Bài 9: Lập trình xe robot dò line (chạy theo vạch đen)
  11. 10Lập trình & Điều khiển Động Cơ – Bài 10: Xe robot tránh vật cản kết hợp dò line (robot tự hành thông minh)
  12. 11Lập trình & Điều khiển Động Cơ – Bài 11: Điều khiển Servo bằng ESP32 (Cơ bản và Ứng dụng trong robot)
  13. 12Lập trình & Điều khiển Động Cơ – Bài 12: Kết hợp Servo và Cảm biến siêu âm HC-SR04 – Quay theo vật cản (Radar mini)
  14. 13Lập trình & Điều khiển Động Cơ – Bài 13: Servo Tracking, tạo hệ thống đầu quay cảm biến tự động theo vật cản
  15. 14Lập trình & Điều khiển Động Cơ – Bài 14: Lăp ráp đầu cảm biến quay theo vật cản lên xe robot (Xe radar thông minh)
  16. 15Lập trình & Điều khiển Động Cơ – Bài 15: Tích hợp còi cảnh báo và đèn LED vào xe robot (Báo hiệu trạng thái thông minh)
  17. 16Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot
  18. 17Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 1): Hiểu nguyên lý
  19. 18Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 2): Thiết kế phần cứng
  20. 19Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 3): Lập trình cơ bản
  21. 20Lập trình & Điều khiển Động Cơ – Nâng cao -Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 4): Tối ưu điều khiển
  22. 21Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 5): Báo hiệu thông minh
  23. 22Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 6): Truyền dữ liệu 2 chiều
  24. 23Lập trình & Điều khiển Động Cơ – Nâng cao – Bài 16: Thiết kế bộ điều khiển từ xa cho Robot (phần 7): Kiểm thử & demo thực tế
Kiến thức

Lập trình & Điều khiển Động Cơ – Bài 12: Kết hợp Servo và Cảm biến siêu âm HC-SR04 – Quay theo vật cản (Radar mini)

Th11 2025
Lập trình & Điều khiển Động Cơ – Bài 12: Kết hợp Servo và Cảm biến siêu âm HC-SR04 – Quay theo vật cản (Radar mini)

(Từ khóa học: Lập trình & Điều khiển Động Cơ từ Cơ Bản tới Nâng Cao)


Giới thiệu

Trong các xe robot hoặc hệ thống quan sát thông minh, việc quét và theo dõi vật cản xung quanh là một chức năng cực kỳ quan trọng.

Bài này hướng dẫn bạn kết hợp Servo SG90cảm biến siêu âm HC-SR04 để tạo mô hình radar mini — có thể xoay đầu cảm biến và đo khoảng cách theo góc quay, hiển thị dữ liệu trực tiếp qua Serial.

Đây là nền tảng để phát triển các dự án như:

  • Xe robot tự tránh vật cản thông minh
  • Hệ thống radar hiển thị bản đồ vật thể
  • Cảm biến xoay quan sát 180° cho robot AI

1. Nguyên lý hoạt động

  • Servo xoay cảm biến siêu âm từ 0° đến 180°.
  • Ở mỗi góc, cảm biến đo khoảng cách bằng tín hiệu echo.
  • Kết quả được gửi về Serial để vẽ biểu đồ hoặc hiển thị radar.

Servo đóng vai trò “cổ xoay”, còn HC-SR04 là “mắt quan sát”.

2. Sơ đồ kết nối phần cứng

Thiết bịESP32 PinGhi chú
Servo SG90 (Signal)GPIO5Điều khiển góc quay
Servo SG90 (VCC)5VNguồn cấp
Servo SG90 (GND)GNDMass chung
HC-SR04 TrigGPIO12Phát xung siêu âm
HC-SR04 EchoGPIO14Nhận phản xạ
HC-SR04 VCC5VNguồn 5V
HC-SR04 GNDGNDMass chung

⚠️ Nên dùng nguồn riêng cho Servo nếu quay liên tục, tránh sụt áp ESP32.

3. Code mẫu: Servo quay + đo khoảng cách HC-SR04

/*
 * Bài 12 - IoTLabs Motor Course
 * Kết hợp Servo và HC-SR04 để tạo Radar mini
 */

#include <Servo.h>

#define TRIG_PIN 12
#define ECHO_PIN 14
Servo myServo;

long duration;
int distance;

void setup() {
  Serial.begin(115200);
  myServo.attach(5);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  Serial.println("Mini Radar Started!");
}

int getDistance() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  duration = pulseIn(ECHO_PIN, HIGH);
  return duration * 0.034 / 2;  // cm
}

void loop() {
  for (int pos = 0; pos <= 180; pos += 5) {
    myServo.write(pos);
    delay(200);
    int dist = getDistance();
    Serial.print("Góc: "); Serial.print(pos);
    Serial.print("° | Khoảng cách: "); Serial.print(dist); Serial.println(" cm");
  }

  for (int pos = 180; pos >= 0; pos -= 5) {
    myServo.write(pos);
    delay(200);
    int dist = getDistance();
    Serial.print("Góc: "); Serial.print(pos);
    Serial.print("° | Khoảng cách: "); Serial.print(dist); Serial.println(" cm");
  }
}

Kết quả:

Servo quay cảm biến HC-SR04 sang trái – phải liên tục, đo khoảng cách tại mỗi góc, in kết quả ra Serial Monitor (hoặc vẽ biểu đồ radar trên Processing / Python sau này).

4. Giải thích chi tiết

  • Servo giúp xoay cảm biến HC-SR04 theo nhiều góc.
  • Mỗi lần dừng ở 1 góc → đo khoảng cách bằng pulseIn().
  • Từ đó có thể vẽ bản đồ không gian 2D quanh robot.
  • Dữ liệu có thể gửi qua Serial, Bluetooth hoặc WiFi để hiển thị trực quan.

5. Mục tiêu học tập

  • Hiểu cách kết hợp hai linh kiện khác loại (servo + sensor).
  • Lập trình đo – điều khiển phối hợp theo góc quay.
  • Chuẩn bị cho bài tiếp theo: Xe robot radar tự tránh vật cản.

6. Hoạt động mở rộng

  • Hiển thị bản đồ radar 2D bằng Python hoặc Processing.
  • Kết hợp OLED hoặc LCD hiển thị kết quả trực tiếp.
  • Thêm AI phân tích vùng trống để chọn hướng di chuyển.

7. Linh kiện cần thiết

Linh kiệnSố lượngGhi chú
ESP32 DevKit 38 Pin1Bộ điều khiển
Servo SG901Gắn cảm biến HC-SR04
HC-SR041Đo khoảng cách
Nguồn 5V1Cho Servo và cảm biến
Dây nối

8. Kết luận

Bạn vừa tạo ra một mô hình radar mini thông minh — bước tiến quan trọng trong lĩnh vực robot tự hành.

Khi kết hợp servo (động học) và cảm biến siêu âm (nhận thức), robot của bạn có thể “nhìn” và “phản ứng” với môi trường xung quanh – giống như một hệ thống AI cơ bản.