1、基于 Arduino 的远程可调节照明系统设计摘要:主要介绍一种基于 Arduino 的远程可调节照明系统。首先通过 Yeelink 平台制作出模拟的 LED 设备与开关传感器,并通过 ENC28J60网络模块与 Arduino 模块进行连接,实现 Arduino 硬件板上 LED 灯各种功能;在 Arduino 模块进行网络连接后,利用 Processing 软件对指定网页中的关键字进行搜索,作为 Arduino 硬件板上 LED 灯的色彩变化参数,实现 LED 灯对应三色变化,完成网络互动灯的设计。 关键词:Arduino 平台 Yeelink 平台 ENC28J60 网络模块远程控制 1
2、 互动灯的设计 本文欲制作一个彩灯设备将其连接到互联网,彩灯将会以“peace” ,“love”“Arduino”3 个词出现的次数作为灯光色彩变化的参数。有了这些数据,我们要生成的颜色就会在互动灯上显示出来。互动灯除了自身具有一个我们可以控制的开关外,还有一个光线传感器,可以通过光感使其自动开启。 Arduino 与 Processing 语言连接互动可以做出很多有趣的东西,Processing 是通过视觉来展现的,而 Arduino 可以充当外用的设备来控制 Processing 的视觉展现。例如:用光敏传感器来控制图像的亮暗程度,震动传感器来控制屏幕中的泡泡的震动等等。上位机软件在于Pr
3、ocessing 它可以与人际物理世界互动,通过 Arduino 装置,让人的各种物理感官与电脑屏幕的数位艺术作品产生交流。 本文利用 processing 程序语言编写代理程序(proxy) ,它将处理从 下载的 RSS 文件并提取生成 XML 文件中的所有关键词,然后它将计算“peace” 、 “love”、 “Arduino”3 个词的数量,并且根据这 3个数据产生一个代表色彩的值,再通过 USB 接口传给 Arduino。Arduino也会回传光线传感器的反馈值并将其显示到屏幕上。Processing 详细程序代码见附件程序 1,Arduino 详细程序代码见附件程序 2。 在硬件方面
4、,可以通过按钮、光线传感器、或者通过 PWM 调节 LED亮度。由于 Arduino 计算能力有限,我们需要一个简单的方式用数值来表示指定的颜色。在这里选用颜色在 HTML 中的标准表示方法:用#后的六位十进制数字组成(6 个字代表红绿蓝 3 个颜色的混合程度,两个字为一组十六进制数) 。十六进制数是表示数字的一种很方便的方式,因为每8 位数字只需要两个字符就可以表示。程序中读到一个“#”时,我们就可以知道接下来的六个字符是三原色的值,我们将这六个字符保存到缓冲区,最后用每两个字符代表每个 LED 的亮度。 图 1 与图 2 分别为网络互动灯模拟与实物连接图。按照图示,电路中三个 LED 的颜
5、色分别是红色、绿色、蓝色。连接电路完成后,我们导入 Processing 和 Arduino 的程序分别下载并且运行,你就可以看到灯光的变化了。图中使用的是独立单色 LED,你也可以使用三色合一的单个RGB LED。这种三色合一的 LED 共有四个引脚,其中最长的是 GND 引脚,它的三种颜色分别对应其中一个引脚,可接到 Arduino 的数字接口9、10、11(Arduino 引脚与 LED 之间用电阻连接就如同单独 LED 一样) ,而接地端引脚合并成一个,通常最长的引脚称“共阴极” 。2 网页实现LED 灯功能控制 对于电子爱好者来说,新奇的事物总能引起他们的注意力。可能太过死板是一些人
6、对电子设计者的印象,但我要说的是并不是电子设计者过于死板,是电子设计者必须关注于设计产品性能的稳定性。随着网络的普及,电子爱好者们想到了利用网页做一些电子产品的开发。大家可以想象一下,如果只要我们打开网页上的开关,就能够通过互联网完成对 Arduino 板上的资源甚至是挂接到 Arduino 板上的设备的控制,那是一件多么美妙的事情。听起来有点耳熟?这不就是当下很火爆的数字家庭概念吗?是的没错,如果可以将继电器或者接电插座接入 Yeelink 系统的话,我们是不是就可以通过网页来控制家用电器呢。想象一下,我们下班比较晚回去还要做晚饭,如果有了网页控制家电系统,是不是意味着我们一回到家,就可以直
7、接使用开水煮饭呢。好了,进入到我们的利用网页控制 LED 灯的实验吧。下图 2 就是网页控制 LED 灯功能的结构框图。 参考文献: 1Massimo Banzi.爱上 Arduino(第 2 版)M.北京:人民邮电出版社,2012. 2Simon Monk.基于 Arduino 的趣味电子制作M.北京:科学出版社,2011. 3威尔彻.学 Arduino 玩转电子制作M.北京:人民邮电出版社,2013. 4米歇尔-麦克罗伯茨.Arduino 从基础到实践M.北京:电子工业出版社,2013. 5彭妙颜.智能照明与艺术照明系统工程M.北京:中国电力出版社,2011. 6牛俊英,宋玉宏.智能家电控制技术M.北京:清华大学出版社,2009. 7姚汉.Arduino 开发实战指南M.北京:机械工业出版社,2014. 8陶冶,王晓东,刘君.玩转 ArduinoM.北京:北京航空航天大学出版社,2013. 9孟立凡,蓝金辉.传感器原理及应用M.电子工业出版社,2007.