ESP8266 joystick động cơ servo
Một joystick được trang bị hai biến trở vuông góc với nhau (gọi là trục X và trục Y). Hai biến trở này xuất ra các giá trị analog (giá trị X và giá trị Y) trên các chân VRX và VRY. Chúng ta sẽ sử dụng các giá trị analog này để điều khiển độc lập hai động cơ servo: giá trị X điều khiển servo số 1 và giá trị Y điều khiển servo số 2. Khi sử dụng một bộ pan-tilt, sự kết hợp của hai động cơ servo tạo ra chuyển động ba chiều.
Có hai trường hợp sử dụng:
- Trường hợp sử dụng 1: Các động cơ servo quay theo chuyển động của nút ấn trên joystick:
- Các góc quay của các servo tỉ lệ thuận với giá trị X và giá trị Y của joystick.
- Khi nút ấn trên joystick được thả, tất cả các giá trị sẽ trở về giá trị ở giữa và các động cơ servo tự động quay về vị trí ở giữa.
- Trường hợp sử dụng 2: Sử dụng joystick để điều khiển các động cơ servo (lệnh lên/xuống/trái/phải)
- Khi nút ấn trên joystick được đẩy sang trái, di chuyển động cơ servo số 1 theo chiều kim đồng hồ.
- Khi nút ấn trên joystick được đẩy sang phải, di chuyển động cơ servo số 1 theo ngược chiều kim đồng hồ.
- Khi nút ấn trên joystick được đẩy lên, di chuyển động cơ servo số 2 theo chiều kim đồng hồ.
- Khi nút ấn trên joystick được đẩy xuống, di chuyển động cơ servo số 2 ngược chiều kim đồng hồ.
- Khi nút ấn trên joystick được thả, các động cơ servo sẽ không trở về vị trí ở giữa.
- Nếu joystick được nhấn (nhấn nút), các động cơ servo sẽ trả về vị trí ở giữa.
- Mô-đun Chuyển đổi Tương tự sang Số (ADC):
- Bạn có thể sử dụng một mô-đun Chuyển đổi Tương tự sang Số (ADC) bên ngoài, ví dụ như mô-đun ADC phổ biến ADS1115 ADC Module.
- Mô-đun này cho phép bạn kết nối nhiều thiết bị tương tự, mở rộng các chân đầu vào tương tự có sẵn.
- Giải pháp ghép kênh thời gian:
- Một lựa chọn khác là triển khai giải pháp ghép kênh thời gian. Điều này liên quan đến việc chuyển giữa đọc các trục X và Y của joystick bằng một chân đầu vào analog có sẵn duy nhất.
- Về cơ bản, bạn chuyển qua lại giữa các phép đo X và Y, đạt được chức năng mong muốn thông qua ghép kênh theo thời gian.
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 | × | Joystick | ||
| 2 | × | động cơ servo | ||
| 2 | × | Optionally, Pan-tilt kit with servo motor | ||
| 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ề joystick và động cơ servo
Nếu bạn chưa quen với joystick và động cơ servo (bao gồm sơ đồ chân kết nối, chức năng, lập trình, v.v.), các bài hướng dẫn sau có thể giúp bạn:
Vì ESP8266 chỉ có một chân đầu vào tương tự, trong khi joystick cần hai chân, có hai cách để giải quyết việc này:
Tuy nhiên, cả hai giải pháp này có thể khá tốn kém và phức tạp. Để có một phương pháp tiếp cận đơn giản hơn, chúng tôi khuyến nghị mạnh mẽ sử dụng ESP32 thay vì ESP8266. Hãy xem hướng dẫn ESP8266 - Joystick để có một triển khai dễ sử dụng hơn.