“温湿度传感器”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
开发
 
第2行: 第2行:
 
|-
 
|-
 
|
 
|
==概述==
+
<p style="color: #4F4E4E;font-size:220%">'''Sensor-Tem_Hum库-检测温湿度示例'''</p>
采用AM2321数字温湿度传感器,能检测出环境的温湿度值。传感器包括一个电容式感湿元件和一个高精度集成测温元件,并与一个高性能微处理器相连接。具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
+
<br>
 +
在下面的示例中,使用Core核心通过[[Sensor-Tem&Hum-S2/zh|Sensor-Tem&Hum-S2]]检测温湿度,并将数据通过串口监视器打印出来。
 +
<br>
 +
<br>
 +
<p style="color: #E87E05;font-size:135%">所需硬件</p>
 +
*[[mCookie-Core]]
 +
*[[mCookie-Battery]]
 +
*[[mCookie-Hub/zh|mCookie-Hub]]
 +
*[[Sensor-Tem&Hum-S2/zh|Sensor-Tem&Hum-S2]]
 +
<br>
 +
[[File:Sensor-Tem&Hum-S2_module.jpg|500px|center]]
 +
<br>
 +
<br>
 +
<p style="color: #E87E05;font-size:135%">电路搭建</p>
 +
将Sensor-Tem&Hum-S2接到Hub的IIC引脚。
 +
<br>
 +
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。初次使用请参考:[[AVR核心:Getting_started/zh|Getting Started]]。
 +
<br>
 +
[[File:Sensor-Tem&Hum-S2_circuit.jpg|500px|center]]
 +
<br>
 +
<br>
 +
<p style="color: #E87E05;font-size:135%">代码</p>
 +
<source lang="cpp">
 +
/*
  
==规格==
+
    获取Sensor-Tem&Hum-S2的温湿度,串口监视器打印数据。并且检测传感器是否在线。
*电器规格
 
**工作电压:2.6~5V;
 
**输入设备
 
*技术参数
 
**精度:温度0.1°C,相对湿度0.1%RH;
 
**量程:温度:-40-80℃
 
*尺寸
 
**传感器大小:8mm*11mm,
 
**板子大小:20mm*10mm
 
**1.27mm间距的4Pin接口;
 
*接法
 
**接口:I2C。
 
**引脚说明:GND、VCC、信号1、信号2,该输出信号为IIC信号,需要使用IIC接口来接收信号。可以接到Hub的IIC号引脚。
 
  
==开发==
+
    电路:
===设备===
+
      接到核心的IIC引脚
{|class="wikitable"
 
|-
 
|模块||数量||功能
 
|-
 
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|[[mCookie-Hub/zh]]||1||传感器转接板
 
|-
 
|[[Microduino-Temp&Hum/zh]]||1||温湿度传感器
 
|}
 
  
*其他硬件设备
+
    2017年7月12日修改
**USB数据连接线  一根
+
    By YLB
[[File:Temp-Hum.jpg|600px|center]]
+
*/
  
===准备===
+
#include <Microduino_Tem_Hum.h>
*Setup 1:将Microduino-Temp&Hum和Hub的IIC接起来。
 
[[file:mCookie-Temp&Hum-sensor.JPG|600px|center]]
 
*Setup 2:将CoreUSB,Hub,Temp&Hum连接在一起。通过USB数据线将接入电脑。
 
[[file:mCookie-Temp&Hum-pc.JPG|600px|center]]
 
  
===实验:检测温湿度值===
+
Tem_Hum_S2  termo; //调用Sensor-Tem&Hum-S2传感器
*打开Arduino IDE,将下列代码复制到IDE中。
 
<source lang="cpp">
 
#include <Wire.h>
 
#include <AM2321.h>
 
  
void setup() {
+
void setup()
 +
{
 
   Serial.begin(9600);
 
   Serial.begin(9600);
 +
  Serial.print("Tem_Hum_S2:");
 +
  Serial.print(termo.begin());  //初始化温湿度传感器,并串口打印传感器是否在线
 +
  delay(1000);
 
}
 
}
  
void loop() {
+
void loop()
  readByAM2321();
 
  delay(500);
 
}
 
 
 
void readByAM2321()
 
 
{
 
{
   AM2321 am2321;
+
   Serial.print("Tem_Hum_S2 Tem:");
   am2321.read();
+
   Serial.print(termo.getTemperature()); //串口打印获取的温度
 
+
   Serial.print("\t");
   Serial.print("(");
+
   Serial.print("Tem_Hum_S2 Hum:");
   Serial.print(am2321.temperature/10.0);
+
  Serial.println(termo.getHumidity()); //串口打印获取的湿度
   Serial.print(", ");
+
   Serial.println("------------------");
   Serial.print(am2321.humidity/10.0);
+
  delay(1000);
   Serial.println(')');
+
   Serial.print("onLine:");
 +
   Serial.println(termo.begin()); //串口打印传感器是否在线
 
}
 
}
 
</source>
 
</source>
*在Arduino IDE的工具(Tools)→端口(Serial Port)里面选择正确的端口号。
+
<br>
[[file:upload.JPG|600px|center]]
+
<p style="color: #E87E05;font-size:135%">相关案例</p>
*编译完成后直接下载程序。
+
*[[Sensor_Tem_Hum_Reference]]:Sensor-Tem_Hum控制库。
[[file:upload-hum.JPG|600px|center]]
+
<br>
*下载完毕你可以打开串口监视器,显示的数值大小即反应了当前传感器检测的温湿度。
+
<br>
[[file:mCookie-Temp-Hum-res.JPG|600px|center]]
+
<p style="font-size:115%">[[Sensor-Tem&Hum-S2/zh|返回Sensor-Tem&Hum-S2界面]]</p>
 
 
===程序调试===
 
*程序调用了AM2321温湿度采集的库,定义了驱动库文件“#include <Wire.h>”,“#include <AM2321.h>”。
 
*“am2321.temperature/10.0”为计算的温度值,“am2321.humidity/10.0”为计算的湿度值。
 
 
 
==应用==
 
暖通空调 、除湿器、测试及检测设备、消费品、汽车 、自动控制、数据记录器、气象站、家电、湿度调节、医疗 、及其他相关湿度检测控制。
 
 
 
==视频==
 
 
 
 
|}
 
|}

2017年8月3日 (四) 07:26的最新版本

Sensor-Tem_Hum库-检测温湿度示例


在下面的示例中,使用Core核心通过Sensor-Tem&Hum-S2检测温湿度,并将数据通过串口监视器打印出来。

所需硬件




电路搭建

将Sensor-Tem&Hum-S2接到Hub的IIC引脚。
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。初次使用请参考:Getting Started



代码

/*

    获取Sensor-Tem&Hum-S2的温湿度,串口监视器打印数据。并且检测传感器是否在线。

    电路:
      接到核心的IIC引脚

    2017年7月12日修改
    By YLB
*/

#include <Microduino_Tem_Hum.h>

Tem_Hum_S2  termo; //调用Sensor-Tem&Hum-S2传感器

void setup()
{
  Serial.begin(9600);
  Serial.print("Tem_Hum_S2:");
  Serial.print(termo.begin());  //初始化温湿度传感器,并串口打印传感器是否在线
  delay(1000);
}

void loop()
{
  Serial.print("Tem_Hum_S2 Tem:");
  Serial.print(termo.getTemperature()); //串口打印获取的温度
  Serial.print("\t");
  Serial.print("Tem_Hum_S2 Hum:");
  Serial.println(termo.getHumidity()); //串口打印获取的湿度
  Serial.println("------------------");
  delay(1000);
  Serial.print("onLine:");
  Serial.println(termo.begin());  //串口打印传感器是否在线
}


相关案例



返回Sensor-Tem&Hum-S2界面