ARDUINO шаговый двиготель

fenix99

✩✩✩✩✩✩✩
13 Апр 2022
1
0
Заголовок темы должен отражать содержимое. Исправь или тема будет удалена
люди помогите нужен простенький скетч чтоб шаговый двигатель вращался постоянно но менял направления по клику кнопки без фиксации я отблагодарю человека который мне поможет решить эту проблему
 

bort707

★★★★★★✩
21 Сен 2020
3,066
914
if (кнопка нажата) Направление = ! Направление;

работу с кнопкой и мотором можете посмотреть в библиотеках GyverButton и GyverStepper
 
  • Лойс +1
Реакции: ShadeDark

viktor1703

★★★✩✩✩✩
9 Дек 2021
619
148
@fenix99, пример от из описания библиотеки (без кнопки, но это не трудно доработать)
C++:
// крутим мотор туда-сюда плавно с ускорением
#include <GyverStepper.h>
GStepper<STEPPER4WIRE> stepper(2048, 5, 3, 4, 2);
// мотор с драйвером ULN2003 подключается по порядку пинов, но крайние нужно поменять местами
// то есть у меня подключено D2-IN1, D3-IN2, D4-IN3, D5-IN4, но в программе поменял 5 и 2
void setup() {
  Serial.begin(115200);
  // режим следования к целевй позиции
  stepper.setRunMode(FOLLOW_POS);
  // установка макс. скорости в шагах/сек
  stepper.setMaxSpeed(400);
  // установка ускорения в шагах/сек/сек
  stepper.setAcceleration(500);
}
void loop() {
  // просто крутим туды-сюды
  if (!stepper.tick()) {
    static bool dir;
    dir = !dir;
    stepper.setTarget(dir ? -400 : 400);
  }
  // график положения
  static uint32_t tmr2;
  if (millis() - tmr2 > 20) {
    tmr2 = millis();
    Serial.println(stepper.getCurrent());
  }
}