zhuoyan125 发表于 2013-7-11 16:26:11

求助,红外和电机冲突


本人尝试使用红外遥控控制小车,但启动红外解码,电机就不能动了,屏蔽红外解码,电机正常使用。求指教。是有什么冲突了吗?
#include <IRremote.h>// 使用IRRemote函数库
#include <AFMotor.h>

AF_DCMotor lrmotor(1, MOTOR12_64KHZ); //create motor #1, 2KHz pwm
AF_DCMotor gbmotor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
const int irReceiverPin = 3;    // 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results;    // 定义results变量为红外结果存放位置

void setup() {
Serial.begin(9600);         // set up Serial library at 9600 bps
Serial.println("HM car GO!");
irrecv.enableIRIn();   // 启动红外解码
lrmotor.setSpeed(100);
gbmotor.setSpeed(200);   // set the speed to 200/255
}
void loop() {
if (irrecv.decode(&results)) {   // 解码成功,把数据放入results变量中
   switch (results.value)
    {
      case 0xff30cf:
       {
         Serial.print("FORWARD ");
         gbmotor.run(FORWARD);
         break;
       }
      case 0xff18e7:
       {         
          Serial.println("BACKWARD");
          gbmotor.run(BACKWARD);   
          break;
       }
       case 0x000000:
       {
          Serial.println("Turn Left");
          lrmotor.run(FORWARD);
          break;
       }
       case 0x111111:
       {
          Serial.println("Turn Right");
          lrmotor.run(BACKWARD);
          break;
       }
    }
    irrecv.resume();    // 继续等待接收下一组信号
}
delay(10); //延时600毫秒,做一个简单的消抖
}

林定祥 发表于 2013-7-11 17:01:00

是否那个delay搞坏了.键盘周期600ms,驱动周期2Khz,64Khz是否这两个有冲突.

zhuoyan125 发表于 2013-7-11 23:27:15

林定祥 发表于 2013-7-11 17:01 static/image/common/back.gif
是否那个delay搞坏了.键盘周期600ms,驱动周期2Khz,64Khz是否这两个有冲突.

不是哦,问题是有这句irrecv.enableIRIn();   // 启动红外解码
电机就没有反应能接受红外信号。没有这句电机就能动的。

zhuoyan125 发表于 2013-7-14 14:55:28

等高手指点

zhuoyan125 发表于 2013-7-15 12:34:16

:L:L:L:L:L:L:L没有人知道吗??????

活着就是幸福 发表于 2013-9-17 19:59:07

我也遇到这个问题,不知道怎么回事
而且舵机的控制也是一样的问题
不知道为什么

wyd1520 发表于 2013-9-17 22:52:42

先查一下电机的引脚是不是与红外的引脚在同一个引脚上。。。

sleept 发表于 2013-9-18 02:22:37

还有检查一下是否有外部供电。最好有。

Damn_intuition 发表于 2013-10-27 15:52:36

红外发射接口默认要用第三个PIN,
* An IR LED must be connected to the output PWM pin 3.
页: [1]
查看完整版本: 求助,红外和电机冲突