ESP32 MG996R
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng servo motor MG996R mô-men xoắn cao với ESP32.
Linh Kiện Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | MG996R Servo Motor | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Servo Motor
Servo motor MG996R là một servo motor mô-men xoắn cao có khả năng nâng tải trọng lên đến 15kg. Motor này có thể xoay tay cầm từ 0° đến 180°, cung cấp khả năng điều khiển vị trí góc chính xác. Để biết thêm thông tin cơ bản về servo motor, bạn có thể tham khảo hướng dẫn ESP32 - Servo Motor.
Pinout
Servo motor MG996R được sử dụng trong ví dụ này bao gồm ba chân:
- Chân VCC: (thường màu đỏ) cần được kết nối với VCC (4.8V – 7.2V)
- Chân GND: (thường màu đen hoặc nâu) cần được kết nối với GND (0V)
- Chân Signal: (thường màu vàng hoặc cam) nhận tín hiệu điều khiển PWM từ chân của ESP32.

Sơ Đồ Kết Nối
Vì MG996R là servo motor mô-men xoắn cao, nó tiêu thụ rất nhiều điện năng. Chúng ta không nên cấp nguồn cho motor này qua chân 5v của ESP32. Thay vào đó, chúng ta cần sử dụng nguồn cung cấp ngoài cho servo motor MG996R.

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
Code ESP32
Các Bước Nhanh
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Thực hiện kết nối dây như hình trên.
- Kết nối board ESP32 với máy tính của bạn qua cáp micro USB
- Mở Arduino IDE trên máy tính của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Click vào biểu tượng Libraries trên thanh bên trái của Arduino IDE.
- Gõ ESP32Servo vào ô tìm kiếm, sau đó tìm thư viện servo của Kevin Harrington, John K. Bennett.
- Click nút Install để cài đặt thư viện servo motor cho ESP32.

- Kết nối ESP32 với máy tính qua cáp USB
- Mở Arduino IDE, chọn đúng board và cổng
- Sao chép code trên và mở bằng Arduino IDE
- Click nút Upload trên Arduino IDE để tải code lên ESP32

- Xem kết quả: Servo motor xoay chậm từ 0 đến 180° rồi xoay ngược chậm từ 180 về 0°
Giải Thích Code
Đọc phần giải thích từng dòng trong các dòng comment của code!
Cách Điều Khiển Tốc Độ Servo Motor
Bằng cách sử dụng các hàm map() và millis(), chúng ta có thể điều khiển tốc độ servo motor một cách mượt mà mà không làm chặn code khác
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.