红外遥控小车

红外遥控小车制作与控制原理

红外遥控小车

【材料】
1、NEC编码红外遥控器;
2、红外接收器 VS1838B;
3、Arduino uno 一块
4、L298n驱动一块
5、9v电池
6、杜邦线若干
7、小车底板
8、四个直流电机

【模块介绍】
1、红外接收器 VS1838B
VS1838b红外接收头,内部集成了监测,放大,滤波,解调等一系列电路处理输出基带信号。小车上安有红外接收装置,红外接收装置负责将接收到红外遥控器的信号进行解码,小车依据相应的命令进行操作。
红外接收器面向自己,从右往左分别是VCC,GND,OUT.
供电电源是3.3V–5V.(建议使用3.3V,电压太大容易坏掉)
在这里插入图片描述
原始信号就是我们要发送的一个数据“0”位或者一位数据“1”位,而所谓 38K 载波就是频率为 38K 的方波信号,调制后信号就是最终我们发射出去的波形。我们使用原始信号来控制 38K 载波,当信号是数据“0”的时候,38K 载波毫无保留的全部发送出去,当信号是数据“1”的时候,不发送任何载波信号。要想让 HS0038B 识别到 38K的红外信号,那么这个 38K 的载波必须要大于 10 个周期,这就限定了红外通信的基带信号的比特率必须不能高于 3800,那如果把串口输出的信号直接用 38K 调制的话,波特率也就不能高于 3800。

在这里插入图片描述
2、NEC编码红外遥控器
遥控范围是8–10 m(其实没有这么远,大概就两三米),红外波载频率为38 KHZ,
每个按键都有自己不同的编码,利用接收器收到不同的编码对小车执行不同的指令。但是当你连续快速按按键时,串口就会显示不同的编码。所以在编写代码时,尽可能填写多种可能的代码。

【小车组装】

模块接线如下:
在这里插入图片描述
#这里一个驱动板控制了四个电机,同侧的电机接在驱动板的一侧;
#驱动板,红外接收器,arduino的GND 要共地,否则小车不能动;
#arduino的供电可以从DC接口引入,也可以从驱动板引出5V供电,也可以直接从arduino的VIN接口供电,该接口供电范围是5–12V.
#组装时各模块要固定好,否则杜邦线会松动,损坏开发板。

Arduino 代码如下:

#include <IRremote.h>  // 使用IRRemote函数库
///选择///
#define choose 2    //1为通过串口打印码值模式  
                    //2为主函数运行模式
//电机设置/

#define leftA_PIN 5
#define leftB_PIN 6
#define righA_PIN 9
#define righB_PIN 10
void motor_pinint( );     //引脚初始化
void forward( );          //前进
void back( );             //后退
void turnLeftOrigin( );   //原地左
void turnRightOrigin( );  //原地右
void _stop();             //停车
 
//红外遥控/
 
const int irReceiverPin = 2;  // 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results;    // 定义results变量为红外结果存放位置
void rev(void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值