|
|
用红外遥控做项目,打算做成一按遥控上的一个键,舵机持续正向运转,再按另一个键,舵机持续反向运转,但是现在按一次,它只转一下,并非持续转,求助
- #include <IRremote.h>
- int RECV_PIN = A0;
- #include <Servo.h>
- Servo myservo1;
- int i = 90;
- int a;
- long LED1A = 0xE318261B;
- long LED1B = 0x511DBB;
- long LED2A = 0xEE886D7F;
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- void setup()
- {
- pinMode(RECV_PIN, INPUT);
- myservo1.attach(3); //IO输出
- Serial.begin(9600);
- irrecv.enableIRIn();
- }
- void loop()
- {
- if (irrecv.decode(&results))
- {
- Serial.println(results.value, HEX);//以16进制换行输出接收代码
- Serial.println();//为了便于观看输出结果增加一个空
- {irrecv.resume();
- delay(5);}
- // 接收下一个值}
- if (results.value == LED1A )
-
- {
- a=i;
- a+=5;
- myservo1.write(a);
- i=a;
- }
- if (results.value == LED1B )
-
- {
- a=i;
- a-=5;
- myservo1.write(a);
- i=a;
- }
- }
- delay(5);
- }
复制代码 |
|