Датчик влажности воздуха Si7021 - как правильно снимать с него данные.

lean_74
Offline
Зарегистрирован: 22.12.2015

вопрос по датчику влажности Si7021, как правильно с ним работать? у него есть внутренний нагреватель, в демо примере он 30 сек включен, 20 выключен, измерения делаются раз в секунду. Сам вопрос: надо включать этот внутренний нагреватель или нет, если надо,  то когда и на сколько, хочу использовать его в инкубаторе. 

lean_74
Offline
Зарегистрирован: 22.12.2015

поднимем... ну что никто вланость воздуха не меряет? просто я в этом чайник.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

lean_74 пишет:

поднимем... ну что никто вланость воздуха не меряет? просто я в этом чайник.

Я его пользовал, специально ничего не нагревал - работает, показывает и температуру, и влажность. Показывает сильно точнее, чем DHT22.

a5021
Offline
Зарегистрирован: 07.07.2013

Нагреватель используется в двух случаях: 1) для определения точки росы; 2)  для "прокаливания" сенсора, после того, как он долго пребывал в условиях оч. высокой влажности. При измерении температуры и влажности штатным образом, он никак не может быть использован.

lean_74
Offline
Зарегистрирован: 22.12.2015

Спасибо всем.

maxidron
Offline
Зарегистрирован: 26.01.2017

Добрый день!

Столкнулся с проблемой - сканер I2C не определяет датчик, а так же при попытке прямого обращения к нему скетч виснет. Проблема в датчике? Мог ли я спалить его, когда припаивал ножки? 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

maxidron, практика показывает, что на вопрос, не снабженный принципиальной схемой и скетчем, по существу ответить невозможно. Можно только поприкалываться над автором.

maxidron
Offline
Зарегистрирован: 26.01.2017

Исправляюсь.

Скетч:

#include <Wire.h>
#include <SI7021.h>

SI7021 sensor;
int temp1,hum1;

void setup() {
 Serial.begin(9600);
 Serial.print("setup");
 sensor.begin();
}

void loop() {
 delay(2000);

 Serial.print("go");
 int temperature = sensor.getCelsiusHundredths();
 temperature = temperature / 100;

 Serial.print(temperature);
 delay(5000);

 int humidity = sensor.getHumidityPercent();
 Serial.print(humidity);

 delay(5000);
 si7021_env data = sensor.getHumidityAndTemperature();
 temp1=data.celsiusHundredths-data.celsiusHundredths/100*100;
 hum1=data.humidityBasisPoints-data.humidityBasisPoints/100*100;
 Serial.print(hum1);
 Serial.print(temp1);
}

Скетч отрабатывает до инициализации датчика, в мониторе порта появляется только строчка "setup"

Подключение: (так же пробвал SCL и SDA на A4 на A5 подключать)

 

lean_74
Offline
Зарегистрирован: 22.12.2015

Вообщето датчик на 3.3 вольта, и если на плате с датчиком отсутствует стабилизатор и схема  с преобразованием уровней - подключение не правильное, и датчику кирдык.  

guardauto
Offline
Зарегистрирован: 23.04.2015
#include <Wire.h>
#include <SI7021.h>

SI7021 sensor;
int temp1,hum1;

void setup() {
 Serial.begin(9600);
 sensor.begin();
}

void loop() {
 delay(2000);

 si7021_env data = sensor.getHumidityAndTemperature();
 temp1=data.celsiusHundredths-data.celsiusHundredths/100*100;
 hum1=data.humidityBasisPoints-data.humidityBasisPoints/100*100;
 
 Serial.print("temperatura ");
      Serial.print(data.celsiusHundredths/100);
      Serial.print(",");
      Serial.print(temp1);
      Serial.println(" `C");

 Serial.print("Humidity ");
      Serial.print(data.humidityBasisPoints/100);
      Serial.print(",");
      Serial.print(hum1);
      Serial.println(" \%");
      Serial.println(" ");
}

 

la-ma
Offline
Зарегистрирован: 23.07.2017

Добрый день. Я сейчас пробую использовать датчик DHT22 в проекте по управлению вентилятором в ванной. При тестировании сталкнулся с проблемой скорости определения влажности - при том что в ванной уже парилка, датчик показывает 35%, выключил воду проветрил ванную а показания влажности продолжает рости ещё несколько минут, в ванной по ощущениям уже практически сухо а показатели всё ещё высокие.

Подскажите пожалуйста как обстоят дела с SI7021 на сколько быстро он отрабатывает. Как правильно его подключить.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

Всем доброго времени суток. У меня вопрос такого характера. датчик SI7021. температуры и влажности. когда сам по себе подключён по шине I2C всё верно показывает. как только подсоединяю допустим ЖК дисплей2004 не важно. сразу выше упомянутый датчик начинает нести ересть. пробовал ограничительные резисторы 10-1 ком по i2c ставить не помогло. может кто сталкивался. Спасибо.

sadman41
Offline
Зарегистрирован: 19.10.2016

Как подключается "допустим lcd неважно"?