物联网课程系列:可以吹熄的LED灯
「要怎么样,才可以让 LED 蜡烛可以被吹熄呢?」今天就来做一个可以吹熄的LED蜡烛。
这作品是一个简单的 LED 「蜡烛」,LED 蜡烛在点燃后,只要对着它吹气(或者摆在风大的地方), LED 蜡烛就会熄灭,这时可以按下它的按钮,它就会重新被「点燃」。
如何侦测吹气
要了解 LED 蜡烛运作的原理,就必须了解 LED 蜡烛的核心零件——风速传感器的运转机制。有别于一般气象站用的叶扇式风速传感器,这里所使用的风速传感器,并没有会随着风而移动的零件;他是间接感测风速(其实跟我们会对着热汤,吹气降温的道理一样)。当你对着一个「温度高于室温」的物体吹起时,流经它的空气使它降温,这边使用的风速传感器,正是利用这个原理,透过测量一根加热过的电线温度变化、间接感测出风速(注1)。
材料
LED 蜡烛需要一下这些材料:
Arduino 或 Arduino Uno
风速传感器
跳线,总共需要 9 条
LED 灯, 电阻, 按钮,都各一个就好
面包板,非必要,但如果是初学者建议使用,可以让接线更简单
不同零售商卖的风速传感器,规格可能不一样,如果你买到的风速传感器没有排针的话,那你除了上面列出的材料外,还需要烙铁跟焊锡,并且先把排针焊到传感器电路板上。
组装
LED 蜡烛的线路配置图的如上,如果你已经是个DIY 老手,这段你大可跳过,直接看下一段就好;如果你还是新手,也不要担心,接下来会一步步带你把蜡烛从无到有组装起来。
1.把面包板拿出来,并把 Arduino 放到它的右侧。
2.将按钮放到面包板的正中间,让它横跨中间的沟槽,它应该会有两只脚会在第 1 行,另外两只脚在第 3 行。
3.把电阻的其中一只脚放到面包板的第 3 行 J 栏,另一只脚放到第 3 行蓝色负号(-)栏。
4.把 LED 的两只脚往同个方向折 90度,这样放到面包板上时就会平行于面包板的板面。
5.把 LED 灯的长脚放到面包板的第21 行 A 栏,短脚放到第 23 行 A 栏。
6.把风速传感器的插针,插到面包板 A 栏的 26 到 29 行(也就是最下面 5 行),传感器的板子应该要伸出面包板外。
电子零件放好后,接下来就是伤眼力的跳线接接乐了。这边我们提供一个简单的表格,让你知道每一条跳线要接在哪里(没特别注明就是面包板的插槽),不过颜色的部分你并不一定要用一模一样的颜色(注2),这只是为了方便你对照上面的线路配置图而已。
程序代码
程序代码可以从以下网站链接取得,也可以直接下载压缩文件。
http://keefe.cc/family-projects/#parts-code-by-chapter-8-electric-candle
https://github.com/jkeefe/family-projects-sketches/archive/master.zip
上传再重开后,蜡烛仿真程序就会启动,你就可以试着吹熄你的 LED 蜡烛啦。
如果想要改变 LED 蜡烛对于风速的灵敏度,你可以改第 74 行,把 if (WindSpeed_MPH > 6 ) { 这行的 6 改成其他数字。数字改得越小,蜡烛就越灵敏,反之,数字改得越大,蜡烛就越不灵敏。
延伸讨论
既然你现在已经了解风速传感器背后运作的原理,也知道如何让 Arduino 读取当下的风速,接下来你可以试试用风速传感器和 Arduino 做一个个人气象站。不过,想要风速测得准一点的话,就要看看怎么校正传感器。
另外,既然你的 LED 蜡烛 Prototype 已经成功了,你可以试着把它的外观做成一根蜡烛。你需要把 LED 蜡烛缩小;试试用 Arduino Nano(或其他跟 Arduino 兼容的小型开发版)取代 Arduino Uno
注1:更详细的来说,传感器其实也不是直接测量温度,它测的是「电线导电度」的变化,这是因为电线的导电度会随着温度而变化。透过测量导电度,传感器就可以间接的知道电线温度的变化,进而知道当下的风速。
注2:跳线都是一样的,颜色只是为了方便区分不同条的跳线,而且跳线的两端也没有任何不同,没有「插反」这种事。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com