L293D 电机控制板如何添加红外探头-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5107|回复: 7

L293D 电机控制板如何添加红外探头

[复制链接]
发表于 2013-3-26 12:03 | 显示全部楼层 |阅读模式
L293D 电机控制板如何添加红外一体化38KHZ接收头,我找不到数字引脚,求大神帮忙
UBU`L88(1S8J1U5}][3%6PQ.jpg
N)9)S)MB[OJF[T81CRFY54K.jpg
发表于 2013-3-26 12:06 | 显示全部楼层
模拟口A0-A5也可以当数字口用~~
 楼主| 发表于 2013-3-26 14:01 | 显示全部楼层
海神 发表于 2013-3-26 12:06
模拟口A0-A5也可以当数字口用~~

不行啊,按键没反应
发表于 2013-3-26 14:10 | 显示全部楼层
Fighting 发表于 2013-3-26 14:01
不行啊,按键没反应

检查下你接收头连线和程序里端口定义,你试试···
 楼主| 发表于 2013-3-26 18:17 | 显示全部楼层
海神 发表于 2013-3-26 14:10
检查下你接收头连线和程序里端口定义,你试试···

#include <AFMotor.h>
#include <IRremote.h>
int RECV_PIN = A0;   //定义11口为接收器
IRrecv irrecv(RECV_PIN);
decode_results results;
AF_DCMotor motor_right(1); //定义M1为左轮电机
AF_DCMotor motor_left(2);  //定义M2为右轮电机               
void forward(int _speed)   //前进子程序
{
    motor_right.run(FORWARD);//the cat forward
    motor_left.run(BACKWARD);
    motor_right.setSpeed(_speed);
    motor_left.setSpeed(_speed);
}
void back(int _speed)//后退子程序
{
   motor_right.run(BACKWARD);//the cat forward
    motor_left.run(FORWARD);
    motor_right.setSpeed(_speed);
    motor_left.setSpeed(_speed);
}
void turnLeft(int _speed)//原地右转弯子程序
{
   motor_right.run(BACKWARD);//the cat forward
    motor_left.run(BACKWARD);
    motor_right.setSpeed(_speed);
    motor_left.setSpeed(_speed);
}
void turnRight(int _speed)//原地左转弯子程序
{
   motor_right.run(FORWARD);
    motor_left.run(FORWARD);
    motor_right.setSpeed(_speed);
    motor_left.setSpeed(_speed);
}
void setup()
{

  Serial.begin(9600);           // set up Serial library at 9600 bps
  irrecv.enableIRIn(); //初始化红外遥控
  motor_right.run(RELEASE);
  motor_left.run(RELEASE);
}
void loop()
{
  if (irrecv.decode(&results))
  {
   if(results.value==0xff18e7)   
    {
      forward(250);
      delay(2000);
    }
  if(results.value==0xff4ab5)   
    {
      back(250);
      delay(2000);
    }
  if(results.value==0xff10ef)   
    {
      turnRight(250);
       delay(2000);
    }
    if(results.value==0xff5aa5)   
    {
     turnLeft(250);
     delay(2000);
    }
}
}检查下吧。老师
 楼主| 发表于 2013-3-26 18:21 | 显示全部楼层
海神 发表于 2013-3-26 14:10
检查下你接收头连线和程序里端口定义,你试试···

就是这三个口
K16YU0SDDJJWI~~HMZ89O}B.jpg
发表于 2013-4-3 09:32 | 显示全部楼层
海神 发表于 2013-3-26 12:06
模拟口A0-A5也可以当数字口用~~

我记得这个红外库好像只能用数字口,D0~D12,不能用模拟口做接收
发表于 2013-4-3 09:46 | 显示全部楼层
Leo 发表于 2013-4-3 09:32
我记得这个红外库好像只能用数字口,D0~D12,不能用模拟口做接收

可以用模拟口做接受的~

点评

Leo
^_^ 那可能是我记错了  发表于 2013-4-5 08:06
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 15:38 , Processed in 0.148312 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表