原创 一辆红外遥控车的诞生(附代码)

2022-6-24 09:27 1923 13 5 分类: 消费电子 文集: 方案

本项目使用Arduino UNO开发板和L293D马达驱动器,制作了一个可由任何IR控制器进行控制的遥控车。


红外遥控车项目电路图


小车通电后,L293D马达端罩和IR接收模块通过Arduino UNO板子激活,IR接收器开始接收红外线。当IR接收器的接收值与程序匹配时,啮合马达就按照对应的数值正传或反转。

需要牢记的是,虽然使用了L293D马达驱动器支架,马达端子是1、2不用的,因为这两个端子对IR遥控不起作用。因此,我们只能用3、4端子


项目物料照片


项目BOM表如下:

Arduino UNO开发板 x 1

IR接收模块 x 1

L293D马达驱动器 x 1

啮合马达 x 4

Robot轮子 x 4

锂离子电池 x 2

锂离子电池支架 x 1

硬纸板

跳线


IR遥控车硬件制作


首先,制作车架。先把纸板切成车架的轮廓,剪出四个轮子的位置。再将马达与轮子啮合后,用胶水将马达粘在车架上。

接着,按照电路图,将马达驱动器连接到Arduino开发板,再用胶水固定在车架的中心位置。

第三步,将IR接收模块胶粘在车架上,并按照电路图连接于马达驱动器。

第四步,将锂离子电池支架胶粘到车架上,再与马达驱动器连接。

硬件连接正确后,剩下的就是上传软件了。

第一,从IR遥控器获得IR数值,IR遥控器类型不限。这需要先下载IR库、AFmotor库两个库文件。


/*IR remote control car with Arduino.

* Home Page - SriTu Hobby

*/

#include

#include


AF_DCMotor motor1(3);

AF_DCMotor motor2(4);


IRrecv IR(A0);

decode_results result;


int Speed = 150;


#define up 0

#define down 0

#define left 0

#define right 0

#define Stop 0


void setup() {

Serial.begin(9600);

motor1.setSpeed(Speed);

motor2.setSpeed(Speed);

IR.enableIRIn();

}


void loop() {

if (IR.decode(&result)) {

Serial.println(result.value);

IR.resume();

}

delay(100);

if (result.value == up ) {

motor1.run(FORWARD);

motor2.run(FORWARD);

} else if (result.value == down ) {

motor1.run(BACKWARD);

motor2.run(BACKWARD);

} else if (result.value == Stop) {

motor1.run(RELEASE);

motor2.run(RELEASE);

} else if (result.value == left) {

motor1.run(FORWARD);

motor2.run(BACKWARD);

} else if (result.value == right) {

motor1.run(BACKWARD);

motor2.run(FORWARD);

}

}


将上述代码上传到对应端口后,运行serial monitor获得IR数值,将这些数值拷下来再粘贴到程序中。



更新后的IR遥控车程序


最后,上传更新后的程序。这样,操作遥控,小车就按指挥运行了。

文章评论1条评论)

登录后参与讨论

北山独狼 2022-6-25 18:26

学习学习
相关推荐阅读
硬之城Allchips 2024-02-14 13:05
压电技术将使智能手机屏幕变成沉浸式交互扬声器
时至今日,包括手机在内的移动设备话筒(扬声器和触觉发生器)依然存在几个问题,而压电技术有望改变这一切,让显示器能够提供高质量的沉浸音频和交互触摸体验。首先是组件本身。智能手机中的扬声器和当你触摸虚拟按...
硬之城Allchips 2023-02-15 17:25
工程师为笔电、便携式工具和电动自行车开发出频率超过MHz的无线充电器
尽管目前手机等小型设备在无线充电方面取得了成功,但在我们完全实现无线充电之前,仍有几个技术挑战需要解决,特别是在耗电量更大的电子产品方面。在《IEEE电力电子新兴和精选主题期刊》中,专家们概述了克服这...
硬之城Allchips 2022-08-29 10:30
霍尔传感器原理、典型应用及与Arduino的接口
霍尔传感器(Hall Effect Sensor)是根据霍尔效应制作的一种磁场传感器,当恒定电流通过内部的霍尔半导体片时,将在垂直方向产生电位差即霍尔电压。这个霍尔电压随磁场强度的变化而变化,磁场越强...
硬之城Allchips 2022-08-26 08:59
传感器到云应用中的超低功耗Sub-1GHz RF收发方案
在ISM和SRD(短距离无线电设备)应用中,高性能和长电池寿命至关重要。本方案采用S2-LP sub-1GHz超低功耗的低数据率,可实现+27dBm(500mW)的输出功率,可使电池寿命从几个月延长为...
硬之城Allchips 2022-08-25 09:58
用IR传感器和Arduino制作一个数字转速计(附代码)
本项目采用IR传感器和Arduino开发板制作了一个数字转速计,以RPM为单位测量马达的转数。项目黑简单,只需将IR传感器和Arduino板子与16*2 LCD连接即可。BOM表及电路图本转速计可连续...
硬之城Allchips 2022-08-24 10:27
基于AP33772的家电及电动工具USB-C PD3.0/PPS接收方案
Type-C PD3.0适配器已经大量上市,这要求Type-C接口设备(TCD)配备灵活、精简且具成本效益的充电解决方案。本设计采用AP33772高效能USB Type-C PD3.0/PPS接收控制...
我要评论
1
13
关闭 站长推荐上一条 /2 下一条