Поворот сервы
- Войдите на сайт для отправки комментариев
Пт, 24/01/2014 - 23:38
Помоги пожалуйста справиться с проблемой . Как должна выглядеть программа для того чтобы при нажатии(удержание) кнопки ,серва поворачивалась , а когда кнопку отпускали серва останавливалась . и так же в обраную сторону ,но уже с использованием другой кнопки . У меня в программе получаеться , что при нажати на кнопку серва поворачиваеться на определенный градус и все .
#include <Servo.h> #include <IRremote.h> unsigned long Value1 = 0xECE16110; unsigned long Value2 = 0xB8FBED4A; unsigned long Value3 = 0x32D390AC; unsigned long Value4 = 0x13D1970; unsigned long Value5 = 0x7EBDC4EA; unsigned long Value6 = 0x37E8B354; int RECV_PIN = 11; //вход ИК приемника IRrecv irrecv(RECV_PIN); decode_results results; Servo sg90; Servo mg995_1; Servo mg995_2; int pos = 0; int var = 0; void setup() { irrecv.enableIRIn(); // включить приемник sg90.attach(3); // серво подключён на цифровой вход pin 10 mg995_1.attach(4); mg995_2.attach(5); } void loop() { if (irrecv.decode(&results)) { irrecv.resume(); } //для 1 сервы if(results.value == Value1){ sg90.attach(5); } else if(results.value == Value4){ sg90.write(5); //for(pos =180; pos>=1; pos-=1) } // { // sg90.write(pos); // delay(15); // } //для сервы 2 else if(results.value == Value2){ mg995_1.attach(10); } else if(results.value == Value5){ mg995_1.write(80); } //для сервы 3 else if(results.value == Value3){ mg995_2.attach(70); } else if(results.value == Value6){ mg995_2.write(160); } }while (var < 100); }
Спасибо , но программа работает только при многократном нажатии а не на удержание кнопки , и серва поворачиваетьсяочень медленно
Спасибо , но программа работает только при многократном нажатии а не на удержание кнопки , и серва поворачиваетьсяочень медленно
Максим, прекращай новичкам помогать.
Значит ваш пульт при удержании кнопки выдает отличный код от первоначального.
Точно! Спасибо большое