【雕爷学编程】Arduino动手做(71) 您所在的位置:网站首页 单片机红外接收模块32 【雕爷学编程】Arduino动手做(71)

【雕爷学编程】Arduino动手做(71)

2024-05-30 05:26| 来源: 网络整理| 查看: 265

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验七十一:HX1838红外无线遥控套件红外扩展模块(遥控器+接收板)

在这里插入图片描述

红外遥控器、发射及接收模块相关实验 一、实验环境 1、实验所需硬件清单 继电器模块X1 红外发射模块X1 红外接收模块X3 有源蜂鸣器模块X1 Arduino Uno开发板 X1 杜邦线 若干(备了10条) LED发光二极管(蓝色)X1 220欧姆限流电阻(1/8W)x1 红外遥控器(3键、17键与20键)X3 Proto Shield 原型扩展板(带mini面包板)X1

在这里插入图片描述

2、实验所需软件平台 代码编程 Arduino IDE (版本1.8.13) 仿真编程 Linkboy (版本V4.2) 图形编程 Mind+ (版本 V1.7.0 RC1.0)以及 编玩边学(线上平台) 图形编程 Mixiy (米思齐 版本 V1.1.5)

二、简易红外发射和接收模块的实验 1、实验接线示意图

在这里插入图片描述 在这里插入图片描述

2、程序一:1秒间隔发射红外线(直接发射无编码) 引脚说明 GND:电源地 VCC:电源正 OAT:数字信号输入,高为发射红外,低为关闭红外 参考开源代码(Arduino):

/* 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 3.1 红外遥控器及接收模块系列实验 程序一:1秒间隔发射红外线(直接发射无编码) 硬件:使用红外发射模块(带有红外发射LED指示灯) 实验接线:将红外发射模块接在Arduino UNO的数字3引脚 */ void setup() { pinMode(3, OUTPUT); //将D3引脚设置为输出引脚 } void loop() { digitalWrite(3, HIGH); // D3引脚输出高电平,通电发射红外 delay(1000); // 延时1000毫秒 digitalWrite(3, LOW); // D3引脚输出低电平,断电发射红外 delay(1000); }

3、实验效果:据资料,说是通过手机摄像模式对着发射端看会看到淡蓝光,实验测试华为和中兴手机,没有看到,估计是手机自身软件过滤掉红外光(本身就是不可见光线)。只有发射指示灯不断闪烁证明模块在工作。实验场景图如下。

在这里插入图片描述 4、安装红外多协议远程库:打开IDE—工具—管理库—搜索IRremote库—安装 (备注:本系列实验均在版本2.2.3下通过,后续不少版本会出错,请注意。)

在这里插入图片描述 该IR远程库可以通过多种协议发送和接收IR远程代码。它支持NEC,Sony SIRC,Philips RC5,Philips RC6和原始协议。如果需要其他协议,则可以轻松添加它们。该库甚至可以用作从您的遥控器记录代码并重新传输它们的代码,这是最小的通用遥控器。

5、IRremote库介绍 下述程序中,Arduino将通过调用函数sendSony(0xa90, 12) 来发射Sony协议指令。该函数的两个参数中,0xa90为指令信息内容,12为指令信息位数。假如需要发射NEC协议指令则可以调用函数sendNEC(0xF740BF, 32)。其中0xF740BF为指令信息内容,32为指令信息位数。 IRremote库支持的所有协议函数列表如下: *void sendDISH(unsigned long data, int nbits); //发射DISH协议指令 *sendNEC(unsigned long data, int nbits); //发射NEC协议指令

sendSony(unsigned long data, int nbits); //发射Sony协议指令void sendRC5(unsigned long data, int nbits); //发射Philips RC5协议指令void sendRC6(unsigned long data, int nbits); //发射Philips RC6协议指令void sendSharp(unsigned long data, int nbits); //发射Sharp协议指令void sendPanasonic(unsigned int address, unsigned long data); //发射Panasonic协议指令void sendJVC(unsigned long data, int nbits, int repeat); //发射JVC协议指令void sendRaw(unsigned int buf[], int len, int hz); //发射原始指令

6、程序二:使用IRremote库,通过红外LED发射控制信号 参考开源代码(Arduino):

/* 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 3.1 红外遥控器及接收模块系列实验 安装库:打开IDE—工具—管理库—搜索IRRemote库—安装(V2.2.3) 程序二:使用IRremote库,通过红外LED发射控制信号 硬件:使用红外发射模块(带有红外发射LED指示灯) 实验接线:将红外发射模块接在Arduino UNO的数字3引脚 */ #include IRsend irsend; void setup(){ } void loop() { for (int i = 0; i Serial.begin(9600); // 假如启动过程出现问题,提示用户启动失败 Serial.println("Enabling IRin"); irrecv.enableIRIn(); // 启动接收器 Serial.println("Enabled IRin"); } void loop() { if (irrecv.decode(&results)) { //检查是否接收到红外遥控信号 Serial.println(results.value, HEX); //输出指令信息 irrecv.resume(); //接收下一指令 } delay(100); }

8、实验接收部分的串口信息截图

在这里插入图片描述

9、程序四:使用IRremote库,通过红外LED发射控制信号之二 参考开源代码(Arduino):

/* 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 3.1 红外遥控器及接收模块系列实验 安装库:打开IDE—工具—管理库—搜索IRremote库—安装(V2.2.3) 程序四:使用IRremote库,通过红外LED发射控制信号之二 硬件:使用红外发射模块(带有红外发射LED指示灯) 实验接线:将红外发射模块接在Arduino UNO的数字3引脚 */ #include // 导入红外遥控库 // 头文件已经定义PIN 3为信号输出 // 所以只能连接PIN 3 ,若更改请在头文件更改 //Mega2560对应的是引脚9 IRsend irsend; // 定义 IRsend 物件来发射红外线讯号 void setup() { } void loop() { irsend.sendNEC(0xFF02FD, 32); //这里的FF02FD编码,就是LED彩灯遥控的开关编码, //若果需要控制其他功能,请先用接收管读取正确的编码值。 delay(2000); }

10、程序五:使用IRremote库,通过红外接收管接收控制信号之二 参考开源代码(Arduino):

/* 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 3.1 红外遥控器及接收模块系列实验 安装库:打开IDE—工具—管理库—搜索IRremote库—安装(V2.2.3) 程序五:使用IRremote库,通过红外接收管接收控制信号之二 硬件:使用红外接收模块(带有红外接收LED指示灯) 实验接线:将红外接收模块接在Arduino UNO的数字2引脚 */ #include int RECV_PIN = 2; //定义红外接收器的引脚为2 IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // 初始化红外接收器 } void loop() { if (irrecv.decode(&results)) { //检查是否接收到红外遥控信号 Serial.println(results.value, HEX); //以16进制换行输出接收代码 Serial.println(); //为了便于观看输出结果增加一个空行 irrecv.resume(); // 接收下一个值 } }

10、实验接收部分的串口信息截图

在这里插入图片描述 11、实验场景图

在这里插入图片描述

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有