"Дребезг" мотора, не оптимальный код
- Войдите на сайт для отправки комментариев
Втр, 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; } } }
что за мотор то? вообще моторы дергаются при запуске )
и вообще на вскидку смотря на это все, странно как то... пару строк а желаний больше
может ДРЕБЕЗГ подшипников?