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 ...
随机推荐
- oracle数据库10g下载地址
Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit ...
- Perfect Squares
Perfect Squares Total Accepted: 18854 Total Submissions: 63048 Difficulty: Medium Given a positive i ...
- $digest already in progress
最近在写项目时经常遇到一个小问题,在上下文外改变视图,通常来说我们需要apply()便可以实现,问题是加了apply()后控制台报错:$digest already in progress:随后我把a ...
- cocos2d.js
1.节点是Cocos2d最基础的东西 2.坐标与普通数学坐标一致 3.children属性表示节点的孩子,父节点位置变化,它包含的子节点也会跟着变化,以整体的形势移动 4.层(layer), 新建层: ...
- EntityFramework+Autofac+MVC+EasyUI 搭建公司基本服务项目
去年年底用了2个星期的时间搭建了 这套框架,从ORM,IOC,MVC,EasyUI都仔细的研究了下,还有日志,异常等等.mvc 我已经开发过很多项目了,我就觉得自己写套框架,看看自己的水平如何.欢迎大 ...
- jquery $ dollar符号用法总结
参考:https://github.com/chyingp/blog/blob/master/jquery/jQuery%E6%BA%90%E7%A0%81-%E7%BE%8E%E5%85%83$%E ...
- android开发的问题集(二)
(1)子线程对UI线程操作的简便方法 子线程方法用 Looper.prepare(); 结束时候用 Looper.loop();
- 启动Tomcat的几种方式
启动Tomcat有两种场景,一是部署时启动,二是开发时启动.部署时基本上是通过war包来启动,而开发时的启动方式多种多样,下面拟介绍几种适用于开发时启动Tomcat的方法. 在DOS命令行启动 Apa ...
- Easy UI treegrid 分页实例
转自:http://www.jeasyuicn.com/jquery-easyui-treegird-page-processing.html
- Qt widgets deeps--烧鸡
1,Qt类读取目录 QDir读取目录内容--将读取结果输出到一个QMultiLineEdit对象 QMultiLineEdit *medit; medit = new QMultiLineEdit(t ...