(Khóa học: Lập trình & Điều khiển Động Cơ từ Cơ Bản tới Nâng Cao)
🎯 Mục tiêu bài học
Trong phần 2, chúng ta sẽ thiết kế và lắp ráp phần cứng hoàn chỉnh cho hệ thống điều khiển robot từ xa qua sóng RF 2.4GHz sử dụng module NRF24L01.
Bạn sẽ nắm được sơ đồ kết nối chi tiết của cả hai khối:
- Tay cầm điều khiển (Transmitter – TX)
- Xe robot nhận lệnh (Receiver – RX)
1. Kiến trúc tổng thể hệ thống
Hệ thống điều khiển gồm hai khối chính:
| Thành phần | Vi điều khiển | Module RF | Vai trò |
|---|---|---|---|
| Tay cầm điều khiển (TX) | ESP32-C3 | NRF24L01 | Đọc nút/joystick và gửi lệnh |
| Xe robot (RX) | ESP32 DevKit 38 Pin | NRF24L01 | Nhận lệnh và điều khiển động cơ |
Cả hai khối đều hoạt động ở điện áp 3.3V, cùng chia sẻ địa chỉ pipe “ROBOT” để trao đổi dữ liệu.
2. Thiết kế phần cứng tay cầm điều khiển (Transmitter – TX)
Thành phần chính:
- ESP32-C3 mini hoặc ESP32-C3 DevKit
- Module NRF24L01
- 4 nút nhấn (hoặc joystick 2 trục)
- Pin 18650 + module sạc TP4056 + buck 3.3V
- (Tuỳ chọn) OLED 0.96” hiển thị trạng thái
Sơ đồ kết nối NRF24L01 ↔ ESP32-C3
| NRF24L01 Pin | ESP32-C3 Pin | Chức năng |
|---|---|---|
| GND | GND | Nguồn chung |
| VCC | 3.3V | Cấp nguồn cho RF |
| CE | GPIO7 | Chip Enable |
| CSN | GPIO10 | Chip Select |
| SCK | GPIO4 | SPI Clock |
| MOSI | GPIO6 | Dữ liệu ra |
| MISO | GPIO5 | Dữ liệu vào |
⚠️ Lưu ý nguồn: NRF24L01 cần tụ lọc 10µF + 100nF gần chân VCC-GND để ổn định tín hiệu.
Nguồn tay cầm
- Pin 18650 (3.7V) → module TP4056 (sạc) → buck 3.3V (AMS1117 hoặc MP1584)
- Dòng tiêu thụ thấp, thời gian sử dụng có thể đạt 3–5 giờ.
Bố trí đề xuất cho tay cầm:
- Cầm tay dạng gamepad (ESP32-C3 và pin ở giữa).
- Nút F/B/L/R bố trí như mũi tên.
- NRF24L01 đặt xa pin để tránh nhiễu.
- Có thể thêm LED báo nguồn, LED báo truyền dữ liệu.
3. Thiết kế phần cứng xe robot (Receiver – RX)
Thành phần chính:
- ESP32 DevKit 38 Pin
- NRF24L01
- Driver L298N hoặc TB6612FNG
- 2 động cơ DC + bánh xe
- Pin 7.4V (2S Li-ion)
- (Tuỳ chọn) Cảm biến HC-SR04, LED, buzzer
Sơ đồ kết nối NRF24L01 ↔ ESP32 DevKit

| NRF24L01 Pin | ESP32 Pin | Chức năng |
|---|---|---|
| GND | GND | Mass chung |
| VCC | 3.3V | Cấp nguồn RF |
| CE | GPIO17 | Chip Enable |
| CSN | GPIO16 | Chip Select |
| SCK | GPIO18 | SPI Clock |
| MOSI | GPIO23 | Dữ liệu ra |
| MISO | GPIO19 | Dữ liệu vào |
⚙️ Kết nối ESP32 ↔ L298N (Driver motor)
| L298N Pin | ESP32 Pin | Chức năng |
|---|---|---|
| IN1 | 26 | Điều khiển bánh trái tiến/lùi |
| IN2 | 27 | Điều khiển bánh trái tiến/lùi |
| IN3 | 25 | Điều khiển bánh phải tiến/lùi |
| IN4 | 33 | Điều khiển bánh phải tiến/lùi |
| ENA | 14 | PWM bánh trái |
| ENB | 32 | PWM bánh phải |
⚡ Nguồn:
- Động cơ: 5–9V (nguồn pin riêng)
- ESP32 + NRF: Buck xuống 5V/3.3V
- Chia mass chung giữa ESP32 và driver.
Thêm LED & Buzzer (tùy chọn)
| Thiết bị | ESP32 Pin | Ghi chú |
|---|---|---|
| LED trạng thái | GPIO2 | Báo khi có kết nối |
| Buzzer | GPIO13 | Báo âm thanh khi mất tín hiệu hoặc dừng |
4. Sơ đồ tổng thể hệ thống phần cứng
Hệ thống có thể hình dung gồm 2 khối:
- Khối điều khiển (TX): đọc nút bấm, gửi lệnh RF.
- Khối robot (RX): nhận lệnh RF, điều khiển motor, phát tín hiệu phản hồi.
5. Lưu ý thiết kế và lắp ráp
- Cách ly nguồn giữa động cơ và mạch logic bằng buck riêng.
- Cắm chắc NRF24L01, dây SPI ngắn, không vượt quá 10cm.
- Mass chung giữa các module (ESP32, driver, RF, cảm biến).
- Tụ lọc nguồn: 470µF trên đường 5V và 10µF + 100nF sát module RF.
- Chống nhiễu: tránh để dây motor song song dây tín hiệu SPI.
6. Kiểm tra sau khi lắp
- Cấp nguồn riêng từng khối TX và RX.
- Đảm bảo NRF24L01 nhận đủ 3.3V ổn định.
- Chạy code kiểm tra RF (radio.begin() → “radio ready”).
- Test truyền dữ liệu cơ bản giữa 2 ESP32 (ví dụ gửi ký tự ‘A’ qua RF).
- Nếu mất kết nối, kiểm tra CE/CSN và tụ lọc nguồn.
7. Kết luận
Sau bài học này, bạn đã:
- Hiểu cấu trúc phần cứng chi tiết của tay cầm và xe robot.
- Biết cách kết nối ESP32 ↔ NRF24L01 ↔ Driver motor đúng kỹ thuật.
- Sẵn sàng bước sang (phần 3) – Lập trình cơ bản để robot có thể di chuyển theo lệnh từ tay cầm.


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