“第十五课--Microduino 制作感温杯电路/zh”的版本间的差异
小 (photo added) |
|||
(未显示3个用户的3个中间版本) | |||
第6行: | 第6行: | ||
上堂课简单介绍LM35的用法,现在用Microduino结合LM35做个模拟的感温杯。 | 上堂课简单介绍LM35的用法,现在用Microduino结合LM35做个模拟的感温杯。 | ||
==设备== | ==设备== | ||
− | *'''[[Microduino-Core]]''' | + | *'''[[Microduino-Core/zh]]''' |
− | *'''[[Microduino- | + | *'''[[Microduino-USBTTL/zh]]''' |
*其他硬件设备 | *其他硬件设备 | ||
**面包板跳线 一盒 | **面包板跳线 一盒 | ||
第14行: | 第14行: | ||
**RGB led灯 一个 | **RGB led灯 一个 | ||
**470欧电阻 一个 | **470欧电阻 一个 | ||
+ | |||
==原理图== | ==原理图== | ||
[[File:lesson15-schematic.jpg|600px|center|thumb]] | [[File:lesson15-schematic.jpg|600px|center|thumb]] | ||
第37行: | 第38行: | ||
{ | { | ||
digitalWrite(4, HIGH); | digitalWrite(4, HIGH); | ||
− | digitalWrite(3, | + | digitalWrite(3, LOW); |
− | digitalWrite(2, | + | digitalWrite(2, HIGH); |
} | } | ||
else if (temp>=21 && temp<=23) //中温区温度范围设置 &&为“与”的意思 | else if (temp>=21 && temp<=23) //中温区温度范围设置 &&为“与”的意思 | ||
{ | { | ||
− | digitalWrite(4, | + | digitalWrite(4, LOW); |
− | digitalWrite(3, | + | digitalWrite(3, HIGH); |
digitalWrite(2, HIGH); | digitalWrite(2, HIGH); | ||
} | } | ||
else if (temp>23) //高温区温度设置 | else if (temp>23) //高温区温度设置 | ||
{ | { | ||
− | digitalWrite(4, | + | digitalWrite(4, HIGH); |
digitalWrite(3, HIGH); | digitalWrite(3, HIGH); | ||
− | digitalWrite(2, | + | digitalWrite(2, LOW); |
} | } | ||
Serial.println(temp); //串口输出温度数据 | Serial.println(temp); //串口输出温度数据 | ||
第56行: | 第57行: | ||
} | } | ||
</source> | </source> | ||
+ | |||
==结果== | ==结果== | ||
将温度设置了低温,中温,高温三个区,当温度在低温区RGB显示绿灯,中温区显示蓝灯,高温区显示红灯。模拟了一个感温杯。 | 将温度设置了低温,中温,高温三个区,当温度在低温区RGB显示绿灯,中温区显示蓝灯,高温区显示红灯。模拟了一个感温杯。 | ||
+ | |||
+ | [[File:Lesson15.jpg|600px|thumbnail|center]] | ||
==视频== | ==视频== | ||
|} | |} | ||
+ | |||
+ | http://v.youku.com/v_show/id_XNzEwMDA0NTg0.html |
2015年7月3日 (五) 07:50的最新版本
Language | English |
---|
目的上堂课简单介绍LM35的用法,现在用Microduino结合LM35做个模拟的感温杯。 设备
原理图LM35接法不变,指示采用一个共阳的RGB LED。 程序void setup() {
Serial.begin(115200); //使用115200速率进行串口通讯
for(int i=2;i<5;i++) //设置led输出口
{
pinMode(i, OUTPUT);
}
}
void loop() {
int n = analogRead(A0); //读取A0口的电压值
float temp = n * (5.0 / 1023.0*100); //使用浮点数存储温度数据,温度数据由电压值换算得到
if (temp<21) //低温区的温度值设置、以及led显示
{
digitalWrite(4, HIGH);
digitalWrite(3, LOW);
digitalWrite(2, HIGH);
}
else if (temp>=21 && temp<=23) //中温区温度范围设置 &&为“与”的意思
{
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
}
else if (temp>23) //高温区温度设置
{
digitalWrite(4, HIGH);
digitalWrite(3, HIGH);
digitalWrite(2, LOW);
}
Serial.println(temp); //串口输出温度数据
delay(1000); //等待1秒,控制刷新速度
}
结果将温度设置了低温,中温,高温三个区,当温度在低温区RGB显示绿灯,中温区显示蓝灯,高温区显示红灯。模拟了一个感温杯。 视频 |