ESP32 DC Motor Limit Switch
Trong hướng dẫn ESP32 này, chúng ta sẽ học cách sử dụng ESP32 để điều khiển động cơ DC bằng limit switch và driver L298N. Cụ thể, chúng ta sẽ học:
- Cách dừng động cơ DC khi một limit switch được chạm
- Cách thay đổi hướng quay của động cơ DC khi một limit switch được chạm
- Cách thay đổi hướng quay của động cơ DC khi hai limit switch được chạm
Trong hướng dẫn ESP32 này, chúng ta sẽ khám phá quy trình sử dụng ESP32 để quản lý động cơ DC bằng cách sử dụng limit switch và driver L298N. Cụ thể, chúng ta sẽ tìm hiểu các khía cạnh sau:
- Dừng động cơ DC khi tiếp xúc với limit switch
- Thay đổi hướng quay của động cơ DC khi tiếp xúc với limit switch
- Thay đổi hướng quay của động cơ DC khi hai limit switch được kích hoạt
Phần Cứng 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 | × | Limit Switch (KW12-3) | ||
| 1 | × | Limit Switch (V-153-1C25) | ||
| 1 | × | Limit Switch (V-155-1C25) | ||
| 1 | × | Limit Switch (V-156-1C25) | ||
| 1 | × | Động cơ DC 5V | ||
| 1 | × | Bộ nguồn 5V cho động cơ DC 5V | ||
| 1 | × | DC Power Jack | ||
| 1 | × | Module Driver Motor L298N | ||
| 1 | × | Dây nối 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ề Động Cơ DC và Limit Switch
Nếu bạn chưa biết về động cơ DC và limit switch (pinout, cách hoạt động, cách lập trình...), hãy học về chúng trong các hướng dẫn sau:
- Hướng dẫn ESP32 - Limit Switch
- Hướng dẫn ESP32 - Động Cơ DC
Sơ Đồ Kết Nối
Hướng dẫn này cung cấp code ESP32 cho hai trường hợp: Một động cơ DC + một limit switch, Một động cơ DC + hai limit switches.
- Sơ đồ kết nối giữa động cơ DC và một limit switch

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.
- Sơ đồ kết nối giữa động cơ DC và hai limit switches

This image is created using Fritzing. Click to enlarge image
Code ESP32 - Dừng Động Cơ DC bằng một Limit Switch
Code dưới đây khiến động cơ DC quay vô hạn và dừng ngay lập tức khi limit switch được chạm
Các Bước Thực Hiện
- Nếu đây là lần đầu 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 theo hình ảnh trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Kết nối ESP32 với PC qua cáp USB
- Mở Arduino IDE, chọn đúng board và port
- Nhấp vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm "ezButton", sau đó tìm thư viện button của ArduinoGetStarted.com
- Nhấp nút Install để cài đặt thư viện ezButton.

- Sao chép code trên và mở bằng Arduino IDE
- Nhấp nút Upload trên Arduino IDE để tải code lên ESP32
- Nếu kết nối đúng, bạn sẽ thấy động cơ quay theo chiều kim đồng hồ.
- Chạm vào limit switch
- Bạn sẽ thấy động cơ dừng ngay lập tức
- Kết quả trên Serial Monitor như sau
Giải Thích Code
Đọc giải thích từng dòng trong các dòng comment của code!
Code ESP32 - Thay Đổi Hướng Động Cơ DC bằng một Limit Switch
Code dưới đây khiến động cơ DC quay vô hạn và thay đổi hướng khi limit switch được chạm
Các Bước Thực Hiện
- Nếu đây là lần đầu 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 theo hình ảnh trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Sao chép code trên và mở bằng Arduino IDE
- Nhấp nút Upload trên Arduino IDE để tải code lên ESP32
- Nếu kết nối đúng, bạn sẽ thấy động cơ quay theo chiều kim đồng hồ.
- Chạm vào limit switch
- Bạn sẽ thấy hướng quay của động cơ DC thay đổi sang chiều ngược kim đồng hồ
- Chạm lại limit switch một lần nữa
- Bạn sẽ thấy hướng quay của động cơ DC thay đổi về chiều kim đồng hồ
- Kết quả trên Serial Monitor như sau
Code ESP32 - Thay Đổi Hướng Động Cơ DC bằng hai Limit Switches
Code dưới đây khiến động cơ DC quay vô hạn và thay đổi hướng khi một trong hai limit switches được chạm
Các Bước Thực Hiện
- Nếu đây là lần đầu 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 theo hình ảnh trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Sao chép code trên và mở bằng Arduino IDE
- Nhấp nút Upload trên Arduino IDE để tải code lên ESP32
- Nếu kết nối đúng, bạn sẽ thấy động cơ quay theo chiều kim đồng hồ.
- Chạm vào limit switch 1
- Bạn sẽ thấy hướng quay của động cơ DC thay đổi sang chiều ngược kim đồng hồ
- Chạm vào limit switch 2
- Bạn sẽ thấy hướng quay của động cơ DC thay đổi về chiều kim đồng hồ
- Kết quả trên Serial Monitor như sau
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.