HIH-4030 e сензор за измерване на влажност в относителни единици (%RH). Захранва се с напрежение от 4 до 5.8V, като оптималният вариант е 5V. Резултата от измерването връща като аналогов сигнал, който се подава към аналогов вход на микроконтролер.
Напрежението, което връща сензора, се изменя спрямо влажността по следната зависимост:
Vdc = (VSUPPLY)(0.0062*RH + 0.16)
RH е измерената влажност, а VSUPPLY захранващото напрежение.

Пример
В дадения по-доло пример се използва алгоритъм за изглаждане на данните от сензора. Микроконтролерът използва усреднената стойност от десет измервания, за да получи относителната влажност по аналитичната зависимост по-горе. Изчислената стойност извежда в Serial Monitor, като проценти относителна влажност.

Сензорът се свързва към Arduino, като пиновете 5V и GND са към 5V и GND на платката, а OUT е към входа A0.

Кода който трябва да се зареди на Arduino е следният:
/*
Описание:
* измерва относителната влажност, като използва метод за
изглаглаждане
* връща стойността в проценти в Serial Monitor
* Tihomir Trifonov (07-2011)
* с подкрепата на Robotev.com
*/
////// декларации на използваните входове и изходи
const int analogInPin = A0; // А0 е входа към който е свързан сензора
////// декларации на променливи използвани в програмата
int sensorValue[10] = {0,0,0,0,0,0,0,0,0,0}; // стойности получени
// от сензора
int sum = 0; // сумата от измерванията
float average; // средно аритметичната им стойност
float humidity; // изчислената влажност
int i; // брояч, показващ индекса
void setup() { // начални инициализации
Serial.begin(9600); // стартира серийна комуникация
}
void loop() { // програмен цикъл
////// метод за изглаждане на резултатите
sum -= sensorValue[i]; // изважда послената измерена стойност
// от общата сума
sensorValue[i] = analogRead(analogInPin); // получава данни от сензора
sum += sensorValue[i]; // прибавя данните към общата сума
i++; // премества индекса
if ( i == 10 ) i = 0; // проверява дали е достигнат края на масива
// и ако е достигнат връща индекса в началото
average = sum / 10; // намира средно-аритметичната стойност
// от последните 10 измервания
/////// изчислява относителната влажност по формулата в даташийта
humidity = (0.005*average - 0.8)/0.031; // превръща усреднената стойност
// в относителна влажност (%RH)
/////// извежда получената стоийност в Serial Monitor
Serial.print("\n humidity = " );
Serial.print(humidity,1); // с 1 цифра след запетаята
Serial.print("% " );
delay(50);// 50ms закъснение
}
