Arduino Uno · pinport
готово
⋮

Arduino Uno: шаговый двигатель без библиотеки

Полношаговая последовательность на четырёх выводах: две обмотки под током одновременно. Скорость ограничена паузой между шагами.

Что на схеме

Плата Arduino Uno, к ней подключены:

  • Шаговый двигатель — st1

Задействованы выводы платы: D8, D9, D10, D11. Всего соединений на схеме: 4.

Библиотеки

Дополнительных библиотек не нужно: всё делается ядром Arduino AVR, которое уже стоит в сборочном окружении.

Как это устроено в коде

Основное, чем пользуется скетч:

  • digitalWrite() — выставляет на выводе высокий или низкий уровень
  • pinMode() — назначает выводу режим: выход, вход или вход с подтяжкой
  • delay() — пауза, на время которой ядро занято ожиданием

В скетче 31 строка; свои функции: step(). Сам скетч открыт на соседней вкладке — его можно менять и запускать заново.

Что попробовать изменить

  • Замените delay() на счёт по millis() — и loop() освободится для всего остального, что должно происходить одновременно.
  • Перенесите деталь на другой вывод — на схеме и в коде — и убедитесь, что пример работает так же.
  • Нажмите «Форкнуть»: копия станет вашим проектом, и в ней можно менять что угодно.

Смотрите также

← Все примеры галереи

Схема
Проект из галереи — запускать можно, менять нельзя.

      
Сборка ещё не запускалась.

    Печатайте в Serial числа — они станут графиком. Serial.println(t); — один ряд, Serial.printf("t:%.1f h:%.1f\n", t, h); — два с подписями. Формат тот же, что понимает плоттер Arduino IDE.