Существует большое
количество
датчиков для 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
.
2.
Датчик SHT3x.
3.
Беспаечная
макетная плата
.
4.
Соединительные
провода
.
Подключаем к 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 | 554 |
Скачать
Вы можете скачать файл.
|
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.