Arduino周边模块:传感器部件(温敏、光敏、湿敏)
Arduino周边模块:传感器部件(温敏、光敏、湿敏)
Arduino周边模块:传感器部件(温敏、光敏、湿敏)
Arduino的模数转换
对于Arduino来说,它只认识数字量,模拟量对其来说就是一门”外语”。
模拟量:时间与数值上均是连续的物理量。
数字量:时间与数值上均是离散的物理量。
而模数转换电路能够将模拟量转化为数字量。
模数转换原理:
- 时间上的离散——采样
每隔一定的时间,就对模拟量的大小进行采集。采样的频率越高,模数转换的效果也就越好。一般采样的频率要大于信号频率的两倍。 - 数值上的离散——量化与编码
例如: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周边模块:传感器部件(温敏、光敏、湿敏)的更多相关文章
- Arduino周边模块:执行部件(舵机、直流电机、步进电机)
Arduino周边模块:执行部件 Arduino周边模块:执行部件 嵌入式系统的构成 如今已经有各种各样的基于Arduino的嵌入式系统, 比如:智能小车.3D打印机.机器人,甚至还有基于Arduin ...
- Arduino周边模块:LED部件
Arduino周边模块:LED部件 Arduino周边模块:LED部件 1. LED的使用 LED的原理: LED是会发光的二极管,它具有单向导电性.两端加上正向电压,即能将电能转化为光能. 正向电压 ...
- Arduino周边模块:LCD与数码管
Arduino周边模块:LCD与数码管 Arduino周边模块:LCD与数码管 数码管的介绍 数码管一般是用来显示数字和字符的 数码管原理 一位数码管 该图是一个8段数码管,该数码管中包含了8个LED ...
- 【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信
[Arduino]开发入门[十]蓝牙模块 首先show一下新入手的蓝牙模块 蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机 ...
- Arduino 各种模块篇 粉尘传感器 dust sensor 空气质量检测
Testing a sensor from here. http://www.seeedstudio.com/wiki/Grove_-_Dust_Sensor It's a dust sensor. ...
- Arduino 各种模块篇 光敏感应模块 light sensor
It looks like this one: This one isn't a digital light sensor, so it's very simple. http://www.seeed ...
- Arduino蓝牙模块实现通信
蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有 ...
- Arduino 各种模块篇 摇杆模块
Arduino的另外几种模块,我们常见的joystick摇杆模块. 用起来很爽,摇杆 有X,Y轴可调 这里有一篇非常想尽的示例代码: http://www.geek-workshop.com/foru ...
- Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯
解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...
随机推荐
- PlSql复制角色、权限和添加角色权限
一.登录你想要复制数据库的用户
- Java 面向对象(转)
转自:http://blog.sina.com.cn/s/blog_83c5190f01010ate.html 1.我们可以把JAVA中的类分为以下三种: 类:使用class定义且不含有抽象方法的类. ...
- javascript EcmaScript5 新增对象之Object.freeze
我们都知道在js里对象是很容易改变的 var obj1 ={ a:'111' } obj1.a = '222'; console.log( obj.a ) //output 222 对象的属性发生了变 ...
- 三维扫描 FZU 1063
Description 工业和医学上经常要用到一种诊断技术——核磁共振成像(Magnetic Resonance Imagers).利用该技术可以对三维物体(例如大脑)进行扫描.扫描的结果用一个三维的 ...
- php in_array 和 str_replace
有这样的用法哦 $allow_state_array_invoc = array('store_invoice','invoiceno','invoicerec','invoiceing'); if ...
- Print! Print! Print!
print语句可以实现打印--只是对程序员友好的标准输出流的接口而已. 从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流. 更详细地说,在Python中 ...
- UVA 120 Stacks of Flapjacks
每次从最底部开始处理,如果不是最大值,则把最大值翻到底部.这就是最优解.原理自己模拟一下就好... 注意半径不是从1开始.数据处理要仔细. #include <iostream> #inc ...
- MYSQL 提取时间中的信息的 4 方法
方法 1. year(),month(),day() 方法 2. dayofweek(),dayofmonth(),dayofyear(); 方法 3. hour(),minute(),second( ...
- NEC遥控信号解码(包含完整代码)
一.遥控器解码说明 1.遥控器的编码格式常见有两种,一种是NEC 格式,一种是RC5 格式.遥控器发出的信号,通过一个红外的接收头之后,信号被送到MCU 的一个中断引脚.通过MCU 来识别不同的时序, ...
- Java 基础类型
在Java中,基本的数据类型主要有8种: 1)int 4 字节(byte) -2的31次方到2的31次方-1 2)short 2 字节(byte) -2的15次方到2的15次方-1 3)long ...