找回密码
 立即注册

QQ登录

只需一步,快速开始

基础模块资料库

本帖最后由 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),传感器可以检测到电池电量状态,并且输出校验和,有助于提高通信的可靠性。

1.png
(GY-21-HTU21水分传感器模块)

产品参数

2.png

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

3.png

接线方式

4.png
(GY-21-GTU21水分传感器模块  正面)

GY-21-GTU21水分传感器模块   <------>  Arduino Nano
                                         SDA    <------>   A4
                                        SCL      <------>   A5
                                       GND     <------>  GND
                                        VIN      <------>  3.3V

程序测试——读取HTU21水分传感器检测到的温湿度值

编写打印串口程序,通过HTU21水分传感器检测当前温度和湿度。

Mixly图形化编程程序

5.png
(串口打印程序)

串口监视器显示,微型人体红外感应模块检测到有人,输出高电平,即串口打印数值1。没有人时,输出低电平,串口打印数值0。

6.png
(串口监视器显示)

程序实现代码

  1. #include <SoftwareWire.h>
  2. #include "Adafruit_HTU21DF_Soft.h"
  3. SoftwareWire Wire_2_3(2, 3);
  4. Adafruit_HTU21DF_Soft HTU = Adafruit_HTU21DF_Soft();
  5. void setup(){
  6.   Serial.begin(9600);
  7.   while (!(HTU.begin(&Wire_2_3))) {
  8.     Serial.println("没有搜索到HTU21D");
  9.     delay(500);
  10.   }
  11. }
  12. void loop(){
  13.   Serial.println(String(String("湿度:") + String(HTU.readTemperature())) + String(String("湿度:") + String(HTU.readHumidity())));
  14. }
复制代码

HTU21水分传感器基础小案例

OLED液晶显示屏上分别显示实时的温度和湿度

7.png
(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 图形化编程程序
   
8.2.png
(图形化程序)

程序实现代码

  1. #include <SoftwareWire.h>
  2. #include "Adafruit_HTU21DF_Soft.h"
  3. #include <U8g2lib.h>
  4. #include <SPI.h>
  5. SoftwareWire Wire_2_3(2, 3);
  6. Adafruit_HTU21DF_Soft HTU = Adafruit_HTU21DF_Soft();
  7. U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 8);
  8. void page1() {
  9.   u8g2.setFont(u8g2_font_timR10_tf);
  10.   u8g2.setFontPosTop();
  11.   u8g2.setCursor(0,10);
  12.   u8g2.print(String(String("umidity:") + String(HTU.readHumidity())) + String("%rh"));
  13.   u8g2.setCursor(0,40);
  14.   u8g2.print(String(String("temperature:") + String(HTU.readTemperature())) + String("℃"));
  15. }
  16. void setup(){
  17.   Serial.begin(9600);
  18.   while (!(HTU.begin(&Wire_2_3))) {
  19.     Serial.println("没有搜索到HTU21D");
  20.     delay(500);
  21.   }
  22.   u8g2.begin();
  23.   u8g2.enableUTF8Print();
  24. }
  25. void loop(){
  26.   u8g2.firstPage();
  27.   do
  28.   {
  29.     page1();
  30.   }while(u8g2.nextPage());
  31. }
复制代码







分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册