34618| 19
|
[项目] Arduino智能IQ灯工作坊教程 |
智能IQ灯工作坊是一个适合软硬件结合的入门级DIY活动。
第一版的IQ球,只具有上电即呈现彩虹色的效果(可见视频)。有人说,如果能融入点互动元素就更好了,所以在第一版的基础上做了修改,加入了红外热释电传感。大致说下智能IQ球的功能,IQ球上装有一个人体红外热释电传感器,能检测到人的运动状态。而用到我们这里实现就是,人来灯开,人走灯灭的效果。 所需元件: 人体热释电红外传感器 Beetle控制器 RGB 全彩灯盘 Micro USB Cable IQ球 可能需要的工具: 剪刀 烙铁 胶枪(没有也无妨) 第一步:焊接与连线 焊接和连线可以一起完成,表中罗列出了,各个元件引脚是如何一一对应的。这里就不多说了。(表格应该挺清楚的吧) 第三步:Arduino IDE(第一次使用Arduino,需要看) 如果你是第一次使用Arduino的话,需要下载Ardunio IDE并装好驱动。可以看下链接: https://mc.dfrobot.com.cn/thread-1019-1-1.html 第四步:体验代码的神奇 简单说下原理: 这里,红外热释电就为我们的输入设备,有人进过时,就会输出一个信号,控制器(beetle)对这个信号进行处理,最后通过我们的输出设备,也就是RGB灯盘,表现出来。过程就是这么简单。 一步步慢慢来,分别说下这几样东西怎么使用(代码可下载压缩包): 一、RGB灯盘使用 (1)点亮RGB灯盘 (Example -- show_red) 可直接下载压缩包代码 (Example -- show_red) 代码效果:灯盘显示红色 我们通过analogWrite()来给9,10,11引脚0~255之间的值就和会对应一个颜色。0是最小值,255是最大值。下表中罗列了部分颜色。 (2)实现两种颜色变化(Example -- two color) 代码效果:呈现红色和绿色交替出现 图片中很明显的标出来了,为什么会呈现着两个颜色? 是因为给了0~255不同数值决定的。 (3)随机色变化(Example -- random_color) 可直接下载压缩包代码(Example -- random_color) (4)渐变色代码(Example -- HSV_color) (需要加载库,把整个文件夹放入 Arduino 1.0.5/libraries) 二、红外热释电传感器使用 由于beetle上只有三个数字口,所以我们需要把红外热释电接到模拟口。 (1)串口读数(Example -- AnalogReadSerial) 代码效果:一旦检测到人,串口会输出一个大于0的值,而没有人时,串口输出0。 三、RGB与红外热释电结合 (1)单色(Example --IR_RGB ) 代码效果:一旦有人,亮红色,人走了,灯熄灭。 代码中通过一个if语句,如果怎么怎么样,那就怎么怎么样,否则怎么怎么样。如果值大于0,亮红色,否则,熄灭。 (2)多色变化(Example -- IR_HSV_color) 这个就是我们最终效果的代码,实现多色变化。 (同样需要加载库,把整个文件夹放入 Arduino 1.0.5/libraries) 三、拼IQ球 不要小看IQ球,其实还挺难拼的 ^ - ^ 拼完之后把RGB灯塞到IQ球里面就可以了。记得把红外热释电露在外面才能方便检测人。 ���tutorials |
5 KB, 下载次数: 9682
fitty 发表于 2015-7-31 18:32 你可以把beetle翻过来看一下,一端标识5v 一端标识1.1v,接到5v那端就好 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed