2 кнопки и никак не разберусь
- Войдите на сайт для отправки комментариев
Сб, 16/02/2013 - 20:41
Вот код проблема в том когда работают параметры одного из if значение постоянно увеличивается или уменьшается а нужно чтоб оно это делало всего на 1 единицу а не постоянно
#include <Servo.h> Servo servaProverka;// серва передача Servo servaMost1; //перед Servo servaMost2;// зад int PPMin = 2; // сигнал 3 канал int servoPin = 10; int servoPin2 = 11; int ledPin5 = 5;// серва центр int ledPin6 = 6;// серва зад int ledPin7 = 7;// серва перед int ledPin8 = 8;// габариты int ledPin9 = 9; // кенгуру int RCval; // длительность импульса int val; // назначает что значение должно быть 0-255 ////////////////////////// boolean lastButton = 1; // свет 1 boolean ledOn = 0; boolean lastButton2 = 1; // свет 2 boolean ledOn2 = 0; boolean lastButton3 = 1; // серва1 boolean ledOn3 = 0; boolean lastButton4 = 1; // серва2 boolean ledOn4 = 0; boolean lastButton5 = 1; // серва3 boolean ledOn5 = 0; ////////////////////////// int pic = 0; int pic2 = 0; int pic3 =0; void setup() { Serial.begin(9600); //serial library start servaProverka.attach(servoPin); servaMost1.attach(servoPin2); pinMode(ledPin5, OUTPUT); pinMode(ledPin6, OUTPUT); pinMode(ledPin7, OUTPUT); pinMode(ledPin8, OUTPUT); pinMode(ledPin9, OUTPUT); pinMode(PPMin, INPUT); //газ } void loop() { RCval = pulseIn(PPMin, HIGH, 20000); //руль // val = map(RCval, 1080, 1880, 0, 255); // if((RCval>100)&(RCval<1400)) {++pic;} if((RCval>1520)&(RCval<2000)) {--pic;} //int pic = pic2+pic3; Serial.println (pic); Serial.println(RCval); delay(300); }
вроде не сложно но такое ощущение что на шаре стою. У меня постоянно или уменьшается или увеличивается на 1 единицу. А мне нужно чтоб например я нажал и держал а увеличилось ил и уменьшилось только только на 1 единицу
И не путайте логический оператор "И" - && и битовый оператор "И" - &.
Спасибо только не до конца меня поняли или я не правильно описал проблему. Немного облегчил себе задачу. Получается нажали1 кнопку и держим у нас -1. Отпустили 0. Нажали вторую у нас 1, отпустили 1 осталось. Как к этой единице еще 1 прибавить при повторном нажатии чтоб было 2 ???
Спасибо только не до конца меня поняли или я не правильно описал проблему. Немного облегчил себе задачу. Получается нажали1 кнопку и держим у нас -1. Отпустили 0. Нажали вторую у нас 1, отпустили 1 осталось. Как к этой единице еще 1 прибавить при повторном нажатии чтоб было 2 ???
Спасибо за помощь проблема решена