温度湿度声音传感器

上传人:wt****50 文档编号:54415486 上传时间:2018-09-12 格式:PPT 页数:12 大小:1.89MB
返回 下载 相关 举报
温度湿度声音传感器_第1页
第1页 / 共12页
温度湿度声音传感器_第2页
第2页 / 共12页
温度湿度声音传感器_第3页
第3页 / 共12页
温度湿度声音传感器_第4页
第4页 / 共12页
温度湿度声音传感器_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《温度湿度声音传感器》由会员分享,可在线阅读,更多相关《温度湿度声音传感器(12页珍藏版)》请在金锄头文库上搜索。

1、用 Arduino 和温度传感器测量温度,认识温度传感器 温度传感器按照输出信号的模式,可大致划分为三大类:数字式温度传感器、逻辑输出温度传感器、模拟式温度传感器。,LM35 系列传感器是在 LM135 的基础上发展起来的一种精密集成电路温度传感器,其输出的电压线性地与摄氏温度成正比。因此,LM35 比按绝对温标校准的线性温度传感器优越感得多。LM35 系列传感器生产制作时已经过校准,输出电压与摄氏温度一一对应,使用极为方便。灵敏度为 10.0mV/,精度在 0.4至 0.8(-55至+150温度范围内),重复性好,低输出阻抗,线性输出和内部精密校准使其与读出或控制电路接口简单和方便,可单电源

2、和正负电源工作。,在将温度传感器 LM35 接入电路之前,先需要明确各管脚的接法,如图所示。将 LM35 有字的一面正对我们,其中最左边的 Vcc 连接到 Arduino 板子的 5V 电压,最右边的 GND 接在 Arduino 板子的 GND 上,中间管脚则连接到 Arduino 板子上的模拟端口 A0。,1) 工作原理 通过温度传感器 LM35 将采集到的电压数据,通过 Arduino 主板上的模拟端口(在本次实验中的模拟端口是 A0),按照 LM35 摄氏温度与电压 的线性关系转换成摄氏温度的形式输出。 通过查询,得知温度传感器 LM35 与电压的对应关系是:1 摄氏度对应的电压是 1

3、0mV,且是线性关系。那么现在从 A0 可以知道温度传感器 LM35 所测得的电压数值为 n。值得指出的是,电压 n 是离散的, 且其范围在 01024 之间,所以,还需换算成连续的电压。Arduino 主板提供的电压是 5V,其对应的离散数值是 1024, 那么现在是,其对应的电压值时多少 V 呢?这个值算出来后就可以知道温度。计算一下,假设 Arduino 上 A0 端口换算后的连续电压用 U 来表示,则,.,vol 就是要得到的温度(),n 是可以通过 Arduino 主板上的 A0 端口测得,所 以,由(1)可以计算出 A0 端口所对应的模拟电压 UV。在将计算出来的 UV 代入式(2

4、),即可 得到我们所要显示的温度。在后面的实验中,将此 vol 利用 Arduino 自带的串口监视 器显示输出。,打开 Arduino 主板自带的串口监视器,注意串口的速度要设置成跟程序一致。,湿度传感器,.,使用这个传感器制作一款 自动浇花装置,可以让花园里的植物不用人去管理。 将它插入土壤,然后使用AD转换器读取它。接口定义:1脚信号,2脚地,3脚电源正 典型电压值 0 300 : 干燥土壤 300700 : 湿润土壤 700950 : 放到水中,土壤湿度传感器是判断土壤中水分含量的多少来判定土壤的湿度大小。如图所示,当土壤湿 度传感器探头悬空时,三极管基极处于开路状态,三极管截止输出为

5、0; 当插入土壤中时由于土壤中水分含量不同,土壤的电阻值就不同,三极管的基极就提供了大 小变化的导通电流,三极管集电极到发射极的导通电流受到基极控制,经过发射极的下拉电 阻后转换成电压。,Arduino实验代码如下: void setup() Serial.begin(57600); /打开串口并设置通信波特率为57600 void loop() Serial.print(“Moisture Sensor Value:“); Serial.println(analogRead(0); /读取模拟输入引脚的值并通过串口返回delay(100); ,在Arduino上接一个声音传感器,来感知环境声

6、音的大小.原理用一个话筒(electret microphone)收集声音,将过放大之后接到Arduino的模拟输入端口上,这样当人对着话筒说话的时候,在Arduino的模拟输入端口上就能感知到电压的变化,说话声音越大,电压变化的幅度越大。,声音传感器,该传感器同样有三根连线,5V和Gnd分别接Arduino的5V和Gnd两个引脚,OUT则要接在Arduino上的模拟输入端口上。,int soundPin = 0; int value = 0;void setup() Serial.begin(9600); void loop() value = analogRead(soundPin);if (value 400) Serial.println(value, DEC);delay(300); 上述程序不断地从模拟输入端口0上读入声音传感器的值,一当发现其值大于400,随即激活相应的动作。这里只是简单地将值从串口输出来,你完全可以根据自己的实际需要做相应的处理。当然,到底需要设置多大的门限值是合适的,需要根据你自己的实际情况进行设置.,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号