【雕爷学编程】Arduino动手做(71)---红外遥控器及接收模块之用中断控制继电器开关与黑17键遥控七彩灯变色

在这里插入图片描述

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

在这里插入图片描述

7、程序十二:白色20键红外遥控器控制LED灯亮灭与闪烁
(1)开源仿真编程(Linkboy V4.2)

在这里插入图片描述

(2)程序效果:
按下测试键TEST,点亮13脚LED灯;按下返回键,13脚LED灯熄灭。
按下数字键1,LED灯闪烁1次;按下2键,闪烁2次;按下3键则3次;余下类推。

8、程序十三:黑色3键红外遥控器控制LED(D13)灯亮灭
开源图形编程(Mixiy V1.1.5)和串口输出截图

在这里插入图片描述

9、程序十四:用红外遥控外部中断控制继电器开关(任意键)

(1)参考开源代码(Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.1 红外遥控器及接收模块系列实验
  安装库:打开IDE—工具—管理库—搜索IRremote库—安装(V2.2.3)
  程序十四:用红外遥控外部中断控制继电器开关(任意键)
  硬件:任意红外遥控器
  接线:将红外接收模块接在UNO的数字D2引脚,继电器接D8
*/

#include <IRremote.h> //导入红外遥控库
int PIN_RECV = 2; //定义红外接收器的引脚为D2
IRrecv irrecv(PIN_RECV);
decode_results results;

int pbIn = 0; // 定义中断引脚为0,也就是监听D2引脚的变化.
int Relay = 8; // 继电器引脚D8

volatile int state = LOW; // 定义继电器默认输入状态
int time1 = 0, time2; //存储遥控操作间隔时间,(消抖)

void stateChange() {
  time2 = millis();//获取Arduino运行时间毫秒
  if (time2 - time1 >= 90) { //定义间隔时间90毫秒,简单消抖
    state = !state; //改变继电器状态
    time1 = time2; //存储最后一次时间,用来准备下次对比下次操作时间.
  }
  else {
    time1 = time2; //同上,存储最后一次操作时间.
  }
  digitalWrite(Relay, state);//反转开关继电器
}

void setup() {
  pinMode(Relay, OUTPUT); // 置继电器引脚(D8)为输出状态
  attachInterrupt(pbIn, stateChange, CHANGE); //中断函数
  // 监视中断输入引脚的变化
}

void loop() {
}

(2)程序说明:
定义中断引脚为0,也就是监听D2引脚的变化;
D2引脚有信号输入就执行本函数;
信号输入间隔时间必须超过90毫秒,否则不做任何操作;
符合间隔时间就循环改变state状态(改变继电器吸合状态)。

(3)实验场景图
在这里插入图片描述
10、程序十五:用黑17键红外遥控七彩灯变色(1-6数字键)
(1)开源仿真编程(Linkboy V4.2)

在这里插入图片描述
(2)实验场景图

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值