|
[md]## 一、温度计
上一章中我们接触到了不同于之前的新的元器件——无源蜂鸣器,同时也使用无源蜂鸣器完成了实验,不知道大家回去以后有没有通过蜂鸣器来播放出不同的歌曲呢?
今天我们将继续认识我们的新朋友——LM35温度传感器,生活中各个地方都离不开温度这个话题,而我们今天的实验,将通过LM35温度传感器,来进行温度的测试。
## 二、实验器材
+ UNO控制板:1块
+ LM35温度传感器:1个
+ 面包板:1块
+ 面包板跳线:若干
## 三、连线示意图
图5-1
## 四、硬件连接图
图5-2
## 五、硬件知识要点
LM35D温度传感器,这款传感器能够测量0-100摄氏度的温度,并以电压的数值输出。从0度开始温度每升高1度输出电压就会提高10mv,这样我们就能够使用模拟口检测传感器的电压,进过简单计算得到当前的温度数值了。
**模块特点:**
1、有较好的线性度和较高的灵敏度。
2、传感器的输出电压与摄氏温度呈线性关系,0℃时输出为0V,每升高1℃,输出电压增加10mv。
3、与Arduino专用传感器扩展板结合使用,可以非常容易地实现与环境温度感知相关的互动效果。
**模块规格:**
+ 主要芯片:LM35
+ 工作电压:5V
+ 传感器类型:模拟
**引脚:**
+ out:输出
+ +:VCC DC4V~6V输入端
+ -:GND 接地端
## 六、程序编写[/md]
- void setup() {
- Serial.begin(9600); //使用9600速率进行串口通讯
- }
- void loop() {
- int n = analogRead(A0); //读取A0口的电压值
- float vol = n * (5.0 / 1023.0*100); //使用浮点数存储温度数据,温度数据由电压值换算得到
- Serial.println(vol); //串口输出温度数据
- delay(2000); //等待2秒,控制刷新速度
- }
复制代码
[md]
## 七、程序知识要点
初始化函数中有一个语句 Serial.begin(9600); 这个语句的目的是初始化串口的参数,arduino内部规定只允许改变波特率参数,其他的参数使用通用数值。如果你需要和其他
的单片机串口通讯,波特率要一致才可以正常工作,否则会出现乱码甚至不能通讯。
## 八、拓展阅读
在进行了上述的试验之后,我们已经学会了使用程序结合LM35温度传感器来进行温度的测试,那么,能否更进一步,将LM35温度传感器测温,与之前的LED结合起来,使用不同颜色的LED,进行不同温度的显示呢?接下来在我们的拓展实验当中,我们将会把LM35温度传感器和之前的LED控制实验结合起来,进行一个温度显示装置的设计。
电路如图5-3所示,
图5-3
我们在电路中加入了黄、绿、红三个颜色的LED灯,以不同颜色的LED来区分不同的温度区域,实验程序如下:[/md]
- void setup() {
- pinMode(13, OUTPUT);
- pinMode(12, OUTPUT);
- pinMode(11, OUTPUT);
- }
- void loop() {
- int vol = analogRead(A0) * (5.0 / 1023.0*100); //读取LM35温度值
- if (vol<=31) //低温区的温度值设置、以及led显示
- {
- digitalWrite(13, HIGH);
- digitalWrite(12, LOW);
- digitalWrite(11, LOW);
- }
- else if (vol>=32 && vol<=40) //中温区温度范围设置 &&为“与”的意思,具体请查阅wiki
- {
- digitalWrite(13, LOW);
- digitalWrite(12, HIGH);
- digitalWrite(11, LOW);
- }
- else if (vol>=41) //高温区温度设置
- {
- digitalWrite(13, LOW);
- digitalWrite(12, LOW);
- digitalWrite(11, HIGH);
- }
- }
复制代码
[md]
在上述程序中,我们可以看到,将温度划分为三个区间,其中低温区为0摄氏度到30摄氏度,在这个区间范围内,会亮起绿色灯,而中温区为31摄氏度到50摄氏度,在这个区间将亮起黄色灯,最后,高于50摄氏度被设置为高温区,高于这个温度将亮起红色灯。这样一款简易的温度显示装置就完成了。
LM35温度传感器除了配合LED使用之外,还有很多其他可以配合的地方,如果我们将它和蜂鸣器配合起来,是不是就可以做出一个温度报警装置呢,当温度高于一定界限时,让蜂鸣器报警,这些有兴趣的同学可以自己去研究了。[/md] |
|