Доброго времени суток. в коде полный ноль. имеется шаговый двигатель 28byj-48 c контроллером 2003. Код нашел в одной из тем форума или на просторах, честно не помню. необходимо при нажатии на одну кнопку вращение в одну сторону на вторую кнопку в обратную. с удержанием продление эфекта. Повторил, но адекватно не работает а в чем причина понять не могу. двигатель верно работает в одну сторону и почти не вращается в противоположную, рывки и несколько шагов в правильную сторону . и пришлость пины переставить не попорядку. in1-10,in-12. in3-9, in4-11.
#include <Stepper.h>
#define STEPS 3 // Количество шагов
Stepper stepper(STEPS, 9, 10, 11, 12);
// клавиши
int pinButtons1={4,7};
int lastButtons1={0,0};
int currentButtons1={0,0};
int countButtons1=2;
void setup()
{
stepper.setSpeed(500);
}
void loop()
{
// проверка нажатия кнопок
for(int i=0;i<countButtons1;i++)
{
currentButtons1[i] = debounce(lastButtons1[i],pinButtons1[i]);
if (lastButtons1[i] == 0 && currentButtons1[i] == 1)
// если нажатие…
{
if(i==0)
stepper.step(10<em>STEPS);
else
stepper.step(-10</em>STEPS);
}
lastButtons1[i] = currentButtons1[i];
}
}
// Функция сглаживания дребезга
int debounce(int last,int pin1)
{
int current = digitalRead(pin1); // Считать состояние кнопки
if (last != current) // если изменилось…
{
delay(5); // ждем 5 м с
current = digitalRead(pin1); // считываем состояние кнопки
return current; // возвращаем состояние кнопки
}
else
{
return last;
}
}
ну поязвили мне поязвил я, мне естественно нужен человек разбирающийся. но без синдрома бога. в больнице, в автосервисе, да везде вроди так не общются…
Код не бывает верен или не верен сам по себе, без учёта того, что и как он должен делать.
Иногда это можно понять и самого кода, но не в Вашем случае. Ваши строки №№ 5, 6, 7, 18, 19, 23, 25 и 27 понять невозможно, т.к. в них написан бессмысленный бред сивой кобылы.
Или Вы приложили не тот код, который запускали, или процитированная фраза – “типичный случай так-называемого вранья”, т.к. выложенный Вам код не может работать ни правильно, ни неправильно – он просто не компилируется.
код не я писал, запускал на ардуино нано. ведет себя не коректно, при нажатии на одну кнопку вращается как и задумано, при коротком нажатии немного при длительном дольше, при нажатии на вторую кнопку мотор циклично дергается влево и вправо
вы даже скопировать его как следует не сумели, строчки 5, 6 и 7 переврали, а в строчках 23 и 25 местами HTML вместо кода С++. Возможно и в других местах накосячили.
Начните с того, что скопируйте код точно, не теряя символов