Ви не увійшли.
Всех с Наступающим Новым Годом
На данный момент вот что получилось ,есть косяк но... дальше будет
Ребят кто может этот скетч написать за вознаграждение нету времени изучать
Ну, награда или приз рыцарского турнира, обычно, заранее известен. Хотелось бы взглянуть.
Ребят кто может этот скетч написать за вознаграждение нету времени изучать
Подскажите как сделать так чтобы при нажатии на кнопку шаговик делал 3 оборота а при отпускании 3 в обратную сторону
Функцией void step(int number_of_steps); из <Stepper.h>;
Подскажите как сделать так чтобы при нажатии на кнопку шаговик делал 3 оборота а при отпускании 3 в обратную сторону
Гость он же Google никто не отменял ,
продолжение , нужно добавить управление скоростью шаговика с потенциометра
Если бы ты не добился, что г0сть сделал всё за тебя, а делал бы сам по подсказкам, которые тебе давались, то разобрался бы, и этого вопроса бы не было.
Ты же предпочёл, чтобы за тебя сделали, и пофиг, что сам ты нихера не понял, ибо
главное работает как я хотел
А вот теперь молись, чтобы г0сть ещё раз сжалился и подал убогому.
Ну, и думай (если есть чем), что на самом деле главное. Может, поймёшь. Тогда будешь делать сам и задавать конкретные, частные вопросы.
продолжение , нужно добавить управление скоростью шаговика с потенциометра
Тогда с вас пиво,можно в денежном эквиваленте. ?
главное работает как я хотел
,
Может и так. Никто же не знает что вам нужно
используй функцию map
вот так
#include <AccelStepper.h>
AccelStepper Stepper1(1,11,12); //использует пин 12 и 11 для dir и step, 1 - режим "external driver"
int dir = 1; //используется для смены направления
int step = 2; //єто у нас будетшаг (если 1- на 100 двигаем,2-на 200)
int dist = 400; //дистанция
int buttonPin = 2; // номер порта нашей кнопки
int EnblPin = 13; // номер порта ENB
int sensorPin = A0; // аналоговый вывод A0 для потенциометра
int sensorValue = 0; // значение, поступаемое от потенциометра
void setup()
{
Stepper1.setMaxSpeed(6000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
pinMode(13, OUTPUT);}
void loop()
{
if(Stepper1.distanceToGo()==0)
{ //проверка, отработал ли двигатель предыдущее движение
if (step==1) //если біл шаг 2- тогда следующий -1
{
step = 2;
dist = 100;
}
else
{
step = 1;
dist = 200;
}
Stepper1.move(dist*dir);
dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направлени
sensorValue = analogRead(sensorPin); // считываем данные из потенциометра
sensorValue = map(sensorValue, 0, 1023, 0, 80); // распределяем данные из интервала 0-1023 в интервал 0-255
delay(sensorValue); //задержка на 1 секунду
}
Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя
{
if(digitalRead(2)==HIGH)//если кнопка нажата ...
{
digitalWrite(13,HIGH);//включаем светодиод
}
else//если не нажата...
{
digitalWrite(13,LOW);//выключаем
}
}
}
используй функцию map
Продолжим , а как с потенциометра управлять delay ,