SHT30 - высокоточный цифровой датчик температуры и влажности в декоративном корпусе. С помощью данного датчика вы сможете создать высокоточную метеостанцию, а также измерять температуру в различных помещениях с точностью до 0,2 градусов. Декоративный защитный корпус позволяет разместить его на виду, не портя внешний вид помещения.
Датчик выгодно отличается от аналогов низким энергопотреблением, а также высокой частотой измерений (до 200 в секунду) и скоростью передачи данных (до 1 МГц). Для получения максимальной стабильности данных рекомендуется использовать частоту измерений не более 60 в секунду. Подключается датчик по шине I2C, что позволяет использовать его в сочетании с другими устройствами на одной управляемой шине.
Если вам не требуется высокая точность измерений - воспользуйтесь датчиками DHT-11 и DHT-22.
Обратите внимание! Датчик не является влагозащищенным, а потому его нельзя использовать на улице или во влажных помещениях. Для измерения температуры на улице или во влажных помещениях используйте датчик DS18B20 в герметичном корпусе.
Датчик подключается посредством шины I2C, что при большом количестве устройств и использовании расширителя I2C позволит сэкономить ценные выводы контроллера. Для удобного подключения к Arduino можно также воспользоваться Sensor Shield, на котором выведен отдельный разъем I2C. Стандартное исполнение датчика предусматривает подключение с помощью винтовых клемм или аналогичных контактов. Для подключения датчика к макетной плате или шилдам используйте наконечники «папа» или наконечники «мама». Адрес устройства по умолчанию: 0х44.
Обозначения проводов датчика:
Пример: Рассмотрим подключение датчика к контроллеру и вывод данных о влажности и температуре в монитор сериал порта.
Для этого нам понадобится:
Что нужно: | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Датчик температуры и влажности SHT30 | 1 |
Подключение:
Пример кода:
#include <SHT3x.h> // подключение библиотеки для работы с датчиком
SHT3x SensorSHT30; // объявление переменной с типом SHT3x для работы с датчиком
void setup() {
Serial.begin(9600); // инициализация монитора сериал порта
SensorSHT30.Begin(); // инициализация датчика
}
void loop() {
SensorSHT30.UpdateData(); // обновление данных датчика
Serial.print("Temperature: "); // вывод надписи
Serial.print(SensorSHT30.GetTemperature()); // запрос температуры с датчика и вывод в монитор порта
Serial.write("\xC2\xB0"); // вывод символа "градус"
Serial.println("C"); // вывод символа "С"
Serial.print("Humidity: "); // вывод надписи
Serial.print(SensorSHT30.GetRelHumidity()); // получение значения влажности и вывод его в монитор порта
Serial.println("%"); // вывод значка процента
delay(500); // задержка полсекунды
}