零知开源快速入门22-红外遥控LED灯
转载自:零知开源快速入门22-红外遥控LED灯http://www.lingzhilab.com/forum.php?mod=viewthread&tid=216&fromuid=2
(出处: 零知实验室)
红外在电子制作中作为一种简单的数据传输方法是很常用的一种,在生活中我们也可以见到很多红外应用如红外遥控。我们在这一篇中就简单介绍下红外遥控的应用,让我们的电子作品能够无线操控。
一、工具原料
[*]电脑,windows系统
[*]零知开发板
[*]micro-usb线
[*]LED灯红色、绿色、黄色各一个
[*]220Ω 电阻3个
[*]红外遥控器1个
[*]红外接收头1个
[*]面包板一个+若干跳线
我们使用的遥控器如下:
http://www.lingzhilab.com/data/attachment/forum/201807/02/145145u75jb8z80knsb9j5.jpg
其对应的编码如下:
http://www.lingzhilab.com/data/attachment/forum/201807/02/145145jo2ufo5otii5i155.jpg
使用的接收头及其接口如下:
http://www.lingzhilab.com/data/attachment/forum/201807/02/145232a363t2rdgrurneer.png
二、硬件连接
1、电路原理图
http://www.lingzhilab.com/data/attachment/forum/201807/02/145858ivdsxdyxggdjz5db.png
2、电路连接
http://www.lingzhilab.com/data/attachment/forum/201807/02/150448z5j0d45jtdr4go86.png http://www.lingzhilab.com/data/attachment/forum/201807/02/145916gx6t5xt2yxtt2xxx.jpg
三、方法步骤
1、打开零知实验室软件开发工具,然后新建项目,输入以下代码:
[*]/**
[*]* 文件: 红外遥控点灯.ino by 零知实验室(www.lingzhilab.com)
[*]* -- 零知开源,让电子制作变得更简单! --
[*]* 时间: 2018/07/02 13:45
[*]* 说明: 使用红外遥控来控制LED灯
[*]**/
[*]
[*]#include <IRremote.h> //红外相关的库
[*]
[*]//红外遥控器上数字 0,1,1,3 的红外编码
[*]const int code= {0xff6897,0xff30cf,0xff18e7,0xff7a85};
[*]
[*]//分别连接红色、黄色、绿色灯
[*]uint8_t LED_R = 0;
[*]uint8_t LED_Y = 1;
[*]uint8_t LED_G = 2;
[*]
[*]uint8_t IR_RECV_pin = 3;//接收红外的引脚
[*]
[*]IRreceiver irrecv(IR_RECV_pin);
[*]
[*]IRdecode_results decode_result;
[*]
[*]// the setup routine runs once when you press reset:
[*]void setup() {
[*] // put your setup code here, to run once:
[*] irrecv.enableIRIn();//开启红外接收
[*]
[*] pinMode(LED_R, OUTPUT);
[*] pinMode(LED_Y, OUTPUT);
[*] pinMode(LED_G, OUTPUT);
[*]
[*] digitalWrite(LED_R, HIGH);//关闭所有的灯
[*] digitalWrite(LED_Y, HIGH);
[*] digitalWrite(LED_G, HIGH);
[*]
[*] Serial.begin(9600);
[*]}
[*]
[*]// the loop routine runs over and over again forever:
[*]void loop() {
[*] // put your main code here, to run repeatedly:
[*] if(irrecv.decode(&decode_result)){
[*] //根据解码的结果执行对应的动作
[*] Serial.print("receive code: 0X");
[*] Serial.println(decode_result.value, HEX);
[*] if(decode_result.value == code){
[*] digitalWrite(LED_R, LOW);//打开红色LED
[*] }
[*] if(decode_result.value == code){
[*] digitalWrite(LED_Y, LOW);//打开黄色LED
[*] }
[*] if(decode_result.value == code){
[*] digitalWrite(LED_G, LOW);
[*] }
[*] if(decode_result.value == code){
[*] digitalWrite(LED_R, HIGH);//关闭所有的LED
[*] digitalWrite(LED_Y, HIGH);
[*] digitalWrite(LED_G, HIGH);
[*] }
[*]
[*]
[*] irrecv.resume();//接收下一个
[*] }
[*]}
复制代码
2、按照之前的方式先【编译】,然后【上传】到开发板中。
四、成果展示
上面步骤成功完成后,我们进行测试,我们分别按下遥控器上面的0,1,2号按键,可以看到相应的红色、黄色、绿色LED灯亮,当我们按下3号按键可以看到所有的LED熄灭,同时可以看到串口监视器中有相应的按键编码信息:
http://www.lingzhilab.com/data/attachment/forum/201807/02/150759ib4849kzpcmbjk8r.png
我想arduino软件运行程序,应该怎么修改代码呢?
页:
[1]