基于 Arduino 造一个红外遥控灯

0. 起因

生命在于折腾,没什么好说的,开始吧!

1. 材料


  • 理论上什么样的灯都可以,但是为了用电安全,整一个 USB 供电的小灯。

  • 继电器
    1路5v继电器,有三个端口:vcc、gnd 和一个控制端口in

  • 红外接收头
    型号:vs1838 ,三个端口:vcc、gnd和一个信号输出端口output

  • 红外遥控器
    其实这个不是必要的,因为现在很多手机也具备发射红外信号的能力

  • Arduino Nano
    Nano 板子体积很小,几乎和大拇指一样大。小归小,它却是整个遥控灯的控制系统,从红外接收头获取信号,并根据该信号控制继电器控制灯的开关,达到遥控的效果。

  • 杜邦线若干

来个合影

Snipaste_2018-04-10_14-43-11.png

从左到右:继电器、红外接收头、红外遥控器、Arduino Nano

材料上哪找?
淘宝上搜搜看。

2. 原理

1)手拿遥控器按下开关,遥控器发出红外线信号;
2)Arduino 通过红外接收头接收并解析该信号;
3)Arduino 根据收到的信号,控制继电器 in 端口的电平;
4)继电器 in 端口的电平会影响照明灯电路的通断。

于是就出现了我按下遥控器的开关,远处的照明灯就亮了的现象。

3. 怎么使用 Arduino Nano

请访问:Arduino
买到 nano 板子后,用 usb 线连接到电脑,安装好驱动。
启动事先安装好的 Arduino IDE(可以在 Arduino 官网下载),在菜单 工具->开发板 中选择Arduino Nano,处理器选择ATmega328,然后就可以开始编程了。

第一个程序

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

正如注释,setup函数只在开机执行一次;而loop函数会在开机后循环执行。

4. 原理好简单,Show me the code!

4.1 The Code

在这个程序中需要对红外信号进行解码,需要用到IRremote这个库,安装方法如下:
菜单 项目->加载库->管理库,在打开的窗口中搜索IRremote,然后点击安装即可。

//红外接收相关的库
#include<IRremote.h>
const int vcc =  2; //红外收头正极
const int gnd = 3; 
const int sensorIn = 4; //红外接收端
const int switchOutput = 5; //继电器控制输出端

IRrecv irrecv(sensorIn);
decode_results results;

//保存当前继电器输出端的状态
int currentSwitchOutputState = HIGH;

void setup() {
  //初始化工作,设置 vcc 脚为高电平,gnd为低电平
  pinMode(vcc, OUTPUT);
  pinMode(gnd, OUTPUT);
  digitalWrite(vcc, HIGH);
  digitalWrite(gnd, LOW);
  
  pinMode(switchOutput, OUTPUT);
  irrecv.enableIRIn(); //开始接收红外信号
}

void loop() {
  // 解码成功,收到一组红外线信号
  if (irrecv.decode(&results))  {
      //0xffa25d是红外遥控器上的开关键
    if(results.value==0xffa25d){
      currentSwitchOutputState = currentSwitchOutputState == HIGH ? LOW : HIGH;
      digitalWrite(switchOutput, currentSwitchOutputState);
    }
    irrecv.resume();
  }
}

程序写好后下载到 Arduino,通电后程序将会自动运行。

以上程序运行后,Arduino 每次接收到值为0xffa25d的红外信号,就会改变switchOutput管脚上的电平,而这个脚接到了继电器的 in 脚,于是继电器控制的照明电路就通/断了。

4.2 接线

  • 红外接收头三个引脚(vcc, gnd, output)分别接到程序中写的 vcc, gnd, sensorIn 的值对应的 arduino 的引脚;
  • 继电器(vcc, gnd, in)接到 arduino 上标有 5v, gnd 和值为 switchOutput 的引脚上;
  • 灯有两股线,找到正极的线(其实随便一股就可以)剪断,并接到继电器上另一端。

按下开关试试?

5. 总结

Arduino 的可玩性还是挺高的,无聊瞎折腾打发时间;
抛砖引玉,各位可以做出更多好玩的例子。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容

  • Arduino Due有14个数字I/O,6个模拟I/O,一个复位开关,一个ICSP下载口,7-12v电源供电。 ...
    麦牛2013阅读 3,180评论 0 8
  • 网上淘到了一个红外接收器(VS1838B)和一个红外遥控器,准备放到树莓派上学习一下红外控制。 本文参考资料:树莓...
    duyi324阅读 20,264评论 0 10
  • 写在前面 为什么要写这样一系列文章,网上很早就有并且还很多此类文章了呀,对于电子相关专业的人分分钟可以搞定的事呀。...
    happycool阅读 1,935评论 0 6
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,517评论 6 13
  • 蔚蓝的大海,轻柔的沙子,高大的椰林,那是人们梦寐以求的地方,那是白璐深爱的地方,也是她恨之入骨的地方。 我们的青春...
    学生党一枚阅读 167评论 0 1