"Дребезг" мотора, не оптимальный код
- Войдите на сайт для отправки комментариев
Втр, 19/04/2016 - 21:46
Здравствуйте. Помогите разобраться пожалуйста.
Создаю нечто вроде линейного привода. Кнопка управления реверсом+стоповые концевики с двух сторон. Включил (подал питание на ард) - каретка дошла до концевика - отключение - переключил кнопкой реверс - и т.д.
Написал скетч, но при переключении реверса двигатель дергается. Я так понимаю неувязка delay+switch. Подскажите пожалуйста как оптимизировать код.
int IN1 = 8; // к 293d
int IN2 = 7;
int switchButn = 3;// кнопка реверса
int sw1 = 4;// концевики
int sw2 = 5;
void setup()
{
pinMode (IN2, OUTPUT);
pinMode (IN1, OUTPUT);
pinMode (switchButn,INPUT);
pinMode (sw1,INPUT);
pinMode (sw2,INPUT);
}
void loop()
{
if(digitalRead(switchButn)==HIGH){
digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
switch (digitalRead(sw1)==HIGH) {
case HIGH:
digitalWrite (IN2, LOW);// код для выполнения
digitalWrite (IN1, LOW);
break;
}
}
else {
digitalWrite (IN2, LOW);
delay(500);
digitalWrite (IN1, HIGH);
switch (digitalRead(sw2)==HIGH) {
case HIGH:
digitalWrite (IN2, LOW);// код для выполнения
digitalWrite (IN1, LOW);
break;
}
}
}
что за мотор то? вообще моторы дергаются при запуске )
и вообще на вскидку смотря на это все, странно как то... пару строк а желаний больше
может ДРЕБЕЗГ подшипников?