感温杯

来自Microduino Wikipedia
跳转至: 导航搜索
Language English

目的

放一杯水上去,不同的温度会根据程序设定亮起不同颜色的灯光。

原理

温湿度传感器检测环境的温湿度,使彩灯在不同的区间亮不同的颜色。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
mCookie-BM/zh 1 电池管理
Microduino-Temp&Hum/zh 1 温湿度传感器
Microduino-Color led/zh 1 彩灯
  • 其他设备:
    • 电池2个

加载代码

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE
  • Setup 2:点击 文件 > 示例 > mCookie >_206_ThermoCup,加载程序
  • Setup 3:选择好板卡和串口将程序下载到CoreUSB中。

调试代码

  • 计算温湿度值“readByAM2321()”函数,可以打开串口监视器查看数据。
void readByAM2321()
{
  AM2321 am2321;
  am2321.read();
  sensor_tem = am2321.temperature / 10.0;
  Serial.println(sensor_tem);
  delay(100);
}
  • 定义3个温度区分值,可将温度区分四个区间。你可以根据需要对数值进行修改,或加入更多temp数值。
#define temp1    28
#define temp2    30
#define temp3    32
  • 对于灯光颜色与温度对应关系的定义,分别对温度传感器感应到的环境温度小于temp1、介于temp1和temp2之间、介于temp2和temp3之间、大于temp3这四种情况,分别设定了四种灯光的RGB值,你可以尝试修改RGB值,或加入更多温度区间,来看看会有什么变化。“strip.Color(R,G,B)”R,G,B对应的三基色。
  if (sensor_tem <= temp1)
    colorSet(strip.Color(0, 255, 0));
  
  else if (sensor_tem > temp1 && sensor_tem <= temp2)
    colorSet(strip.Color(0, 0, 255));
  
  else if (sensor_tem > temp2 && sensor_tem <= temp3)
    colorSet(strip.Color(255, 255, 0));
  
  else
    colorSet(strip.Color(255, 0, 0));
  • 关于RGB。

RGB值是定义光颜色的一种方法,R(Red)G(Green)B(Blue)为光的三原色,数值在0到255之间,代表该颜色的强度。将三种不同强度的光叠加在一起就能形成丰富多彩的颜色了。比如(0,255,0),R和B的值都是0,G的值为255,因此就是绿光。

搭建硬件

  • Setup 1:将温湿度传感器接到接到hub的IIC引脚上,彩灯接到A0引脚上。
  • Setup 2:将激活后的电池盒与BM模块相连.
CoreUSB Ble steup2.jpg
  • Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。

结果

传感器检测到不同的温度数据灯光。你也可以通过乐高搭建一个漂亮的外观。

视频