Официальный сайт компании Arduino по адресу arduino.cc
Включение ШД по нажатию кнопки
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Здравствуйте
Помогите пожалуйста новичку рразобраться. Задача такая чтобы шаговый двигатель включался по нажатию кнопки и отключался по так же по нажатию кнопки. В процессе написание понял что самому не разобраться.
Вот код, как заставить его работать? Верно ли я мыслю или нет?
#include <Stepper.h>
const int stepsPerRevolution = 300;// change this to fit the number of steps per revolution
const int BUTTON = 2; // for your motor
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean motorOn = false;
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
pinMode (BUTTON, INPUT);
}
boolean debounce (boolean last)
{
boolean current = digitalRead (BUTTON);
if (last != current)
{
delay (5);
current = digitalRead(BUTTON);
return current;
}
{
myStepper.setSpeed(640);
// initialize the serial port:
Serial.begin(9600);
}
}
void loop() {
currentButton = debounce (lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
motorOn =! motorOn;
}
lastButton = currentButton;
myStepper.step(stepsPerRevolution);
delay(0);
}
нажали кнопку - поставили флаг, ещё раз нажали - опустили.
при поднятом флаге шаговик работает, при опущенном стоит.