Arduino Nano:управление двумя шаговыми двигателями с помощью джойстика
Компоненты и расходные материалы
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 2 | ||||
| × | 2 |
Приложения и онлайн-сервисы
![]() |
| |||
![]() |
|
Об этом проекте
При сборке Arduino проекты с шаговыми двигателями , например ЧПУ машина, плоттер или Анимированные изображения , наступает момент, когда нужно управлять шаговыми двигателями вручную. Аналоговые джойстики дешевые и простые модули для ручного управления, с регулируемой скоростью. Они кажутся хорошим выбором для управления шаговыми двигателями . . Решение проблемы с помощью традиционной Arduino однако код не является тривиальным.
В этом руководстве я покажу вам, как легко запрограммировать Arduino Nano . с Visuino для управления 2 шаговыми двигателями с помощью джойстика .
Шаг 1. Компоненты


- Один Arduino совместимая плата (я использую Arduino Nano, потому что она у меня есть, но подойдет и любая другая)
- Один джойстик что я получил из этого дешевого набора из 37 датчиков.
- Два шаговых двигателя 5 В с платами драйверов (Я использовал шаговый двигатель 28BYJ-48 с платой драйвера ULN2003)
- Один блок питания макетной платы K2 с адаптером ( Рисунок 2 ) или другой источник питания 5 В для шаговых двигателей.
- Женщина, 17 лет перемычки
Шаг 2. Подключите питание и заземлите шаговые двигатели






- Подключите заземление ( Черный провод ) и Мощность ( Красный провод ) к каждому из модулей шагового драйвера ( Изображение 1 )
- Подключите другое заземление ( Черный провод ) на Землю контакт Arduino доска ( Изображение 2 )
- Подключите другой конец питания ( Красные провода ) из модулей драйвера двигателя к "" Мощность контакты источника питания K2 ( Рисунки 3 и 4 )
- Подключите другой конец заземления . ( Черные провода ) из модулей драйвера двигателя и Arduino в " - " Земля контакты источника питания K2 ( Рисунки 3 и 4 )
- Убедитесь, что переключатель выбора мощности блока питания K2 установлено на 5В ( Изображение 5 )
- Изображение 6 показывает, где находится Земля штифт Arduino Nano
Шаг 3. Подключите шаговые двигатели к Arduino




- Подключите разъемы шагового двигателя к платам драйверов, если они еще не подключены.
- Подключите один конец перемычек мама-мама . ( Синий, зеленый, желтый и оранжевый провода ) к контактам IN1 - IN4 шагового драйвера для первого двигателя ( Изображение 1 )
- Подключите один конец перемычек мама-мама . ( Синий, зеленый, желтый и оранжевый провода ) к контактам IN1 - IN4 шагового драйвера для второго двигателя ( Изображение 1 )
- Подключите провод IN1 от Первого двигателя ( Синий провод ) к цифровому контакту 2 из Arduino доска ( Изображение 2 )
- Подключите провод IN2 от Первого двигателя ( Зеленый провод ) к цифровому контакту 3 из Arduino доска ( Изображение 2 )
- Подключите провод IN3 от Первого двигателя ( Желтый провод ) к цифровому контакту 4 из Arduino доска ( Изображение 2 )
- Подключите провод IN4 от Первого двигателя ( Оранжевый провод ) к цифровому контакту 5 из Arduino доска ( Изображение 2 )
- Подключите провод IN1 от второго двигателя ( Синий провод ) к цифровому контакту 6 из Arduino доска ( Изображение 3 )
- Подключите провод IN2 от второго двигателя ( Зеленый провод ) к цифровому контакту 7 из Arduino доска ( Изображение 3 )
- Подключите провод IN3 от второго двигателя ( Желтый провод ) к цифровому контакту 8 из Arduino доска ( Изображение 3 )
- Подключите провод IN4 от второго двигателя ( Оранжевый провод ) к цифровому контакту 9 из Arduino доска ( Изображение 3 )
- Изображение 4 отображается в красном где находятся Цифровые 2 - Цифровые 9 контакты Arduino Nano. Синим цветом показано соединение, выполненное на предыдущем шаге.
Шаг 4. Подключите джойстик к Arduino




- Соедините женщина-женщина провода к земле ( Черный провод ), Мощность ( Красный провод ), VRx ( Фиолетовый провод ) и VRy ( Серый провод ) на джойстике как показано на рисунке 1
- Подключите провод заземления . ( Черный провод ) на землю контакт Arduino доска ( Изображение 2 )
- Подключите провод питания . ( Красный провод ) на 5 В Вывод питания Arduino ( Изображение 2 )
- Подключите провод VRx ( Коричневый провод ) Аналог 1 контакт Arduino доска ( Изображение 3 )
- Подключите провод VRy ( Серый провод ) Аналог 0 контакт Arduino доска ( Изображение 3 )
- Изображение 4 отображается в красном где находятся Земля , 5 В Мощность, Аналоговый 0 и Аналоговый 1 контакты Arduino Nano. Синим цветом показано соединение, выполненное на предыдущих шагах.
Шаг 5:Запустите Visuino и выберите тип платы Arduino


Чтобы начать программировать Arduino, вам понадобится Arduino IDE . устанавливается отсюда:http://www.arduino.cc/.
Убедитесь, что вы установили 1.6.7 более поздней версии, иначе это руководство не будет работать!
Visuino :https://www.visuino.com также необходимо установить.
- Запустите Visuino как показано на первом рисунке
- Нажмите " Инструменты . "на компоненте Arduino ( Изображение 1 ) в Visuino
- В открывшемся диалоговом окне выберите Arduino Nano . как показано на рисунке 2
Шаг 6. В Visuino:добавьте и подключите компоненты шагового двигателя



Сначала нам нужно добавить компоненты для управления шаговыми двигателями:
- Введите " шаг . "в поле" Фильтр "на панели инструментов компонентов, затем выберите" 4-проводный шаговый двигатель "компонент ( Изображение 1 ) и отбросьте два из них это в области дизайна
- Щелкните в строке " Out ". " поле содержащий контакты Stepper1 компонент, чтобы начать соединение всех выводов Out сразу ( Рисунок 2 )
- Наведите указатель мыши на " Цифровой "входной контакт" Цифровой [2] "канал Arduino компонент. Visuino автоматически разложит провода, чтобы они правильно подключились к остальным контактам ( Изображение 2 )
- Щелкните в строке " Out ". " поле содержащий контакты Stepper2 компонент, чтобы начать одновременное подключение всех выводов Out ( Рисунок 3 )
- Наведите указатель мыши на " Цифровой "входной контакт" Цифровой [6] "канал Arduino компонент. Visuino автоматически разложит провода, чтобы они правильно подключились к остальным контактам ( Изображение 3 )
Шаг 7. В Visuino:установите свойства компонента «Шаговый двигатель» и добавьте контакты для управления скоростью




Поскольку мы хотим контролировать скорость степперов, нам нужно добавить контакты к свойству «Шагов в секунду»:
- Выберите Stepper1 компонент ( Изображение 1 )
- В инспекторе объектов установите значение « шагов в секунду . "свойство" 0 "( Изображение 1 )
- В Инспекторе объектов нажмите Пин . кнопка перед полем " шагов в секунду "свойство и выберите" Float SinkPin "( Изображение 2 )
- Выберите Stepper2 компонент ( рисунок 3 )
- В инспекторе объектов установите значение « шагов в секунду . "свойство" 0 "( Изображение 3 )
- В Инспекторе объектов нажмите Пин . кнопка перед полем " шагов в секунду "свойство и выберите" Float SinkPin "( Изображение 4 )
Шаг 8. В Visuino:добавьте и подключите аналоговые компоненты со шкалой мертвой зоны





Аналоговые выводы, к которым подключен джойстик, генерируют нормализованные значения от 0,0 до 1,0. Нам нужно преобразовать их в +/- 300 шагов в секунду. Поскольку джойстик не очень точен в центральном положении, мы хотим, чтобы небольшая зона вокруг центра считалась 0,5, поэтому нам нужно ввести «мертвую зону»:
- Введите " зона . "в поле" Фильтр "на панели инструментов компонентов, затем выберите" Аналоговый масштаб мертвой зоны "компонент ( Изображение 1 ) и отбросьте два из них это в области дизайна
- Подключите " Выход "выходной контакт DeadZoneScaled1 компонент " StepsPerSecond "входной контакт Stepper1 компонент ( рисунок 2 )
- Подключите " Выход "выходной контакт" Цифровой [14] / Аналоговый [0] "канал Arduino компонент " In "входной контакт DeadZoneScaled1 компонент ( рисунок 3 )
- Подключите " Выход "выходной контакт DeadZoneScaled2 компонент " StepsPerSecond "входной контакт Stepper2 компонент ( рисунок 4 )
- Подключите " Выход "выходной контакт" Цифровой [15] / Аналоговый [1] "канал Arduino компонент " In "входной контакт DeadZoneScaled2 компонент ( рисунок 5 )
Шаг 9. В Visuino:настройте свойства компонентов аналогового масштабирования мертвой зоны




- В области дизайна выберите DeadZoneScaled1 компонент ( Изображение 1 )
- В инспекторе объектов разверните " Диапазон вывода ". "свойство ( Изображение 1 )
- В Инспекторе объектов установите значение " Макс "вложенное свойство" Диапазон вывода "свойство" 300 "( Изображение 1 )
- В Инспекторе объектов установите значение " Мин "вложенное свойство" Диапазон вывода "свойство" -300 "( Изображение 2 )
- В области дизайна выберите DeadZoneScaled2 . компонент ( рисунок 3 )
- В инспекторе объектов разверните " Диапазон вывода ". "свойство ( Изображение 3 )
- В Инспекторе объектов установите значение " Макс "вложенное свойство" Диапазон вывода "свойство" 300 "( Изображение 3 )
- В Инспекторе объектов установите значение " Мин "вложенное свойство" Диапазон вывода "свойство" -300 "( Изображение 4 )
Шаг 10. Сгенерируйте, скомпилируйте и загрузите код Arduino


- В Visuino , Нажмите F9 или нажмите кнопку, показанную на Рисунке 1 для генерации кода Arduino и открытия IDE Arduino
- В Arduino IDE , нажмите Загрузить кнопку, чтобы скомпилировать и загрузить код ( Изображение 2 )
Шаг 11:И играем ...


Поздравляем! Вы завершили проект.
Изображение 1 и видео показать подключенный и включенный проект.
Вы можете управлять шаговыми двигателями с помощью джойстика как показано на видео . Перемещение джойстика вверх и Вниз будет контролировать Вперед и Назад вращение одного из степперов . Перемещение джойстика влево и справа будет управлять другим шаговым двигателем .
На изображении 2 вы можете увидеть полную версию Visuino диаграмма.
Также прилагается Visuino проект, который я создал для этого учебника. Вы можете скачать и открыть его в Visuino . :https://www.visuino.com
FQM7EG7IPOA2W5T.zip
Производственный процесс
- Управление монетоприемником с помощью Arduino
- Arduino с Bluetooth для управления светодиодом!
- Определение здоровья растений с помощью TinyML
- Портативный счетчик Гейгера с Arduino Nano
- ThimbleKrox - управление мышью пальцами
- Джойстик Arduino
- Управляйте тараканом с помощью Arduino менее чем за 30 долларов
- Управление автомобилем с помощью Arduino Uno и Bluetooth
- Управление манипулятором Arduino с помощью приложения для Android
- 4-контактный ШИМ-контроль вентилятора, 25 кГц, с Arduino Uno