6400浏览
查看: 6400|回复: 1

[求助] 红外线控制舵机,舵机在反方向一直运动

[复制链接]
附上代码
  1. //这段代码来自IRremote库中examples中的 IRrecvDemo
  2. #include <IRremote.h>          //调用IRremote.h库
  3. int RECV_PIN = 12;             //定义RECV_PIN变量为12
  4. IRrecv irrecv(RECV_PIN);       //设置RECV_PIN(也就是12引脚)为红外接收端
  5. decode_results results;        //定义results变量为红外结果存放位置
  6. int ledPin=11;
  7. boolean ledState = LOW;
  8. #include <Servo.h>    // 声明调用Servo.h库
  9. Servo myservo;        // 创建一个舵机对象
  10. int pos = 0;          // 变量pos用来存储舵机位置
  11. void setup(){
  12.      Serial.begin(9600);          //串口波特率设为9600
  13.      irrecv.enableIRIn();         //启动红外解码
  14.      
  15.      pinMode(ledPin,OUTPUT);
  16.      myservo.attach(10);  // 将引脚10上的舵机与声明的舵机对象连接起来
  17. }
  18. void loop() {
  19.      //是否接收到解码数据,把接收到的数据存储在变量results中
  20.      if (irrecv.decode(&results)) {  
  21.             //接收到的数据以16进制的方式在串口输出
  22.             Serial.println(results.value, HEX);
  23.             //switch方法  
  24.          int sensorValue =  results.value;
  25.           switch(sensorValue){
  26.            case 0XFD08F7:
  27.            ledState = HIGH;
  28.            digitalWrite(ledPin,ledState);    //改变LED相应状态
  29.            for(pos = 1; pos < 180; pos += 1){    // 舵机从0°转到180°,每次增加1°         
  30.             myservo.write(pos);           // 给舵机写入角度   
  31.             delay(15);                    // 延时15ms让舵机转到指定位置
  32.            }
  33.            break;
  34.            
  35.             case 0XFD8877:
  36.             ledState = LOW;
  37.            digitalWrite(ledPin,ledState);    //改变LED相应状态
  38.             for(pos = 180; pos>=1; pos-=1) {    // 舵机从180°转回到0°,每次减小1°                              
  39.              myservo.write(pos);        // 写角度到舵机     
  40.              delay(15);                 // 延时15ms让舵机转到指定位置
  41.             }
  42.            break;
  43.            
  44.           }     
  45.             irrecv.resume();  // 继续等待接收下一组信号
  46.       }
  47. }
复制代码
再按一次1又恢复了原样,但是按2还是老样子,是不是代码有问题,求解



luna  初级技神

发表于 2015-8-21 11:53:03

你好,如果有技术问题你可以加DFRobot -Arduino的qq群(150455368)进行咨询,会有技术支持帮你解答,谢谢你的关注。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail