动手学arduino(4)智能水杯

韩国ID+IM设计实验室的设计一款触摸感温杯,这款水杯除了用来喝水、喝咖啡、玫瑰茶…,还有特异功能:当拿起茶杯,杯身上的略微凸出的小圆球就会闪烁迷人的颜色!随着杯子里的水温不同,小圆球共会发出三种不同颜色,红色代表热情沸腾,这意味着杯子中的水温在65度以上,得慢慢喝,不然会烫口;橘色代表不温不火,此时杯子中的水温在35~65度,入口刚刚好;蓝色则是低调耍酷的最爱,此时水温大概为0~35度,入口稍显冰冷。而最重要的在于,这杯子平时放在桌上时,小圆球并不会发光,只有当手和它接触时,才会根据杯中的水温显示出相应的颜色。动手学arduino(4)智能水杯

(网络图片)

这款爱心触摸感温杯曾获得 2010好设计奖,2010德国红点奖,2010IF设计大奖。

从技术角度讲,这款水杯工作原理十分简单。用arduino就可以实现:

电路原理如下 :

用RGB三色LED(图中四个引脚的蓝色元件)显示不同色彩,用温度传感器(图中标有“TMP”的元件)检测水温。

arduino代码根据不同水温控制LED发不同颜色的光。

本次的新元件:

常见的RGB三色LED是共阴极型。一个LED内集中了三个不同色的发光二极管,这3种发光(如红、蓝、绿三色)的负极连接在一起。4个引脚中,1脚为绿色发光二极管的正极,2脚为蓝色发光二极管的正极,3脚为公共负极,4脚为红色发光二极管的正极。使用时,公共负极3脚接地,其余引脚按需要接入工作电压即可。

通过控制三个引脚的电压,LED可以发出不同颜色的光。


温度传感器的 Vs和GND分别连接至 5V和GND,Vout引脚接至ArduinoUno控制器模拟输入端口A0~A5中的一个口。

动手学arduino(4)智能水杯

为什么要接A0~A5之中的端口?

arduino接收与输出的量,除了控制LED亮灭的二值状态(0或1),还可以接收连续变化的物理量,这就被称之为模拟量。

自然界中的物理量往往都是模拟量,譬如温度、湿度、气压等。

用相应传感器检测这些模拟量,再传送给Arduino的模拟量端口(A0~A5),Arduino就可以读取。


多分支结构

代码用到上次提到的“分支结构”

上次的分支结构是二分支,即“如果……否则……”

这次的是四分支:

水温低于20度——蓝色

水温介于20~40度——绿色

水温介于40~60度——黄色

水温高于60度——红色

(代码各档水温的设置与原版水杯略有不同)

动手学arduino(4)智能水杯

电路原理介绍完了,找个金属水杯,把LM35温度传感器紧密固定在水杯外壁靠底部位置,接好名元件,上传代码,体验自己的温感水杯吧!

水杯的另一个功能:手握水杯,灯才会亮。下次有机会再介绍吧。