Arduino Động cơ bước và công tắc giới hạn
Trong bài hướng dẫn Arduino này, chúng ta sẽ học cách sử dụng Arduino, công tắc giới hạn, driver L298N và động cơ bước. Cụ thể, chúng ta sẽ học:
- Cách dừng động cơ bước khi chạm công tắc giới hạn
- Cách đổi hướng của động cơ bước khi chạm công tắc giới hạn
- Cách đổi hướng của động cơ bước khi hai công tắc giới hạn bị chạm
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (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 Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 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 biết về động cơ bước và công tắc giới hạn (bố trí chân, cách chúng hoạt động, cách lập trình ...), hãy tìm hiểu về chúng trong các bài hướng dẫn sau đây:
- Arduino - Công tắc giới hạn hướng dẫn
Sơ đồ đấu dây
Hướng dẫn này cung cấp mã Arduino 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 động cơ bước và công tắc giới hạn

This image is created using Fritzing. Click to enlarge image
- Sơ đồ đấu nối giữa độ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 ý:
Tùy thuộc vào động cơ bước, kết nối dây giữa động cơ bước và L298N có thể khác nhau. Vui lòng xem kỹ bài hướng dẫn này Arduino - Điều khiển động cơ bước bằng bộ driver L298N để xem cách kết nối động cơ bước với trình điều khiển động cơ L298N.
Mã Arduino - Dừng động cơ bước bằng công tắc giới hạn
Có nhiều cách để làm cho động cơ bước dừng lại:
- Gọi hàm stepper.stop(): Cách này KHÔNG làm cho động cơ bước dừng ngay lập tức mà từ từ dừng lại
- Không gọi hàm stepper.run(): Cách này sẽ làm cho động cơ bước dừng ngay lập tức
Đoạn mã dưới đây làm cho động cơ bước quay vô hạn và dừng ngay lập tức khi chạm vào một công tắc giới hạn.
Hướng dẫn từng bước
- Kết nối Arduino với máy tính bằng cáp USB
- Mở Arduino IDE, chọn board và cổng đúng
- Đi tới biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
- Tìm kiếm “ezButton”, sau đó tìm thư viện nút từ ArduinoGetStarted.com
- Nhấn nút Cài đặt để cài đặt thư viện ezButton.

- Tìm kiếm “AccelStepper”, sau đó tìm thư viện AccelStepper của Mike McCauley
- Nhấn nút Cài đặt để cài đặt thư viện AccelStepper.

- Sao chép mã ở trên và mở bằng Arduino IDE
- Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
- Nếu các dây được nối đúng, bạn sẽ thấy động cơ quay theo chiều kim đồng hồ
- Chạm vào công tắc giới hạn
- Bạn sẽ thấy động cơ dừng ngay lập tức
- Kết quả trên Serial Monitor như dưới đây
Giải thích mã nguồn
Bạn có thể tìm thấy lời giải thích trong dòng chú thích của mã Arduino ở trên.
Mã Arduino - Thay đổi hướng của độ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 vô hạn và đổi hướng khi một công tắc giới hạn bị chạm.
Hướng dẫn từng bước
- Sao chép mã ở trên và mở với Arduino IDE
- Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
- Nếu cách nối dây đúng, bạn sẽ thấy động cơ quay theo hướng kim đồng hồ.
- Chạm công tắc giới hạn
- Bạn sẽ thấy hướng quay của động cơ bước đã bị đổi sang ngược chiều kim đồng hồ
- Chạm lại công tắc giới hạn
- Bạn sẽ thấy hướng quay của động cơ bước được đổi sang chiều kim đồng hồ
- Kết quả trên Serial Monitor trông như sau:
Mã Arduino - Thay đổi hướng của độ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 vô hạn và đổi hướng khi một trong hai công tắc giới hạn bị chạm.
Hướng dẫn từng bước
- Sao chép mã ở phía trên và mở bằng Arduino IDE
- Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino
- Nếu kết nối dây đúng, bạn sẽ thấy động cơ quay theo chiều kim đồng hồ.
- Chạm vào công tắc giới hạn 1
- Bạn sẽ thấy hướng quay của động cơ bước được đổi sang ngược chiều kim đồng hồ
- Chạm vào công tắc giới hạn 2
- Bạn sẽ thấy hướng quay của động cơ bước được đổi sang chiều kim đồng hồ
- Kết quả trên Serial Monitor trông như bên dưới
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.