Существует большое количество датчиков для Arduino, которые измеряют температуру и влажность. Сегодня я хотел бы рассказать про датчик серии SHT3x (SHT31). Данный сенсор достаточно новый и про него мало информации в сети интернет. После его проверки у меня остались положительные впечатления. Датчик достаточно точный и не сильно инерционный.
Точность этого модуля составляет ± 2% RH (для относительной влажности) и ± 0.3 °C (для температуры). Модуль осуществляет связь с последовательной шиной I2C и может работать со скоростью до 1 МГц.
Характеристики
модуля
температуры
и влажности серии SHT3x
:
-
Входное напряжение (Vcc): 3.3 В или 5 В;
-
I/O логический уровень: 3.3 В или 5 В
(основывается на Vcc);
-
Рабочий ток: 100 мА;
-
Рабочая температура: -40...+125 ℃;
-
Диапазон измерения температуры:
-40...+125 ℃ ±0.3°C;
-
Диапазон измерения RH: 0...100% ±2%;
-
Сенсор:
SHT31;
Уроки про другие датчики температуры и влажности:
Урок 10 - Датчик температуры DS18B20, подключаем к Arduino.
Урок 9 - Подключаем датчик температуры и влажности DHT11 к Arduino
Для данного урока нам понадобятся:
1. Arduino UNO или Arduino NANO .
3. Беспаечная макетная плата .
Подключаем к Arduino
датчик влажности и температуры серии
SHT3x (SHT31)
по
схеме:
Для работы нам понадобится библиотека Adafruit_SHT31.
Которую можно скачать тут.
После установки библиотеки, выберем пункт в меню Arduino IDE:
Файл > Примеры > Adafruit SHT31 Library > SHT31test
Откроется вот такой скетч, который загружаем в Arduino.
#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"
Adafruit_SHT31 sht31 = Adafruit_SHT31();
void setup() {
Serial.begin(9600);
while (!Serial)
delay(10); // will pause Zero, Leonardo, etc until serial console opens
Serial.println("SHT31 test");
if (! sht31.begin(0x44)) { // Set to 0x45 for alternate i2c addr
Serial.println("Couldn't find SHT31");
while (1) delay(1);
}
}
void loop() {
float t = sht31.readTemperature();
float h = sht31.readHumidity();
if (! isnan(t)) { // check if 'is not a number'
Serial.print("Temp *C = "); Serial.println(t);
} else {
Serial.println("Failed to read temperature");
}
if (! isnan(h)) { // check if 'is not a number'
Serial.print("Hum. % = "); Serial.println(h);
} else {
Serial.println("Failed to read humidity");
}
Serial.println();
delay(1000);
}
Откроем монитор порта и увидим вот такой результат:
Как видим значения выводятся до сотых. Если датчик погреть, то температура и влажность моментально меняются.
Мое личное мнение:
Датчик мне понравился. При своих небольших габаритах работает достаточно точно и быстро.
Если вы считаете иначе, пишите в комментариях. Да просто пишите свое мнение о датчике, уроках и сайте. Ваше мнение помогает развивать сайт группу и канал.
Не
забывайте подписываться на канал
Youtube и
вступайте в группы в
Вконтакте и Facebook.
Понравилась статья? Поделитесь ею с друзьями:
Файлы для скачивания
![]() |
sht3x datasheet.pdf | 1075 Kb | 712 | Скачать |
Вернуться в раздел: Уроки Arduino: Подключение датчиков и модулей к Arduino Дата публикации 8 ноября , 2019
Читайте также
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.