| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Применение семпла SHT21 https://radiokot.ru/forum/viewtopic.php?f=25&t=55469 |
Страница 1 из 1 |
| Автор: | myx [ Сб окт 01, 2011 00:41:22 ] |
| Заголовок сообщения: | Применение семпла SHT21 |
Статья тут http://radiokot.ru/konkurs/21/ Температуру отображает вроде нормально. Но не корректно показывает влажность. До 68% показывает как попало, а потом при повышении влажности начинает показывать в обратную сторону. С датчиком все в порядке - проверено. Проблема в программе. |
|
| Автор: | NickNI [ Сб окт 01, 2011 09:03:12 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
myx писал(а): Статья тут http://radiokot.ru/konkurs/21/ С датчиком все в порядке - проверено. Проблема в программе. Может датчик надо подержать "в бане", как описано здесь: http://we.easyelectronics.ru/part/datch ... sht21.html
|
|
| Автор: | 11VETAL [ Сб окт 01, 2011 09:07:26 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
Если есть желание могу выложить свой переделанный код, но под ЖКИ. В бане не выдерживал, но показывает правильно. В исходнике ошибки. |
|
| Автор: | NickNI [ Сб окт 01, 2011 09:16:44 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
Да уж... Честно отдал за эту работу пять лап... |
|
| Автор: | myx [ Сб окт 01, 2011 11:37:46 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
NickNI писал(а): myx писал(а): Статья тут http://radiokot.ru/konkurs/21/ С датчиком все в порядке - проверено. Проблема в программе. Может датчик надо подержать "в бане", как описано здесь: http://we.easyelectronics.ru/part/datch ... sht21.html ![]() Дело не в выдерживании. Если не подождать некоторое время, то датчик незначительно брешет, что проходит через несколько часов. Я датчик отключаю от этого проекта и сразу подключаю к другому, в котором все нормально показывает. С железом все в порядке. Проблема в прошивке! |
|
| Автор: | myx [ Сб окт 01, 2011 11:39:40 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
11VETAL писал(а): Если есть желание могу выложить свой переделанный код, но под ЖКИ. В бане не выдерживал, но показывает правильно. В исходнике ошибки. Может этот немного исправить? |
|
| Автор: | 11VETAL [ Сб окт 01, 2011 12:01:23 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
тогда разбирайся сам. Вот моя функция измерения влажности: void humm(void) { unsigned int h_1; float h; char rh=0; char drob_rh=0; i2c_start(); i2c_write(0x80); //команда записи i2c_write(0xE5); //режим HOLD для влажности i2c_start(); i2c_write(0x81); //команда чтения delay_ms(40); h_1=i2c_read(1); // read msb h_1=h_1<<8; //сдвигаем считаный байт на 8 бит h_1|=i2c_read(0); // read lsb и выполняем побитное или со значением h_1 //присваиваем полученное значение h_1 i2c_stop(); h_1&= ~0x0003; //очищаем последние 2 бита h= (-6+(h_1/524.288)); rh=abs(h); drob_rh=abs((h-rh)*10); sprintf(lcd_buffer,"RH=%+2u.%u%% ",rh,drob_rh); //записуемв масив для экрана lcd_gotoxy (0,1); __print_lcd(lcd_buffer); //выводим масив на LCD } |
|
| Автор: | myx [ Вс окт 09, 2011 23:06:45 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
Кроме проекта с сайта we.easyelectronics.ru/part/datchik-temperatury-i-vlazhnosti-sht21.html (вариант подключения к компу) к сожалению, не видел еще нормально работающего проекта на SHT21. |
|
| Автор: | 11VETAL [ Вс окт 09, 2011 23:24:41 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
myx писал(а): Кроме проекта с сайта we.easyelectronics.ru/part/datchik-temperatury-i-vlazhnosti-sht21.html (вариант подключения к компу) к сожалению, не видел еще нормально работающего проекта на SHT21. Кто мешает. Сделай сам. |
|
| Автор: | Rombor [ Пн окт 24, 2011 08:52:33 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
Собрал, работает. Температуру врет на +3 градуса, влажность на -20%. Просьба к автору ввести кнопочку коррекции |
|
| Автор: | Tugarin [ Пн окт 24, 2011 12:49:03 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
А эту схемку измерителя на SHT21 - http://radiokot.ru/konkurs/11/ никто не собирал? Как-то странно что оказалось очень похожих две одинаковые работы может их нужно было объединить в одну? |
|
| Автор: | ewgeny7 [ Пт ноя 18, 2011 20:53:02 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
Что-то не сложилось у меня до сих пор заглянуть сюда. Отвечаю сразу всем: У меня показывает нормально и температуру, и влажность. Благо, работаю на фармацевтике и приборов там достаточно. Я сравнил формулу рачета влажности свою и 11VETAL, разницы НИКАКОЙ, что нетрудно увидеть по исходникам. Касательно температуры - я не сразу допёр, почему у меня показывал завышенную температуру. Оказалось, не стОит ставить стабилизатор на ту же платку, где и SHT21 чалится. Убрал стаб в корпус, показания стали много лучше. Но, еще одно НО. Для точных показаний датчик не должен быть в "стоячем" воздухе, он, гад такой, все равно нагревается (хоть и на доли градуса). Разместив свой девайс неподалеку от вентиляционной вытяжки, я таки увидел точные показания температуры. Сравнивал с промышленным термометром и термометром на 18В20. Вот такая ботва. Возможно, хорошим решением будет подавать на датчик не 3,3, а несколько меньшее напряжение. Например, 3.0. Надо пробовать. |
|
| Автор: | foxit [ Чт дек 08, 2011 23:27:04 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
11VETAL писал(а): Если есть желание могу выложить свой переделанный код, но под ЖКИ. В бане не выдерживал, но показывает правильно. Выложите исходник если не можно. |
|
| Автор: | nkrk [ Вс фев 12, 2012 08:57:47 ] |
| Заголовок сообщения: | Re: Применение семпла SHT21 |
Уважаемые пожалуйста подскажите как проверить работоспособность датчика sht21 Пишу код на ATmega8 под winavr пример кода >> Код: unsigned char ret1 = 0, ret2 = 0; s = i2c_start(0x80); // set device address and write mode if ( s ) { /* failed to issue start condition, possibly no device found */ i2c_stop(); }else { /* issuing start condition ok, device accessible */ i2c_write(0xF5); // получить влажность i2c_stop(); // set stop conditon = release bus s = i2c_start( 0x81 ); // set device address and read mode _delay_ms(100); i2c_rep_start( 0x81 ); // set device address and read mode ret1 = i2c_readAck(); // read one byte ret2 = i2c_readAck(); // read one byte i2c_readNak(); // read one byte i2c_stop(); ret = ret1; } return ret; в итоге с датчика ничего не возвращается даже если пытаюсь прочитать регистр настроек |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


