Arduino智能IQ灯工作坊教程

2014-04-0111万
精华项目
AI 快速预览详细 收起
Arduino智能IQ灯工作坊是一个适合软硬件结合的入门级DIY项目。通过人体红外热释电传感器,实现人来灯开、人走灯灭的效果,并支持多种颜色切换。所需元件包括人体热释电红外传感器、Beetle控制器、RGB全彩灯盘等。项目难度适中,适合编程初学者和STEM教育场景。
智能IQ灯工作坊是一个适合软硬件结合的入门级DIY活动。

  • 在硬件上,它采用智能家居概念,做到人在灯开人走灯灭的效果,并达到节约能源的目的。还可以随你心情的变化,随时通过程序任意切换你想要的色彩。
  • 在软件上,我们将介绍Arduino集成开发环境的入门知识,编程程度不同的小伙伴们可以现场上手这个软件,学会控制灯从单色到多色过度的颜色和明暗变化。组装者可以自行选择颜色和造型,根据一定规律将单片连接成模块最终完成成品,组装出来的造型多达30种。

第一版的IQ球,只具有上电即呈现彩虹色的效果(可见视频)。有人说,如果能融入点互动元素就更好了,所以在第一版的基础上做了修改,加入了红外热释电传感。大致说下智能IQ球的功能,IQ球上装有一个人体红外热释电传感器,能检测到人的运动状态。而用到我们这里实现就是,人来灯开,人走灯灭的效果。

Arduino智能IQ灯工作坊教程图10



所需元件:
人体热释电红外传感器
Beetle控制器
RGB 全彩灯盘
Micro USB Cable
IQ球

可能需要的工具:
剪刀
烙铁
胶枪(没有也无妨)

第一步:焊接与连线

焊接和连线可以一起完成,表中罗列出了,各个元件引脚是如何一一对应的。这里就不多说了。(表格应该挺清楚的吧)

Arduino智能IQ灯工作坊教程图3

Arduino智能IQ灯工作坊教程图2

第三步:Arduino IDE(第一次使用Arduino,需要看)
如果你是第一次使用Arduino的话,需要下载Ardunio IDE并装好驱动。可以看下链接:
https://mc.dfrobot.com.cn/thread-1019-1-1.html


第四步:体验代码的神奇

简单说下原理:
这里,红外热释电就为我们的输入设备,有人进过时,就会输出一个信号,控制器(beetle)对这个信号进行处理,最后通过我们的输出设备,也就是RGB灯盘,表现出来。过程就是这么简单。

Arduino智能IQ灯工作坊教程图1

一步步慢慢来,分别说下这几样东西怎么使用(代码可下载压缩包):

一、RGB灯盘使用
(1)点亮RGB灯盘 (Example -- show_red)
可直接下载压缩包代码 (Example -- show_red)
代码效果:灯盘显示红色
Arduino智能IQ灯工作坊教程图4
setup()函数设置RGB的三个引脚,也就是上面连接的D9,D10,D11。那如何实现颜色显示呢?

我们通过analogWrite()来给9,10,11引脚0~255之间的值就和会对应一个颜色。0是最小值,255是最大值。下表中罗列了部分颜色。
Arduino智能IQ灯工作坊教程图5

(2)实现两种颜色变化(Example -- two color)
代码效果:呈现红色和绿色交替出现
图片中很明显的标出来了,为什么会呈现着两个颜色? 是因为给了0~255不同数值决定的。Arduino智能IQ灯工作坊教程图6

(3)随机色变化(Example -- random_color)
可直接下载压缩包代码(Example -- random_color)

(4)渐变色代码(Example  -- HSV_color)
(需要加载库,把整个文件夹放入 Arduino 1.0.5/libraries)



二、红外热释电传感器使用
由于beetle上只有三个数字口,所以我们需要把红外热释电接到模拟口。

(1)串口读数(Example -- AnalogReadSerial)
代码效果:一旦检测到人,串口会输出一个大于0的值,而没有人时,串口输出0。
Arduino智能IQ灯工作坊教程图7


三、RGB与红外热释电结合

(1)单色(Example --IR_RGB )
代码效果:一旦有人,亮红色,人走了,灯熄灭。
代码中通过一个if语句,如果怎么怎么样,那就怎么怎么样,否则怎么怎么样。如果值大于0,亮红色,否则,熄灭。
Arduino智能IQ灯工作坊教程图8

(2)多色变化(Example -- IR_HSV_color)
这个就是我们最终效果的代码,实现多色变化。
(同样需要加载库,把整个文件夹放入 Arduino 1.0.5/libraries)


三、拼IQ球
不要小看IQ球,其实还挺难拼的  ^ - ^


拼完之后把RGB灯塞到IQ球里面就可以了。记得把红外热释电露在外面才能方便检测人。

Arduino智能IQ灯工作坊教程图9



���tutorials

Example.rar

5 KB, 下载次数: 119552

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(12)
小马1
小马1
RGB灯应该可以显示各种颜色额,为什么用了三只灯呢?
熹宝快睡觉
熹宝快睡觉
挺好的、挺有创意的,赞赞赞
gada888
gada888
不错嘛
HC
HC
很不错。
豆12138
豆12138
IQ球里面,你放进去的灯是RGB灯盘吗?如果不是,那是什么灯呢,
豆12138
豆12138回复Jane
如果想用APP去控制颜色变化,需要加个什么呢?这个Beetle处理器能够处理吗?
Jane
Jane
作者
回复豆12138
这个是RGB灯盘
ElleryQueen
ElleryQueen
IQ球有卖的吗
Jane
Jane
作者
回复ElleryQueen
淘宝有卖的
fitty
fitty
Beetle控制器有两个”+“、”-“丝印,RGB灯盘和控制器的gnd是怎么链接的?(控制器上的”-“用哪一个?)。人体热释电红外传感器的”-“又用哪一个?是同一个”-“吗?人体热释电红外传感器的”+“和Beetle控制器上的哪个”+“连接
sun20100480
sun20100480回复fitty
你可以把beetle翻过来看一下,一端标识5v 一端标识1.1v,接到5v那端就好
cornicione
cornicione

我想问如何将PWM信号合成一个信号接到灯条的din口?
神奇一峰
神奇一峰
Cheapduino控制器可以做这个灯吗?:)
Jane
Jane
作者
回复神奇一峰
可以的
lauren
lauren
牛逼,这个套件是我见过最美的
Jane
Jane
作者
回复lauren
哈哈,谢谢~
カツキ
カツキ
图片拍的真心不错啊
zarados
zarados
表中罗列出了,各个元件引脚是如何一一对应的,表在哪里看呀?
Jane
Jane
作者
回复zarados
焊接部分有罗列出来的
- 没有更多了 -