查看“湿度传感器”的源代码
←
湿度传感器
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 目的 == 上一讲我们学习了DHT11温湿度传感器,今天我们用一个精度更高的数字温湿度传感器AM2321。AM2321 数字温湿度传感器是一款含有己校准数字信号输出的温湿度复合型传感器,结合OLED屏的使用,通过OLED显示读取到的温湿度。 == 设备 == *'''[[Microduino-CoreSTM32/zh]]''' Microduino-CoreSTM32小巧精悍,其内核来自于ARM公司具有突破性的Cortex-M3内核的32位闪存微控制器。该内核是专门设计于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。 *'''[[Microduino-Weather/zh|Microduino-Weather扩展板]] ''' Microduino Weather模块集成了三种传感器,分别是光照强度传感器(TSL2561),数字气压传感器(BMP180),数字温湿度传感器(AM2321)。采用I2C接口与核心相连。广泛用于气象监测。 *'''[[Microduino-OLED/zh]]''' Microduino-Oled是基于SSD1306的0.96吋128x64 OLED显示模块。采用I2C接口,3.3V 电源供电。像素为128*64(128列*64行)。 * 其他硬件设备 :*OLED转接线 一根 :*USB数据线 一根 == 文档 == *AM2321传感器产品手册: '''[[File:AM2321.pdf]]''' == 原理 == === AM2321传感器 === '''传感器特性:''' *超小体积 *超低功耗 *超低电压工作 *卓越的长期稳定性 *标准 I2C 及单总线输出 [[File:sensor2_1.jpg|600px|center|thumb]] AM2321传感器引脚分配如下: [[File:sensor2_02.jpg|600px|center|thumb]] '''传感器性能:''' 如下所示: [[File:sensor2_3.jpg|600px|center|thumb]] '''AM2321传感器I2C通信协议''' [[File:sensor2_4.jpg|600px|center|thumb]] *主机发送读帧格式:START+ (I2C 地址+W )+功能码( 0x03) +起始地址+寄存器个数+STOP。 *主机读取返回数据:START+ (I2C 地址+R )+连续读取传感器返回的数据+STOP。 *传感器响应帧格式:功能码( 0x03) +寄存器个数+数据+CRC。 例如读取温湿度: 主机发送的报文格式: [[File:sensor2_5.jpg|600px|center|thumb]] 传感器响应返回的报文格式: [[File:sensor2_6.jpg|600px|center|thumb]] === 原理图 === [[File:sensor2_7.jpg|600px|center|thumb]] AM2321温湿度传感器模块集成在了[[Microduino-Weather/zh|Microduino-Weather扩展板]] 上,所以无需外部接线,直接通过I2C与其通信即可。 [[Microduino-CoreSTM32/zh]]叠加在[[Microduino-Weather/zh|Microduino-Weather扩展板]]上,OLED屏通过转接线与[[Microduino-Weather/zh|Microduino-Weather扩展板]]连接。 ''' 注意:数据线需插在[[Microduino-CoreSTM32/zh]]上,不能插在扩展板上,不然会无法下载程序。 ''' AM2321温湿度传感器位置: [[File:sensor2_8.jpg|600px|center|thumb]] == 程序 == 需要用到的库: 测试程序: 程序说明: *AM2321_Read(unsigned char *buffer,unsigned char n)用于读取温度和湿度。buffer的第一个字节为功能码0x03,第二个字节为读取数据的个数,温度和湿度分别由两个字节表示。 从传感器读回的温湿度值,只要把数值转化成十进制数再除以 10 便是对应的温湿值,对应的温度单位为℃,湿度单位为%RH。 *OLED_displayHT(int16 H,int16 T)函数用于显示读取出来的温湿度值。函数把获取的温湿度值得百十个为分别用转化对应的ASCII码,并送显。 *OLED_showStr(int16 y,int8 *str,int16 size)用于在0-6行中的某一行显示字符串,没行最多只能显示16个字符。 == 调试 == 步骤一:数据线连接到[[Microduino-CoreSTM32/zh]],OLED显示屏通过传接线连接到[[Microduino-Weather/zh|Microduino-Weather扩展板]]。 步骤二:下载AM2321库,把AM2321文件夹拷贝到Maple IDE安装文件下的libraries中,打开测试程序sensor2_humiditySensor。 步骤三:编译程序,下载程序。 步骤四:打开串口监视界面,观察串口监视界面和OLED显示屏上温湿度变化。 == 结果 == 室温下温湿度值稳定,通过给传感器加温加湿后,温湿度上升,使AM2321温湿度传感器再次处于室温条件下,温湿度值又慢慢恢复到之前室温稳定值,期中温度值得上升和回降相对缓慢。 [[File:sensor2_9.jpg|600px|center|thumb]] [[File:sensor2_10.jpg|600px|center|thumb]] [[File:sensor2_11.jpg|600px|center|thumb]] [[File:sensor2_12.jpg|600px|center|thumb]] == 视频 ==
返回至
湿度传感器
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息