Вот обзавёлся этим датчиком и решил заменить им старый добрый проверенный HIH-3610 (аналоговый датчик влажности с выходом на АЦП), но сдохший к великому сожалению .
В конечный прибор пока не вставлял, в целях тестирования/отладки подключил его к отдельной меге8@16MHz. Результаты для простоты гоню на USART и далее в комп.
На базе примеров из интернета написал функции для работы с этим датчиком. Использую ногодрыг, т.к. в конечном устройстве на меге8 ноги аппаратного i2C заблокированы АЦП (там ещё MPX6115A висит). Это не STM32 ...
Датчик запустился в общем-то без проблем, данные с него приходят исправно, но, на мой взгляд, немного странные. Например:
Цитата
Temp=24.54; Hum=28.76
Temp=24.55; Hum=28.58
Temp=24.55; Hum=28.45
Temp=24.54; Hum=28.30
Temp=24.53; Hum=28.18
Temp=24.51; Hum=28.15
Temp=24.51; Hum=28.12
Temp=24.51; Hum=28.03
Temp=24.50; Hum=27.91
Temp=24.51; Hum=27.87
Temp=24.54; Hum=27.97
Temp=24.56; Hum=27.97
Temp=24.57; Hum=27.91
Temp=24.57; Hum=28.15
Temp=24.58; Hum=28.18
Temp=24.55; Hum=28.58
Temp=24.55; Hum=28.45
Temp=24.54; Hum=28.30
Temp=24.53; Hum=28.18
Temp=24.51; Hum=28.15
Temp=24.51; Hum=28.12
Temp=24.51; Hum=28.03
Temp=24.50; Hum=27.91
Temp=24.51; Hum=27.87
Temp=24.54; Hum=27.97
Temp=24.56; Hum=27.97
Temp=24.57; Hum=27.91
Temp=24.57; Hum=28.15
Temp=24.58; Hum=28.18
Замеры раз в секунду. В 30 см от него лежит DS18B20, показывает ~22 градуса.
Если долго держать включённым, температура медленнно но повышается. это нормально? В целом вопрос теоретический, у меня прибор сам вырубается через 10 сек после включения.
А вот влажность какая-то пониженная. Эталона у меня, правда, нет, но когда HIH-3610 был в норме, он 30% даже в жару не показывал...
И ещё вопрос. По стандарту I2C вначале положено передавать адрес девайса. В некоторых примерах под ардуину я видел передачу этого адреса. Но когда я это делаю, оно где-то виснет (не разбирался где).
Но у меня нет доверия к ардуино-примерам, т.к. там значения из датчика везде делят на 65535, хотя по доке на SHT21 там разрешения 16 бит нигде нет, для температуры максимум 14 бит, для влажности - 12.
Я также не припаял pull-up резюки к ногам. Для этого модуля они вроде не нужны. Или я ошибаюсь?
Кто-то может помочь?
Код для CvAVR приложил. Сам датчик полностью адекватный - кладу палец - температура повышается (кстати и влажность тоже ), открываю окно (идёт холодный воздух) - понижается.
подышу на него - влажность увеличивается. Снимаю эти воздействия - показания возвращаются обратно.
Спасибо.