Здравствуйте. Имею серву постоянного вращения mg995 При команде повернуться на 90 градусов - сербо начинает крутится постоянно и не останавливается пока не получит команду servo.write(0). Как управлять этой сервой чтобы она поворачивалась столько сколько я ей скомандую? Код (C++): #include <Servo.h> #include <OneButton.h> Servo servo; // Создаем объект OneButton goB(10, true); OneButton stopB(9, true); void goM(){ servo.write(90); } void stopM(){ servo.write(0); } void setup() { servo.attach(2,800,2200); goB.attachClick(goM); stopB.attachClick(stopM); } void loop() { stopB.tick(); goB.tick(); }
Felix102 - вы слишком намудрили в коде. Подозреваю, что ваш класс OneButton непрерывно шлет команду серве. Почему бы для начала не выкинуть из кода все лишнее - все эти баттоны и клики - и не поставить в Сетап просто две команды - servo.write(90) и servo.write(0) - проверить, как они будут работать?
Так пробую и все равно без остановки крутится. Код (C++): #include <Servo.h> Servo servo; void setup() { servo.attach(2); servo.write(0); delay(3000); servo.write(1); } void loop() { }