大笨熊 发表于 2013-8-16 09:10:14

为什么启动红外解码后(L293D)只有一个直流电机接口(M3)可以正常转动?

用红外线控制小车运动 接收位于9端;
#include <AFMotor.h>
#include<Servo.h>
#include <IRremote.h>
//IR

const int irReceiverPin = 9;//ir_receive
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results;    // 定义results变量为红外结果存放位置
int RE =0xFF02FD; //An operation on record ;Initialize the "stop";
//SERVO
Servo myservo;//定义舵机变量名

int r = 100;//chushi angle
int TURN_ANGLE= 45;
int current_angle=100;//TODO
//DCMOTOR
AF_DCMotor motor(1);
AF_DCMotor motor2(3);
int Speed = 200;


void setup(){
//IR
Serial.begin(9600);   // 开启串口,波特率为9600
irrecv.enableIRIn();   // 启动红外解码------------------------------------------------------《-------------《------------《就是这里
Serial.println("Motor test!");
myservo.attach(10);
myservo.write(r);
motor.setSpeed(200);
motor2.setSpeed(Speed);
motor.run(RELEASE);
motor2.run(RELEASE);
delay(5000);
}
void loop(){
GO_FORWARD();
LIGHT();
TURN_RIGHT_O();
LIGHT();
GO_FORWARD();
LIGHT();
TURN_LEFT();
LIGHT();
STOP();
LIGHT();
delay(5000);
}//前期基本函数实验,子函数略当把 irrecv.enableIRIn();注释掉的时候,两电机正常工作。没注释掉时只有一个(M3)可以工作,不知道为什么 。。。
同时发现当直流电机接不通接口 会获得不同的解码

幻生幻灭 发表于 2013-8-16 09:45:37

<AFMotor.h>和<IRremote.h>这两个库冲突哦

大笨熊 发表于 2013-8-16 09:50:35

幻生幻灭 发表于 2013-8-16 09:45 static/image/common/back.gif
和这两个库冲突哦

那怎么办啊 ,哥?

幻生幻灭 发表于 2013-8-16 22:15:32

软件定时器冲突导致,你可以尝试修改库。
如果不急,等我周末44吧

幻生幻灭 发表于 2013-8-17 10:55:41

44这个,库在这里下载

https://github.com/leolite/BOXZ/tree/BOXZ/BOXZ/L000%20Library/Arduino/lib/BOXZ

大笨熊 发表于 2013-8-19 10:38:53

幻生幻灭 发表于 2013-8-17 10:55 static/image/common/back.gif
44这个,库在这里下载

https://github.com/leolite/BOXZ/tree/BOXZ/BOXZ/L000%20Library/Arduino/lib/BO ...

非常感谢

幻生幻灭 发表于 2013-8-26 11:07:01

如果好用的话,希望看到作品反馈,例如照片或者视频。

chaqing 发表于 2013-10-24 01:36:55

后来怎么样了
页: [1]
查看完整版本: 为什么启动红外解码后(L293D)只有一个直流电机接口(M3)可以正常转动?