ESP8266 Công tắc giới hạn động cơ bước
Hướng dẫn này sẽ chỉ cho bạn cách sử dụng ESP8266 để điều khiển động cơ bước thông qua một công tắc giới hạn và một driver L298N. Cụ thể, chúng ta sẽ đề cập đến:
- Cách lập trình ESP8266 để dừng động cơ bước khi công tắc giới hạn được kích hoạt.
- Cách lập trình ESP8266 để đổi hướng của động cơ bước khi công tắc giới hạn được kích hoạt.
- Cách lập trình ESP8266 để đổi hướng của động cơ bước bằng hai công tắc giới hạn được lắp đặt ở hai vị trí đối diện.
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | Limit Switch (KW12-3) | ||
| 1 | × | Limit Switch (V-153-1C25) | ||
| 1 | × | Limit Switch (V-155-1C25) | ||
| 1 | × | Limit Switch (V-156-1C25) | ||
| 1 | × | Stepper Motor Nema 17 | ||
| 1 | × | L298N Motor Driver Module | ||
| 1 | × | 12V Power Adapter | ||
| 1 | × | DC Power Jack | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Động cơ Bước và Công tắc Giới hạn
Nếu bạn chưa quen với động cơ bước và công tắc giới hạn (bao gồm sơ đồ chân, chức năng, lập trình, v.v.), những bài hướng dẫn dưới đây có thể cung cấp cho bạn thêm thông tin:
- ESP8266 - Công tắc giới hạn hướng dẫn
- ESP8266 - Động cơ bước hướng dẫn
Sơ đồ đấu dây
Hướng dẫn này cung cấp sơ đồ đấu dây cho hai trường hợp: một động cơ bước và một công tắc giới hạn, một động cơ bước và hai công tắc giới hạn.
- Sơ đồ nối dây giữa ESP8266, động cơ bước và một công tắc giới hạn.

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
- Sơ đồ nối dây giữa ESP8266, động cơ bước và hai công tắc giới hạn.

This image is created using Fritzing. Click to enlarge image
※ Lưu ý:
Việc kết nối dây giữa động cơ bước và L298N có thể khác nhau tùy thuộc vào loại động cơ bước. Do đó, điều quan trọng là xem bài hướng dẫn này ESP8266 - Động cơ bước để hiểu cách kết nối.
Mã ESP8266 - Dừng động cơ bước bằng công tắc giới hạn
Có nhiều phương pháp để dừng động cơ bước:
- Gọi hàm stepper.stop(): Điều này sẽ không gây dừng đột ngột, mà là dừng dần
- Bỏ qua việc gọi stepper.run(): Điều này sẽ dẫn đến việc dừng ngay tức thì của động cơ bước
Mã dưới đây sẽ khiến một động cơ bước quay liên tục cho đến khi công tắc giới hạn được kích hoạt, tại thời điểm đó nó sẽ dừng ngay lập tức.
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn dùng ESP8266.
- Nối các thành phần như được hiển thị trong sơ đồ.
- Nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 phù hợp, ví dụ NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng.
- Kết nối cáp USB với ESP8266 và máy tính.
- Mở Arduino IDE, chọn bo mạch và cổng phù hợp.
- Nhấp vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm “ezButton”, sau đó xác định thư viện nút do ArduinoGetStarted.com cung cấp.
- Nhấn nút Install để cài đặt thư viện ezButton.

- Tra cứu “AccelStepper” và tìm thấy thư viện AccelStepper do Mike McCauley tạo.
- Nhấn nút Cài đặt để thêm thư viện AccelStepper.

- Sao chép mã và mở nó bằng Arduino IDE.
- Nhấp vào nút Tải lên để chuyển mã tới ESP8266.
- Nếu việc đấu dây được thực hiện đúng, động cơ sẽ quay theo hướng kim đồng hồ.
- Nhấn công tắc giới hạn và động cơ sẽ dừng lại ngay lập tức.
- Kết quả xuất hiện trên Serial Monitor nên trông như thế này.
Giải thích mã nguồn
Hãy xem giải thích theo từng dòng được chứa trong các bình luận của mã nguồn!
Mã ESP8266 - Thay đổi hướng động cơ bước bằng công tắc giới hạn
Đoạn mã dưới đây khiến động cơ bước quay liên tục, và nó sẽ đổi hướng khi công tắc giới hạn được chạm.
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các thành phần như được hiển thị trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn board ESP8266 phù hợp, ví dụ (NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Sao chép đoạn mã và mở nó bằng Arduino IDE.
- Nhấp vào nút Tải lên để gửi mã tới ESP8266.
- Nếu việc đấu dây đúng, động cơ sẽ quay theo chiều kim đồng hồ.
- Khi chạm vào công tắc giới hạn, quay của động cơ bước sẽ bị đảo ngược sang chiều ngược kim đồng hồ.
- Chạm lại công tắc giới hạn sẽ khiến động cơ bước quay theo chiều kim đồng hồ một lần nữa.
- Đầu ra trên Serial Monitor nên trông như thế này.
Mã ESP8266 - Thay đổi hướng động cơ bước bằng hai công tắc giới hạn
Đoạn mã dưới đây khiến động cơ bước quay liên tục, và nó sẽ đổi hướng khi bất kỳ một trong hai công tắc giới hạn bị chạm.
Hướng dẫn từng bước
- Nối dây các thành phần như được chỉ ra trên sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 phù hợp, ví dụ như NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng.
- Sao chép mã và mở nó bằng Arduino IDE.
- Nhấp vào nút Tải lên trong IDE để tải mã lên ESP8266.
- Nếu các kết nối đúng, động cơ sẽ quay theo chiều kim đồng hồ.
- Khi chạm công tắc giới hạn 1, hướng quay của động cơ bước nên đổi sang ngược chiều kim đồng hồ.
- Chạm công tắc giới hạn 2 sẽ khiến động cơ quay ngược lại, lần này sang chiều kim đồng hồ.
- Kết quả hiển thị trên Serial Monitor sẽ trông 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.