Увеличить
Датчик влажности и температуры GY-213V SI7021
ОПИСАНИЕ
Модуль предназначен для точного измерения влажности и температуры. В датчике применена микросхема Si7021 с интерфейсом I2C, обеспечивающая промышленную точность измерений.
На кристалле размещены аналого-цифровой конвертер обработки сигнала, данные калибровки и I2C интерфейс.
ПАРАМЕТРЫ
- Чип: SI7021
- Относительная точность датчика влажности:± 3% RH (макс.), 0-80% RH
- Точность датчикf температуры: ±0. 4 °C (макс),-10 85 °C
- Диапазон рабочего напряжения датчика: 1,9 ... 3,6 В
- Напряжение питания модуля: 5 ... 6 В
- Потребляемый ток в активном режиме: 150 μA
- Потребляемый ток в режиме ожидания: 60 nA
- Интерфейс: I2C
- Адрес I2C устройства: 0x40
КАК ПОДКЛЮЧИТЬ
Для первого подключения нам понадобятся Arduino Uno и провода Папа-Мама. Также нужно скачать библиотеку SI7021 и подключить её к проекту в Arduino IDE.
Модуль подключаем по схеме:
GY-21 SI7021 | Arduino Uno |
VCC | +3.3V |
GND | GND |
SCL | A5 |
SDA | A4 |
Для подключения используем провода Папа-Мама.
ПРИМЕР КОДА
После установки библиотеки создаём и загружаем в Arduino скетч:
#include <Wire.h>
#include <HTU21D.h>
/*
HTU21D(resolution)
resolution:
HTU21D_RES_RH12_TEMP14 - RH: 12Bit. Temperature: 14Bit, by default.
HTU21D_RES_RH8_TEMP12 - RH: 8Bit. Temperature: 12Bit.
HTU21D_RES_RH10_TEMP13 - RH: 10Bit. Temperature: 13Bit.
HTU21D_RES_RH11_TEMP11 - RH: 11Bit. Temperature: 11Bit.
*/
HTU21D myHTU21D(HTU21D_RES_RH12_TEMP14);
void setup()
{
Serial.begin(115200);
while (myHTU21D.begin() != true)
{
Serial.println("Si7021 sensor is faild or not connected");
delay(5000);
}
Serial.println("Si7021 sensor is active");
}
void loop()
{
/* DEMO - 1 */
Serial.println(F("DEMO 1: 12 Bit Resolution"));
Serial.print(F("Compensated Humidity: ")); Serial.print(myHTU21D.readHumidity()); Serial.println(F(" +-2%"));
Serial.println(F("DEMO 1: 14 Bit Resolution"));
Serial.print(F("Temperature.........: ")); Serial.print(myHTU21D.readTemperature(SI70xx_TEMP_READ_AFTER_RH_MEASURMENT)); Serial.println(F(" +-0.5C"));
/* DEMO - 2 */
Serial.println(F("DEMO 2: 11 Bit Resolution"));
myHTU21D.setResolution(HTU21D_RES_RH11_TEMP11);
Serial.print(F("Compensated Humidity: ")); Serial.print(myHTU21D.readHumidity()); Serial.println(F(" +-2%"));
Serial.println(F("DEMO 2: 11 Bit Resolution"));
Serial.print(F("Temperature.........: ")); Serial.print(myHTU21D.readTemperature(SI70xx_TEMP_READ_AFTER_RH_MEASURMENT)); Serial.println(F(" +-0.5C"));
/* DEMO - 3 */
Serial.println(F("DEMO 3: Battery Status"));
if (myHTU21D.batteryStatus() == true)
{
Serial.println(F("Battery.........: OK. Level > 1.90v"));
}
else
{
Serial.println(F("Battery.........: LOW. Level < 1.90v"));
}
/* DEMO - 4 */
Serial.println(F("DEMO 4:"));
Serial.print(F("Firmware version....: ")); Serial.println(myHTU21D.readFirmwareVersion());
/* DEMO - 5 */
Serial.println(F("DEMO 5:"));
Serial.print(F("Sensor's ID.........: ")); Serial.println(myHTU21D.readDeviceID());
/* back to lib. default resolution */
myHTU21D.setResolution(HTU21D_RES_RH12_TEMP14);
/* DEMO - END */
Serial.print(F("DEMO starts over again in 20 sec."));
delay(20000);
}
В этом примере каждые двадцать секунд в COM порт поступает информация, считанная с датчика. Для просмотра поступающих данных необходимо использовать "Монитор порта".
КОМПЛЕКТ
- Датчик температуры и влажности GY-213V SI7021 х1
Метки: #GY-213V