hanreng 发表于 2021-6-30 09:40:16

基于Arduino使用GY-21-HTU21水分传感器模块

本帖最后由 hanreng 于 2021-7-1 13:42 编辑

基于Arduino使用GY-21-HTU21水分传感器模块

产品介绍
HTU21温度和湿度传感器潜入了适于回流焊的双列扁平无引脚DFN封装,底面3*3mm,高度1.1mm。传感器输出经过标定的数字信号,标准12C格式。HTU21温度和湿度传感器为OEM应该提供一个准确可靠的温湿度测量数据,通过一个微控制器的接口和模块连接达到温度和湿度数字输出。HTU21的分辨率可以通过命令进行改变(8/12bit乃至12/14bit的RH/T),传感器可以检测到电池电量状态,并且输出校验和,有助于提高通信的可靠性。
(GY-21-HTU21水分传感器模块)
产品参数

(在T=25℃,Vdd=3.3V下)

接线方式
(GY-21-GTU21水分传感器模块正面)
GY-21-GTU21水分传感器模块   <------>Arduino Nano                                       SDA    <------>   A4                                        SCL      <------>   A5                                       GND   <------>GND                                        VIN      <------>3.3V
程序测试——读取HTU21水分传感器检测到的温湿度值
编写打印串口程序,通过HTU21水分传感器检测当前温度和湿度。
Mixly图形化编程程序
(串口打印程序)
串口监视器显示,微型人体红外感应模块检测到有人,输出高电平,即串口打印数值1。没有人时,输出低电平,串口打印数值0。
(串口监视器显示)
程序实现代码
#include <SoftwareWire.h>
#include "Adafruit_HTU21DF_Soft.h"
SoftwareWire Wire_2_3(2, 3);
Adafruit_HTU21DF_Soft HTU = Adafruit_HTU21DF_Soft();
void setup(){
Serial.begin(9600);
while (!(HTU.begin(&Wire_2_3))) {
    Serial.println("没有搜索到HTU21D");
    delay(500);
}
}
void loop(){
Serial.println(String(String("湿度:") + String(HTU.readTemperature())) + String(String("湿度:") + String(HTU.readHumidity())));
}
HTU21水分传感器基础小案例
OLED液晶显示屏上分别显示实时的温度和湿度
(OLED液晶显示屏)
接线方式
GY-21-GTU21水分传感器模块   <------>Arduino Nano                                       SDA    <------>   A4                                        SCL      <------>   A5                                       GND   <------>GND                                        VIN      <------> 3.3V
                         OLED显示屏    <------>Arduino Nano                                     GND    <------>   GND                                     VCC   <------>   5V                                     SCL      <------>   D13                                     SDA   <------> D11                                     RES      <------> D8                                    DC      <------> D9                                    CS       <------> D10
Mixly 图形化编程程序   (图形化程序)
程序实现代码

#include <SoftwareWire.h>
#include "Adafruit_HTU21DF_Soft.h"
#include <U8g2lib.h>
#include <SPI.h>
SoftwareWire Wire_2_3(2, 3);
Adafruit_HTU21DF_Soft HTU = Adafruit_HTU21DF_Soft();
U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 8);
void page1() {
u8g2.setFont(u8g2_font_timR10_tf);
u8g2.setFontPosTop();
u8g2.setCursor(0,10);
u8g2.print(String(String("umidity:") + String(HTU.readHumidity())) + String("%rh"));
u8g2.setCursor(0,40);
u8g2.print(String(String("temperature:") + String(HTU.readTemperature())) + String("℃"));
}
void setup(){
Serial.begin(9600);
while (!(HTU.begin(&Wire_2_3))) {
    Serial.println("没有搜索到HTU21D");
    delay(500);
}
u8g2.begin();
u8g2.enableUTF8Print();
}
void loop(){
u8g2.firstPage();
do
{
    page1();
}while(u8g2.nextPage());
}






页: [1]
查看完整版本: 基于Arduino使用GY-21-HTU21水分传感器模块