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. UIView的clipsTobounds属性

    这里的clip是修剪的意思,bounds是边界的意思,合起来就是:如果子视图的范围超出了父视图的边界,那么超出的部分就会被裁剪掉.该属性在实际工程中还是非常实用的,必须要了解清楚.

  2. CSS+DIV实现文字一行内显示,并且过多的文字以点来代替

    有些时候我们在使用CSS+DIV进行排版实现大量的文字的时候,为了页面的美观,这里需要将文字在div中一行显示,并且将过多的文字进行隐藏,以点号进行代替.当鼠标放上面的时候会以title的形式显示所有 ...

  3. sqlite数据库常用语句

    这个文件型数据库小巧好用,可以替代ACCESS,以下是常用的语句 获取数据库时间(设计表字段时的当前时间默认值) sqlite        datetime('now', 'localtime') ...

  4. Entity Framework 利用 Database.SqlQuery<T> 执行存储过程,并返回Output参数值

    做个记录: var pCount = this._dataProvider.GetParameter(); pCount.ParameterName = "totalCount"; ...

  5. 接口(三)——JAVA的多重继承

    一.接口的作用 ①.为了能够向上转型为多个基类型 ②.防止客户端程序员创建该类的对象——同抽象类 二.通过继承扩展接口 interface Monster{ void menace(); } inte ...

  6. ASP.NET 短路由配置

    1. 首先在项目新建文件叫App_Code或者App_Start 在文件中新建WebFromRouteHandler.cs 文件. WebFromRouteHandler中的代码如下, public  ...

  7. 仿制的ActivityIndicatorView

    仿制Github上CSS3效果制作的几个简单的ActivityIndicator,复习一下IOS动画操作. 原效果连接:https://github.com/tobiasahlin/SpinKit 代 ...

  8. WIN7 Wireshark: There are no interfaces on which a capture can be done

    有的时候我们在Windows7的环境下使用Wireshark的时候,比如点击[Interface List]的时候,出现错误. 错误内容如下: There are no interfaces on w ...

  9. HDU 1796 Howmany integers can you find (容斥原理)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  10. chrome console 调试xpath

    chrome console F12->$x(“//title”) [<title>Online Tools for Software Developers (Free)</t ...