управление сервоприводом с кнопки
- Войдите на сайт для отправки комментариев
Сб, 04/02/2017 - 13:46
можно ли зделать так чтобы при нажатии кнопки серва поворачиволась на 15 градусов
а когда отпускаешь возврошалась назад
подскажите пожалуйста
Да. Можно. В цикле loop проверяйте состояние кнопки. http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku Во втором скече есть включение - отключение светодиода. Вместо него вставте команды управлением положением сервы отсюда http://arduino.ru/forum/obshchii/prezhde-chem-sprosit-pro-servomashinku-...
можно 6 пин - кнопка на GND , 7 пин - управление сервой.
#define POS_0 0 #define POS_1 20 uint8_t pos; void setup(){ pinMode(7, OUTPUT); pinMode(6, INPUT); digitalWrite(6, HIGH); pos = POS_0; } void loop(){ if(digitalRead(6) == LOW && pos != POS_1){ analogWrite(7, POS_1); pos = POS_1; } if(digitalRead(6) == HIGH && pos !=POS_0){ analogWrite(7,POS_0); pos = POS_0; } }analogWrite(7, POS_1);
Этой командой нельзя управлять сервой. Нет, конечно при определённых условиях даже как то сработает, но будут не контролируемые проблемы. Это PWM. Серво управляется другой алгоритм формирования импульсов. В первoм приближении можно вот такой процедурой
void writeToServo(uint8_t pin, uint16_t pos){ digitalWrite(pin, HIGH); delayMicroseconds(pos); // Выжидаем длину импульса digitalWrite(pin, LOW); delay(20); }Ну сервы разные бывают.
можно ли зделать так чтобы при нажатии кнопки серва поворачиволась на 15 градусов
Можно, только делайте быстрее, а то придёт Клапауций и запретит.
Скетч здесь https://yadi.sk/d/UfwvGmLp3CsezS
Главный файл выкладываю
спасибо большое
вы очень помогли