Всем привет. Пытаюсь инвертировать вращение через концевики, но это не работает...
И второй вопрос. Когда я вызываю brake() через кнопку, то движок не тормозится, а прерывисто дергается туда сюда. пробовал c disable(), но ничего не изменилось.
Что я делаю не так?
И второй вопрос. Когда я вызываю brake() через кнопку, то движок не тормозится, а прерывисто дергается туда сюда. пробовал c disable(), но ничего не изменилось.
Что я делаю не так?
C++:
// установка скорости потенциометром
#include <GyverStepper.h>
GStepper<STEPPER2WIRE> stepper(200, 54, 55,38);
void setup() {
pinMode(11, INPUT);//жесткая остановка при true, false-вращение
pinMode(3, INPUT_PULLUP); концевик 1
pinMode(14, INPUT_PULLUP); концевик 2
brakemotor = digitalRead(11);
end1 = digitalRead(3);
end2 = digitalRead(14);
stepper.setRunMode(KEEP_SPEED); // режим поддержания скорости
stepper.setSpeedDeg(50); // в градусах/сек
}
void loop() {
stepper.tick();
// сделаем таймер на 50 мс и будем опрашивать потенциометр
// менять скорость чаще нет смысла
static uint32_t tmr2;
if (millis() - tmr2 > 50) {
tmr2 = millis();
stepper.setSpeed(analogRead(14));
}
if(end1==true){
stepper.reverse(true);
}
if(end2==true){
stepper.reverse(false);
}
if(brakemotor==true){
stepper.brake();
}
}