Arduino的扩展库
诺
数的使用。
扩
展
(3) 导入函数库。开发环境的菜单Sketch →imp-
库
ort Library → 选择具体的库 。
A d
5.2 创建自己的Arduino库
u
i 1、类的定义
n
o
C++ 类定义的形式如下,MorseCode为类名。
class MorseCode
第 5
{
章
private:
阿
//定义私有数据成员和函数;
A
d 2、Arduino扩展库的使用
u
i n
Arduino扩展库的使用分三步:
o
(1) 要确定Arduino开发环境目录下的libraries文
件夹包含要使用的库,如果是从网络上下载
第 5
的其它扩展库,也要复制到该目录下。
章
(2) 要了解扩展库的成员,一般在扩展库文件夹
阿 帝
下有个Example,可帮助我们理解类成员函
i n
8bit湿度整数数据 + 8bit湿度小数数据 +
o
8bit温度整数数据 + 8bit温度小数数据 +
8bit校验位
第 5
◎ 校验位数据定义为前四部分之和的后 8 位。
章
示例一:接收到的40位数据为:
阿
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101
帝
public:
诺 扩
//定义公有数据成员和函数;
展
protected:
库
//定义保护数据成员和函数;
}
A
一般的,C++的类分两个部分,类的定义部分放
d
u 在一个后缀名为“.h”的头文件中,类的实现部分放
i n
在一个后缀名为“.cpp”的文件中。
o
本例的类文件分别保存为Morse.h、MorseCode-
帝 完成。设备(主机或从机)通过一个漏极开路或三态
诺 扩
端口连至该数据线,以允许设备在不发送数据时能够
展 释放总线,而让其它设备使用总线;单总线通常要求
库 外接一个约 5.1kΩ的上拉电阻,这样,当总线闲置时
,其状态为高电平。
A d u
◎ 采用单总线传输的数据格式,一次传送40位数据 ,高位先出。
诺
重 复 性: ±1%RH
扩 展
精 度: 25℃ ±2%RH
库
响应时间: 25℃ 6s
A (2) 温度
d
u
分 辨 率:0.1%RH 16Bit
i n
重 复 性:±0.2℃
o
量程范围:25℃ ±0.2℃
-40~80℃ ±1℃
第
响应时间:1/e(63%) 10S
5
章
阿 (3) 电气特性
帝 诺
供 电:DC 3.5-5.5V
第
5
章
阿 帝 诺 扩 展 库
A d
6.3 DTH11温湿度传感器
u
i 1、产品概述
n o
DHT11 数字温湿度传感器是一款含有已校准数
字信号输出的温湿度复合传感器。它应用专用的数字
第 模块采集技术和温湿度传感
5 章
技术,确保产品具有极高的
阿 可靠性与卓越的长期稳定性
帝 。传感器包括一个电阻式感
诺
扩 湿元件和一个NTC 测温元件
菜单,此时应能看到Morse菜单项。
A 3、使用自定义函数库
d
u
目前Arduino的IDE无法自动识别自定义函数库
i
n 里的内容,所以需要给Arduino一点帮助:在Morse
o 的文件夹里,创建一个叫keywords.txt文件。
第
注意:类名的类型是KEYWORD1,公共函数的类型
5
是KEYWORD2,常量的类型是LITERAL1。
章
阿
Morse
KEYWORD1
帝 诺
Dash
KEYWORD2
扩
dot
KEYWORD2
展
库
ET
LITERAL1
OT
LITERAL1
A d
4、对象的创建及成员函数的调用
u
对象的创建就象变量定义一样简单。
i
n
#include <Morse.h>
o
MorseCode morse;
morse.dot( );
A d
第5章 Arduino的扩展库
u
i
n o
本章内容:
第 Arduino扩展库
5
章
创建自己的展
库 自定义函数库dht的使用
A d
5.1 Arduino 扩展库
u
i 1、什么是Arduino扩展库
n
o
使用 C++ 类将Arduino的某一类外设的复杂应用
,尤其是将硬件底层的具体实现封装起来,对外提供
展 库
,并与一个高性能 8 位单片
机相连接。如图 2 所示。
图2 DTH11温湿度传感器实物图
A d
2、应用范围
u
暖通空调、除湿器、测试及检测设备、消费品、
i n
汽车、自动控制、数据记录器、气象站、家电、湿度
o 调节器、医疗、其他相关湿度检测控制。
第 3、产品参数
5
章 (1) 相对湿度
阿 帝
分 辨 率: 0.1%RH 16Bit
帝
诺
湿度高8位 湿度低8位 温度高8位 温度低8位 校验位
扩 展
0011 0101+0000 0000+0001 1000+0000 0000= 0100 1101
库
接收数据正确:
湿度:0011 0101=35H=53%RH
温度:0001 1000=18H=24℃
第 标准的、统一的接口,使得用户对开发 Arduino 的应
5
章 用变得十分容易。由现有的这样的一系列的C++类就
阿 组成了 Arduino 的扩展库。
帝
诺 扩
Arduino扩展库作用:
展
将硬件底层的应用封装起来;
库
针对具体应用编写相应的库;
数据存储
A d
EEPROM库
u
数据通信
i
n
SoftwareSerial库
无线通信
o
HardwareSerial库
XBee库
第
Arduino
5
扩展库
章
阿 帝 诺 扩 展 库
OneWire库 Wire库 SPI库
舵机控制
Servo库
步进电机
Stepper库
液晶显示
LiquidCrystal库
PWM扩展
TLC5940库
以太网络
Ethernet库
图1 Arduino类库结构示意图
.cpp 。
第
5 章
2、引入自定义函数库
阿 帝
在代码库(libraries)目录下,创建一个文件夹,名
诺 字为“Morse”,并将MorseCode.h、MorseCode.cpp
扩 展
两个文件拷贝到“Morse”文件夹下。
库
启动Arduino IDE,打开Sketch→Import Library
扩 展
供电电流:测量0.3mA 待机 60μA
库
采样周期:大于2秒/次
A (4) 引脚说明
d
u
VDD 供电3.5-5.5V DC
i
DATA 串行数据,单总线
n o
GND 接地,电源负极
NC 空脚
第 4、串行通信
5
章
DHT11器件采用简化的单总线通信。单总线即只
阿 有一根数据线,系统中的数据交换、控制均由单总线