Phần 3: Lập trình ESP32 để điều khiển động cơ
1. Giới thiệu về lập trình động cơ với ESP32, 2. Viết mã điều khiển động cơ (điều hướng, tốc độ...), 3. Giới thiệu thư viện điều khiển động cơ, 4. Kiểm tra mã trên mô hình xe, 5. Khắc phục lỗi phổ biến trong lập trình.
Phần 3: Lập trình ESP32 để điều khiển động cơ
1. Giới thiệu về lập trình động cơ với ESP32
ESP32 là một vi điều khiển mạnh mẽ với khả năng kết nối Wi-Fi và Bluetooth, rất phù hợp cho các dự án IoT như xe điều khiển từ xa. Để điều khiển động cơ, bạn cần sử dụng mạch điều khiển động cơ, thường là L298N hoặc L293D, nhằm điều chỉnh hướng và tốc độ quay của động cơ.
2. Viết mã điều khiển động cơ (điều hướng, tốc độ...)
Để điều khiển động cơ, bạn cần xác định chân GPIO trên ESP32 kết nối đến mạch điều khiển. Dưới đây là một ví dụ mã điều khiển động cơ với các chức năng tiến, lùi, rẽ trái, rẽ phải và dừng lại.
#define IN1 25
#define IN2 26
#define IN3 27
#define IN4 14
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
// Tiến
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(2000); // Chạy 2 giây
// Lùi
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(2000); // Chạy 2 giây
// Dừng
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(2000); // Dừng 2 giây
}
3. Giới thiệu thư viện điều khiển động cơ
Các thư viện như AccelStepper hoặc AFMotor không hỗ trợ trực tiếp cho ESP32. Để điều khiển servo, bạn có thể sử dụng thư viện ESP32Servo. Đối với động cơ DC, bạn có thể viết mã điều khiển PWM trực tiếp để điều chỉnh tốc độ.
4. Kiểm tra mã trên mô hình xe
Sau khi viết mã, tải lên ESP32 và kiểm tra chức năng điều khiển động cơ. Đảm bảo rằng các kết nối giữa ESP32 và mạch điều khiển động cơ được thực hiện chính xác. Kiểm tra từng chức năng: tiến, lùi, rẽ trái, rẽ phải, và dừng lại.
Cảnh báo: Không cấp nguồn động cơ qua ESP32. Nên dùng nguồn riêng cho động cơ và nối mass chung với ESP32 để tránh hỏng hóc.
5. Khắc phục lỗi phổ biến trong lập trình
Động cơ không quay: Kiểm tra kết nối dây và nguồn điện.
Động cơ quay ngược chiều: Đổi chân IN1 và IN2 hoặc IN3 và IN4.
Không nhận lệnh từ ESP32: Kiểm tra mã và xác nhận rằng ESP32 đã kết nối với mạng Wi-Fi.
