为什么启动红外解码后(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)可以工作,不知道为什么 。。。
同时发现当直流电机接不通接口 会获得不同的解码 <AFMotor.h>和<IRremote.h>这两个库冲突哦 幻生幻灭 发表于 2013-8-16 09:45 static/image/common/back.gif
和这两个库冲突哦
那怎么办啊 ,哥?
软件定时器冲突导致,你可以尝试修改库。
如果不急,等我周末44吧 44这个,库在这里下载
https://github.com/leolite/BOXZ/tree/BOXZ/BOXZ/L000%20Library/Arduino/lib/BOXZ 幻生幻灭 发表于 2013-8-17 10:55 static/image/common/back.gif
44这个,库在这里下载
https://github.com/leolite/BOXZ/tree/BOXZ/BOXZ/L000%20Library/Arduino/lib/BO ...
非常感谢
如果好用的话,希望看到作品反馈,例如照片或者视频。 后来怎么样了
页:
[1]