arduino红外控制led(发射与接收)

网上有关红外接收的帖子不少,但是关于使用arduino自制红外发射器的帖子却很少,经过网上搜索和自己摸索,给大家发个有arduino自制红外发射器控制led亮灭的例子。关于本例我使用了两块arduino板,一块用于发射,一块用于接收。

一、红外发射(开发板一)

 1 /*
 2 * 发射红外线讯号
 3 *     注意! 红外线发射器(IR LED)必须接到 pin 3, 不能接其它脚位,头文件已经定义,所以下面不用设置pin3口的状态
 4 */
 5 #include <IRremote.h>                  // 引用 IRRemote 函式库
 6
 7 const int buttonPin = 4;                 // 按键(pushbutton)接在 pin 4
 8 int buttonState = 0;                     // 按键状态
 9
10 IRsend irsend;                          // 定义 IRsend 物件来发射红外线讯号
11
12 void setup()
13 {
14 pinMode(buttonPin, INPUT);             // 把 buttonPin 设置成 输入
15 }
16
17 void loop()
18 {
19 // 读取按键状态
20 buttonState = digitalRead(buttonPin);
21
22 // 检查按键是否被按下
23 // 有的话 buttonState 会是高电平输出
24 if (buttonState == HIGH) {
25 // 发射红外线讯号
26 irsend.sendNEC(0x4CB3817E, 32);   // 这个编码即你按的键(接pin4)的编码,可以随意更改,如果要控制其他设备,只需将此编码改为相应编码就行
27 }
28 }

将以上程序烧入开发板一中,发射部分就制作完毕。下面是红外接收部分。

二、红外接收(开发板二)

 1 //本例来自于红外接收模块的IRremote自带范例
 2 //已经作出了修改
 3 //改为当有遥控器的按键按下时,接在数字引脚4上的发光LED就会点亮,再按一下按键,led熄灭
 4 /*电路连接
 5  *红外接收器的VOUT接在数字引脚11上,GND接控制板的GND,VCC接控制板上+5V
 6 *发光二极管引脚接在数字引脚4上,通过220欧姆电阻回到控制板的GND
 7 *效果,当遥控器按下按键时,发光二极管就会闪烁,同时电脑的串口会出现按键的命令编码.
 8 */
 9
10
11 #include <IRremote.h>
12
13 int RECV_PIN = 11;//定义红外接收器的引脚为11
14 int LED_PIN=4;//定义发光LED引脚数字4
15 int a=0;
16 IRrecv irrecv(RECV_PIN);
17
18 decode_results results;
19
20 void setup()
21 {
22   Serial.begin(9600);
23   irrecv.enableIRIn(); // 初始化红外接收器
24   pinMode(LED_PIN,OUTPUT);//设置发光LED引脚数字4
25 }
26
27 void loop() {
28   if (irrecv.decode(&results)) {
29 if(results.value==0x4CB3817E &a==0) //此处的32位值与发射部分发射的值要保持一致
30 {
31     digitalWrite(LED_PIN,HIGH);//LED点亮
32 a=1;
33 }
34 else if(results.value==0x4CB3817E &a==1)
35 {
36 digitalWrite(LED_PIN,LOW);//LED熄灭
37 a=0;
38 }
39     irrecv.resume(); // 接收下一个值
40   }
41 }

将以上部分程序烧入开发板二即完成接收部分制作。
两块开发板上电,当按下发射板上按键时,led点亮,再次按下发射板上按键是,led熄灭。

时间: 2024-10-08 21:58:18

arduino红外控制led(发射与接收)的相关文章

树莓派 LED+蜂鸣+声音传感器+红外模块组合打造声控/红外控制LED

昨天搞了控制LED,玩了第一个,剩下的就感觉很简单了,这里记录一下 先来几张照片 玩了蜂蜜模块才发现规律,一般这种模块,都会有三个针脚,VCC(3.3V或5V供电输出针脚).GNC(对应GPIO针脚的GNC).OUT/(I/O)(对应GPIO编号的针脚),如果是需要向树莓派发送信息的,这个模块上标识的是OUT,例如这里用的声音传感器和人体红外传感器,这两个都是需要向树莓派发送侦测的信息,如果不需要向树莓派发送消息的,则标识的是I/O,比如我这个蜂鸣模块,这只是我用这三个传感器发现的,可能不正确

arduino 红外遥控器控制LED灯

/* 日期:2016.9.1 功能:红外遥控器控制LED灯 开,关,闪烁 元件: 跳线公公头 * 5 led, 220欧电阻 红外接收管,红外遥控 接线: 红外灯面向自己从左到右分别接 IO3, GND, 5V LED 负极接GND 正极串联电阻接 IO5 红外1-9口编码: FF30CF 1 FF18E7 2 FF7A85 3 FF10EF 4 FF38C7 5 FF5AA5 6 FF42BD 7 FF4AB5 8 FF52AD 9 参考:http://www.arduino.cn/threa

【物联网(IoT)开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关

上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断开网络提供电源依然还可以工作.本文将介绍如何开发一个应用程序,以便使用适用于物联网 (Internet of Things, IoT) 的技术.我们的应用程序通过串口收集数据,将其存储在一个 Web 服务器上,然后在网页上实时显式结果,并可以在网页上控制LED的开关. 构建一个类似的应用程序的前提条件 对于第

arduino入门学习实现语音控制LED灯

需要的准备的硬件arduino+PC+麦克风实现语音命令控制LED灯的亮灭. 首先需要将写好的arduino程序烧录到arduino uno主板中,下面是代码如下: int val;//定义变量val int ledpin=10;//定义数字接口13 void setup() { Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致.当接入特定设备(如:蓝牙)时,我们也要跟其他设备的波特率达到一致. pinMode(ledpin,OUTPUT);//设置数字10

socket通信——多角度控制LED灯亮灭

今天以物联网网关(网关链接)以服务器,在多个客户端就做一个非常简单的功能:点亮或熄灭网关上的LED灯.目前想到了三种方式,分别是:TCP&UDP测试工具.自编Java客户端和Mono Android客户端.相信这会很有意思的. 1.服务器端 在使用或编写客户端之前,首先来看看服务器端代码,其专门通过串口烧进网关内部 OutputPort led = new OutputPort((Cpu.Pin)GPIO_NAMES.PF8, false); Socket sc; Socket ss = new

[ZigBee] 3、ZigBee基础实验——GPIO输出控制实验-控制Led亮灭

1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列寄存器配置,由用户软件加以实现. I/O 端口具备如下重要特性:    ?? 21 个数字I/O 引脚 ?? 可以配置为通用I/O 或外部设备I/O ?? 输入口具备上拉或下拉能力 ?? 具有外部中断能力. 21 个I/O 引脚都可以用作于外部中断源输入口.因此如果需要外部设备可以产生中断.外部中断

STM32学习笔记(四)——串口控制LED(中断方式)

目录: 一.时钟使能,包括GPIO的时钟和串口的时钟使能 二.设置引脚复用映射 三.GPIO的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类型并使能串口中断 七.编写中断服务函数函数名格式为函数名格式为 USARTxIRQHandler(x 对应串口号). 八.主函数的实现. 一.时钟使能,包括GPIO的时钟和串口的时钟使能 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); //

enc28J60 网页控制LED灯

软件IDE:Arduino 1.6.3 1.库的安装: 从https://github.com/jcw/ethercard 下载源码包,解压,复制ethercard-master文件夹到Arduino的安装目录所在的库文件夹下:D:\Program Files (x86)\Arduino\libraries,并且重命名为EtherCard 2.打开Arduino 复制相关代码,保存,编译,上传. 3.设置电脑ip为192.168.2.2 4.浏览器登录192.168.2.1 参考: lucade

红外控制GPIO

论坛里有人说要拿红外控制GPIO弄小车,问我怎么弄,我就写了这个帖子我在GPIO口上焊了4个LED,代表上下左右 不止可以控制gpio,还可以执行任意shell不是lirc,是我自己写的轻量级红外接收程序CbOS GM中有运行方法(请先加载红外驱动): cd ~/source_code/IR ./ir 然后按下遥控器的一个按键(我按"上"),得到 get key event! Key 112 Pressed get key event! Key 112 Released 记下按键代码(