Управление двумя шаговыми двигателями через джойстик на Arduino Nano — простой урок (Visuino)
Компоненты и материалы
- Arduino Nano R3 — 1 шт.
- Аналоговый джойстик — 1 шт.
- Шаговые двигатели 28BYJ-48 (5В) — 2 шт.
- Драйверы ULN2003 — 2 шт.
- Блок питания 5В (K2 Breadboard power supply) — 1 шт.
- Перемыжки Female-Female — 17 шт.
Программное обеспечение и онлайн-сервисы
- Visuino — графическая среда разработки для Arduino
- Arduino IDE
О проекте
При создании ЧПУ, плоттеров или кинетического искусства часто нужен ручной контроль шаговых двигателей. Аналоговый джойстик — дешевый и удобный способ задать переменную скорость. Традиционный код на Arduino сложен, но с Visuino это становится очень простым.
В этом уроке показано, как запрограммировать Arduino Nano в Visuino для управления 2 шаговыми двигателями джойстиком.
Шаг 1: Компоненты

Шаг 2: Питание и земля для драйверов
Подключите землю (черный) и питание (красный) к каждому драйверу ULN2003. Общую землю соедините с GND Arduino. Питание драйверов — от внешнего 5В блока (K2), переключатель на 5В. Arduino питается отдельно (USB).

Шаг 3: Подключение шаговых двигателей к Arduino
Двигатель 1 (IN1–IN4) → пины D2–D5. Двигатель 2 (IN1–IN4) → пины D6–D9. Соединитеleurs двигателей с драйверами.

Шаг 4: Подключение джойстика
GND → GND, VCC → 5V, VRx → A1, VRy → A0.

Шаг 5: Запуск Visuino и выбор платы
Установите Arduino IDE (≥1.6.7) и Visuino (visuino.com). В Visuino: Tools → Arduino Nano.
Шаг 6: Добавление компонентов шаговых двигателей
В Component Toolbox найдите «4 Wire Stepper Motor», добавьте два экземпляра. Соедините их выходы (Out) с цифровыми пинами: Stepper1 → D2–D5, Stepper2 → D6–D9 (Visuino автоматически распределяет провода).
Шаг 7: Настройка свойств и добавление пинов управления скоростью
Для каждого Stepper: Steps Per Second = 0, добавьте Float SinkPin к этому свойству (для внешнего управления скоростью).
Шаг 8: Добавление компонентов «Dead Zone Scaled Analog»
Добавьте два компонента Dead Zone Scaled Analog. Соедините: Analog[0] (A0) → DeadZoneScaled1 → StepsPerSecond Stepper1. Analog[1] (A1) → DeadZoneScaled2 → StepsPerSecond Stepper2.
Шаг 9: Настройка Dead Zone Scaled Analog
Для обоих компонентов: Output Range Min = -300, Max = 300. Это дает диапазон скорости ±300 шагов/сек. Мертвая зона вокруг центра (0.5) убирает дребезг джойстика в нуле.
Шаг 10: Генерация, компиляция и загрузка
В Visuino нажмите F9 → откроется Arduino IDE → загрузите в плату.
Шаг 11: Играем!
Джойстик вверх/вниз → вращение первого двигателя вперед/назад. Влево/вправо → второй двигатель. Готовый проект Visuino прикреплен (FQM7EG7IPOA2W5T.zip).

Производственный процесс
- Умная копилка: управление монетоприёмником на Arduino Nano
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Оценка здоровья растений с TinyML: Практическое руководство
- Ручной дозиметр (Гейгер-счетчик) на Arduino Nano: сборка в 3D-корпусе
- ThimbleKrox: управление мышью с пальца на Arduino Micro и MPU-6050
- Своё рулевое управление (джойстик) для игр на Arduino
- DIY-система управления тараканом на Arduino — сборка за $30
- Удалённое управление автомобилем на Arduino Uno и Bluetooth: пошаговое руководство
- Управление манипулятором LittleArm через Android-приложение по Bluetooth
- Управление 4-пиновым PWM-вентилятором 25 кГц на Arduino Uno — Сборка, код и тесты