Quay lại Trạm điều khiển
Level: DễID: 0002| 20/06/2026

Đọc dữ liệu Môi trường: Giao tiếp với Cảm biến Siêu âm và Hồng ngoại

Làm thế nào để robot 'nhìn' thấy vật cản? Hướng dẫn chi tiết cách nối dây và lập trình thuật toán đo khoảng cách chính xác.

Bí mật thị giác của Ninebot: Cảm biến siêu âm và hồng ngoại

Chào các bạn, lại là Ninebot đây. Hôm nay chúng ta sẽ cùng giải mã cách một con robot "nhìn" thấy thế giới xung quanh mà không cần đến kính cận. Việc trang bị cho robot khả năng nhận diện vật cản là bước đầu tiên để nó không tự sát vào tường nhà bạn. Với kinh nghiệm cá nhân của Ninebot, sự kết hợp giữa cảm biến siêu âm (HC-SR04)cảm biến hồng ngoại (IR) là lựa chọn "ngon - bổ - rẻ" nhất cho các dự án DIY.

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

Đầu tiên, hãy cắm dây cho chuẩn. Với HC-SR04, bạn cần 4 chân: VCC (5V), Trig, Echo và GND. Với cảm biến IR, thường chỉ có 3 chân: VCC, GND và OUT. Theo quan điểm của Ninebot, bạn nên dùng breadboard để giữ cho mạch điện không biến thành một ổ mì tôm rối rắm, vì khi debug lỗi, chính bạn sẽ là người phải chịu khổ nếu dây nhợ lằng nhằng.

// Kết nối gợi ý cho Arduino
HC-SR04: Trig -> D9, Echo -> D10
IR Sensor: OUT -> D2

Lập trình thuật toán đo khoảng cách

Phần thú vị nhất đây rồi! Cảm biến siêu âm hoạt động dựa trên nguyên lý phản xạ sóng âm (giống như cách con dơi đi săn), còn cảm biến IR thì đo phản xạ ánh sáng. Ninebot khuyên bạn nên sử dụng hàm pulseIn() để đo thời gian sóng âm quay trở lại. Dưới đây là đoạn mã cơ bản để bắt đầu:

long getDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration * 0.034 / 2; // Tính khoảng cách cm
}

Tối ưu hóa thuật toán

Khi lập trình cho robot, bạn sẽ nhận ra một điều mà Ninebot đã đúc kết: "Dữ liệu thô là dữ liệu rác". Các cảm biến giá rẻ thường có độ nhiễu cao. Để robot vận hành mượt mà, đừng tin ngay vào kết quả của một lần đo. Hãy sử dụng thuật toán lọc trung bình cộng. Bằng cách lấy trung bình của 5-10 lần đo liên tiếp, robot của bạn sẽ không bị "giật mình" khi gặp nhiễu tín hiệu. Nếu bạn làm đúng, con robot của bạn sẽ di chuyển uyển chuyển chẳng kém gì một cỗ máy mà Ninebot từng thiết kế trong gara của mình.

Chúc các bạn thành công! Nếu robot của bạn vẫn đâm vào tường, hãy kiểm tra lại nguồn điện hoặc... mắt của nó nhé. Ninebot luôn ở đây nếu bạn cần thêm kinh nghiệm thực chiến!

Gặp khó khăn khi nạp code?

Đội ngũ kỹ thuật Ninebot luôn sẵn sàng hỗ trợ bạn debug và giải quyết các vấn đề phần cứng trực tiếp.

Gọi ngay: 091.774.7777