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. Android studio教程:[6]创建多个Activity

    通常来说,一个android应用程序不止一个Activity(活动),更不止一个界面.于是需要创建多个Activity来满足应用程序的要求,这里我将告诉大家如何添加新的Activity,并实现Acti ...

  2. 安装apache mysql 论坛(一)

    安装mysql: 注: yum文件配置: 检查配置文件: 启动:service mysqld start 查询表: apache安装 启动: 查看端口: 欢迎界面: 如果服务了4000次,会主动销毁, ...

  3. Spring 入门 Ioc-Annotation

    通过对XML版本进行修改:http://www.cnblogs.com/likailan/p/3446821.html 一.导入 Spring 所需要的包 spring-framework-2.5.6 ...

  4. Android图片下载到本地,系统图库不显示

    可能大家都知道我们下载图片到Android手机的时候,然后调用系统图库打开图片,提示"找不到指定项". 那是因为我们插入的图片还没有更新的缘故,所以只要将图片插入系统图库,之后发条 ...

  5. Python和C#基本算法实现对比

    最近在学习python,很多入门的例子又写了一遍,基本上是C#和Python都写了一遍,对比发现语言真是相通啊,只是语法不同而已. python开发也是用的VS,很好用,特别是代码段运行,选中一段py ...

  6. gcc常用命令集

    引用:http://developer.51cto.com/art/200609/32317_1.htm 对于GUN编译器来说,程序的编译要经历预处理.编译.汇编.连接四个阶段 假设源程序文件名为te ...

  7. js 控制不能输入空格

    onkeydown="if(event.keyCode==32) return false"

  8. 整理:GET与POST的区别

    1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的. (1).所谓安全的意味着该操作用于获取信息而非修改信息.换句话说,GET 请求一般不应产生副作用.就是说,它仅仅是获取资源信息,就 ...

  9. Python之路第七天,基础(9)-面向对象(上)

    面向对象的编程思想 回想 我们所学过的编程方法: 面向过程:根据业务逻辑从上到下写堆叠代码. 函数式编程:将重复的代码封装到函数中,只需要写一遍,之后仅调用函数即可. 面向过程编程最易被初学者接受,其 ...

  10. HeadFirst设计模式读书笔记--目录

    HeadFirst设计模式读书笔记(1)-策略模式(Strategy Pattern) HeadFirst设计模式读书笔记(2)-观察者模式(Observer Pattern) HeadFirst设计 ...