Arduino周边模块:传感器部件(温敏、光敏、湿敏)

Arduino周边模块:传感器部件(温敏、光敏、湿敏)

Arduino的模数转换

对于Arduino来说,它只认识数字量,模拟量对其来说就是一门”外语”。

模拟量:时间与数值上均是连续的物理量。

数字量:时间与数值上均是离散的物理量。

而模数转换电路能够将模拟量转化为数字量。

模数转换原理:

  1. 时间上的离散——采样



    每隔一定的时间,就对模拟量的大小进行采集。采样的频率越高,模数转换的效果也就越好。一般采样的频率要大于信号频率的两倍。
  2. 数值上的离散——量化与编码

    例如:3位精度的模数转换器

Arduino中的模数转换器



Arduino模数转换库函数:

analogReference()

analogRead()

实例:

1.void setup()
2.{
3. Serial.begin(9600);//初始化串口的数值
4.}
5.void loop()
6.{
7. int sensorValue=analogRead(A0);
8. Serial.println(sensorValue);//输出数值
9. delay(500);//延时
10.}

点击上传到Arduino之后,在Tools–>Serial Monitor中可查看传感器读取的数值


传感器是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

传感器分类:热敏、光敏、声敏、气敏、化学、力敏、磁敏、湿敏、色敏、味敏


使用Arduino监控室内温度

热敏传感器(温度传感器):将温度信息转化为电信号的器件

一般使用LM35D

参数:

测温范围:0~100℃

测温精度:0.5℃

工作电压:4~30V

测温原理:将温度转换为等比例的电压输出

0℃时输出0V。温度每升高1℃,输出电压增加10mV

连接:

温度传感器与Arduino连接图



Arduino温度监控系统连接图

代码:

1.#include <LiquidCrystal.h>
2.LiquidCrystal lcd(12,11,5,4,3,2);
3.int SensorPin=A0;
4.float getTemperature()
5.{
6. float voltage=analogRead(SensorPin)/1024.0*5;
7. float temperature=voltage/0.01;
8. return temperature;
9.}
10.
11.void setup()
12.{
13. lcd.begin(16,2);//初始化LCD1602
14.}
15.void loop()
16.{
17. lcd.clear();
18. lcd.print("Temperature is");
19. lcd.setCursor(0,1);
20. lcd.print(getTemperature());
21. delay(500);
22.}

使用Arduino检测室内光线强弱

光敏传感器:光敏电阻是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。

光线强度测量电路

硬件连接

实现功能:当光线弱时LED点亮,当光线较强时LED熄灭



程序编写

1.void setup()
2.{
3. Serial.begin(9600);
4.}
5.void loop()
6.{
7. int sensorValue=analogRead(A0);
8. Serial.println(sensorValue);
9. delay(500);
10.}

然后用手挡住光敏传感器,发现当手挡住光线时,读回来的值都大于950

1.int ledPin=6;
2.void setup()
3.{
4. pinMode(ledPin,OUTPUT);
5. Serial.begin(9600);
6.}
7.void loop()
8.{
9. int sensorValue=analogRead(A0);
10. Serial.println(sensorValue);
11. if(sensorValue>950)
12. {
13. digitalWrite(ledPin,HIGH);
14. }else
15. {
16. digitalWrite(ledPin,LOW);
17. }
18. delay(500);
19.}

使用Arduino检测湿度

湿度传感器:基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。



与光线传感器连接类似

程序:

1.void setup()
2.{
3. Serial.begin(9600);
4.}
5.void loop()
6.{
7. int sensorValue=analogRead(A0);
8. Serial.println(sensorValue);
9. delay(500);
10.}

程序运行后读取数据都在1000以上,把传感器插入水中,其读数都是小于100的,因此我们要根据自己的需要调整湿度。此处取200.

1.led ledPin=6;
2.void setup()
3.{
4. pinMode(ledPin,OUTPUT);
5. Serial.begin(9600);
6.}
7.void loop()
8.{
9. int sensorValue=analogRead(A0);
10. Serial.println(sensorValue);
11. if(sensorValue>200)
12. {
13. digitalWrite(ledPin,HIGH);
14. }
15. delay(500);
16. digitalWrite(ledPin,LOW);
17.}

Arduino周边模块:传感器部件(温敏、光敏、湿敏)的更多相关文章

  1. Arduino周边模块:执行部件(舵机、直流电机、步进电机)

    Arduino周边模块:执行部件 Arduino周边模块:执行部件 嵌入式系统的构成 如今已经有各种各样的基于Arduino的嵌入式系统, 比如:智能小车.3D打印机.机器人,甚至还有基于Arduin ...

  2. Arduino周边模块:LED部件

    Arduino周边模块:LED部件 Arduino周边模块:LED部件 1. LED的使用 LED的原理: LED是会发光的二极管,它具有单向导电性.两端加上正向电压,即能将电能转化为光能. 正向电压 ...

  3. Arduino周边模块:LCD与数码管

    Arduino周边模块:LCD与数码管 Arduino周边模块:LCD与数码管 数码管的介绍 数码管一般是用来显示数字和字符的 数码管原理 一位数码管 该图是一个8段数码管,该数码管中包含了8个LED ...

  4. 【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

    [Arduino]开发入门[十]蓝牙模块 首先show一下新入手的蓝牙模块 蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机 ...

  5. Arduino 各种模块篇 粉尘传感器 dust sensor 空气质量检测

    Testing a sensor from here. http://www.seeedstudio.com/wiki/Grove_-_Dust_Sensor It's a dust sensor. ...

  6. Arduino 各种模块篇 光敏感应模块 light sensor

    It looks like this one: This one isn't a digital light sensor, so it's very simple. http://www.seeed ...

  7. Arduino蓝牙模块实现通信

    蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有 ...

  8. Arduino 各种模块篇 摇杆模块

    Arduino的另外几种模块,我们常见的joystick摇杆模块. 用起来很爽,摇杆 有X,Y轴可调 这里有一篇非常想尽的示例代码: http://www.geek-workshop.com/foru ...

  9. Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯

    解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...

随机推荐

  1. shopnc数据库 批量修改商品价格

    1.商品价格统一上调50 2.商品价格个别上调50 UPDATE `nc_goods` SET `goods_price` = `goods_price` +50 where goods_id!=10 ...

  2. iOS正则表达式的使用

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  3. IDEA12 KeyGen Download List

    When you use IDEA to develop Java, you can use the following file to generate lincese. Because CNBlo ...

  4. Mysql ORM工具--MicrobeORM.Mysql开源咯

    MicrobeORM.Mysql 补充:为啥批批量比官方的ADO.NET还快,原因是这俩货 System.EnterpriseServices.dllSystem.EnterpriseServices ...

  5. Dependency Walker使用说明

    Dependency Walker使用说明 标签: dllexewindowsvbqq工具 2010-03-29 11:10 25175人阅读 评论(22) 收藏 举报  分类: 基本常识(45)  ...

  6. html5 web worker

    A web worker is a JavaScript running in the background, without affecting the performance of the pag ...

  7. (九)boost库之文件处理filesystem

    (九)boost库之文件处理filesystem   filesystem库是一个可移植的文件系统操作库,它在底层做了大量的工作,使用POSIX标准表示文件系统的路径,使C++具有了类似脚本语言的功能 ...

  8. OSCHina技术导向:Java WEB企业门户平台Liferay

    Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了We ...

  9. JIRA官方:JIRA亮点介绍

    操作超级简单 简单不意味着要以牺牲功能作为代价.JIRA提供了友好.直观的可配置的Web界面,并支持大量的快捷键操作. 跟踪任何事务 跟踪问题.任务.需求,当然还有软件缺陷.定义你自己的事务类型来使之 ...

  10. linux之普通用户与root用户之间切换