如何实现红外线编码获取并发送

本文介绍了如何使用ArduinoUno配合OLED显示器和红外线接收/发送模块进行硬件连接,以及相应的软件编程,包括使用DFRobot库进行I2C通信和红外码的发送与接收。作者还在文中提到可能需要分开硬件并寻求如何整合电脑操作和EEPROM存储的解决方案。
摘要由CSDN通过智能技术生成

硬件:Arduino uno 0.96寸OLED显示器,红外线接收及发送模块,四脚点触开关(选用)

 

将显示屏连接上uno,具体怎么连第一期讲DHT11时讲过了,可以去找找。连上显示器之后就该红外线接收模块了,(我也不知道为什么,接收模块和发射模块不能连在一起,接受的编码不能复制到发射内容,eeprom和变量及函数都用了,一试就报错,所以我们分两个板子弄),接线如图:

+--s
5vgndd2

现在硬件弄好了,该软件了,废话不多说,上代码:

/*!
 * MindPlus
 * uno
 *
 */
#include <DFRobot_IRremote.h>
#include <DFRobot_SSD1306_I2C.h>
// 静态常量
const chCode chBuf[] = {
	{0x8bfb,0xe8afbb,0xB6C1,{0x00,0x20,0x20,0x20,0x11,0xfc,0x10,0x20,0x00,0x20,0x03,0xfe,0xf0,0x02,0x10,0x94,0x10,0x50,0x11,0x10,0x10,0x90,0x13,0xfe,0x14,0x28,0x18,0x44,0x10,0x82,0x03,0x02}},
	{0x53d6,0xe58f96,0xC8A1,{0x00,0x00,0xff,0x80,0x22,0xfc,0x22,0x44,0x3e,0x44,0x22,0x44,0x22,0x44,0x3e,0x44,0x22,0x28,0x22,0x28,0x27,0xa8,0xfa,0x10,0x42,0x10,0x02,0x28,0x02,0x44,0x02,0x82}},
	{0x7ed3,0xe7bb93,0xBDE1,{0x10,0x20,0x10,0x20,0x20,0x20,0x27,0xfe,0x44,0x20,0xf8,0x20,0x11,0xfc,0x20,0x00,0x40,0x00,0xfd,0xfc,0x41,0x04,0x01,0x04,0x1d,0x04,0xe1,0x04,0x41,0xfc,0x01,0x04}},
	{0x679c,0xe69e9c,0xB9FB,{0x00,0x00,0x1f,0xf0,0x11,0x10,0x11,0x10,0x1f,0xf0,0x11,0x10,0x11,0x10,0x1f,0xf0,0x11,0x10,0x01,0x00,0xff,0xfe,0x05,0x40,0x09,0x20,0x31,0x18,0xc1,0x06,0x01,0x00}}
};
// 创建对象
DFRobot_SSD1306_I2C oled12864;
IRremote_Receive    remoteReceive_2;


// 主程序开始
void setup() {
	remoteReceive_2.begin(2);
	oled12864.setChCode(chBuf);
	oled12864.begin(0x3c);
}
void loop() {
	oled12864.setCursorLine(1);
	oled12864.printLine((String("读取结果") + String((remoteReceive_2.getIrCommand()))));
	delay(1000);
}

刷新率为每秒一次,虽然屏幕会频闪,但是效率高。

(再准备一个uno板子( ╯□╰ )) 

下面该接接收了,接收很简单,长脚对串口,短脚接地,这里我选的是5号端口,代码如下。

/*!
 * MindPlus
 * uno
 *
 */
#include <DFRobot_IRremote.h>
// 创建对象
IRremote_Send remoteSend_5;


// 主程序开始
void setup() {
	remoteSend_5.begin(5);
	remoteSend_5.sendNEC(你所捕获的编码, 32);
}
void loop() {

}

这个好像需要搭配电脑使用,请大佬指点指点怎么把两者结合在一起,不知道I2C口的eeprom行不行,没有这个模块,没试过~doge。

 

 

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写Arduino红外线小车的代码,可以使用红外线传感器来控制小车的行动。在Arduino编程环境中,我们需要导入红外传感器库,并定义引脚连接。我们需要连接红外传感器接收器的引脚到Arduino的某个数字输入引脚上。 首先,在setup()函数中初始化红外传感器并设置相关引脚模式。然后,在loop()函数中实现红外线控制小车的逻辑。 我们可以使用红外传感器接收到的信号来控制小车的行进方向,例如:前进、后退、左转、右转。通过判断红外传感器接收到的信号,我们可以在代码中使用if语句来控制小车的行动。 例如,当红外传感器接收到信号1时,表示前进,我们可以让小车的电机驱动器输出正向电压,使小车前进。当红外传感器接收到信号2时,表示后退,我们可以让小车的电机驱动器输出反向电压,使小车后退。当红外传感器接收到信号3时,表示左转,我们可以让左侧电机停止转动,右侧电机正向转动,使小车向左转弯。当红外传感器接收到信号4时,表示右转,我们可以让右侧电机停止转动,左侧电机正向转动,使小车向右转弯。 通过编写适当的控制逻辑,我们可以根据红外线传感器接收到的信号,实现灵活的控制小车移动的功能。 最后,将编写好的代码上传到Arduino开发板上,并连接好红外传感器和电机驱动器,即可控制小车的行动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值