Датчик влажности 1-WIRE.

С помощью системы SYREMO и датчика влажности можно мониторить или контролировать влажность воздуха в помещении. К главному модулю можно подключить до 20 подобных датчиков. Также в датчик встроет термодатчик воздуха с погрешностью 2 градуса.

Загрузка...
Датчик влажности 1-WIRE.
Датчик влажности 1-WIRE.
Датчик влажности 1-WIRE.

На персональной странице мониторинга выводится текущее значение влажности воздуха, а на странице ГРАФИКИ строятся графики изменения влажности. Можно выбирать период отображения графика, т.е. просмотреть изменение влажности за неделю или за месяц.

Датчик влажности 1-WIRE.

На странице СЦЕНАРИИ, например, можно настроить e-mail оповещение о повышении или понижении влажности или контролировать влажность путем отправки на увлажнитель воздуха ИК сигнала. То есть имитируя пульт от увлажнителя воздуха через систему SYREMO.

Датчик влажности 1-WIRE.
Пример кода для микроконтроллера для чтения датчика по шине 1-wire:

w1_init();
w1_write(0xCC);
w1_write(0x44);//запуск преобразования влажности и температуры
delay_ms(100); //Подождать 0,1 секунду

w1_init(); //reset
w1_write(0x55);
w1_write(rom_codes[devices][0]); //для датчика rom_codes[0]=0x20
w1_write(rom_codes[devices][1]); //для датчика rom_codes[1]=0x12
w1_write(rom_codes[devices][2]); //для датчика rom_codes[2]=0x12
w1_write(rom_codes[devices][3]);
w1_write(rom_codes[devices][4]);
w1_write(rom_codes[devices][5]);
w1_write(rom_codes[devices][6]);
w1_write(rom_codes[devices][7]);
w1_write(0xAA);
w1_write(0x00);
w1_write(0x00);
crc=0;
read1=w1_read();crc=crc8(crc,read1);
hyhro=read1; //вычисление значения влажности
read1=w1_read();crc=crc8(crc,read1);
termo=read1; //вычисление значения термодатчика
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read(); //чтение crc от датчика. read1 должно быть равно crc