цифровая электроника
вычислительная техника
встраиваемые системы

 

Raspberry Pi и датчик влажности HYT939

Автор: Mike(admin) от 20-01-2017, 19:05

HYT939 представляет собой цифровой датчик влажности, который работает по интерфейсу I2C. Влажность является ключевым параметром, когда речь заходит о медицинских системах, лабораторных приборах и метеорологическом оборудовании. С помощью одноплатного компьютера Raspberry Pi такие устройства легко можно сделать, если к нему подключить датчик влажности HYT939. Кроме того, HYT939 способен измерять температуру, хотя все же чаще его используют для измерения влажности из-за его превосходных характеристик в этой области.


Raspberry Pi и датчик влажности HYT939

В данном материале показано, как подключить датчик HYT939 к Raspberry Pi, и приведен код на языке Java для взаимодействия Raspberry Pi с датчиком.


Для данного проекта потребуется сам миникомпьютер Raspberry Pi, датчик влажности HYT939, шилд-переходник I2C Shield, кабель I2C для чтения значений влажности по протоколу I2C (содержит четыре провода Vcc, Gnd, SCL и SDA), кабель Ethernet для связи Raspberry Pi с компьютером, а также кабель nano USB для подведения питания к Raspberry Pi. В итоге система с подключенными элементами должна выглядеть так, как показано на фотографии, приведенной ниже.


Raspberry Pi и датчик влажности HYT939

Преимущество использования Raspberry Pi заключается в том, что оно дает вам гибкость выбора языка программирования. Поэтому в данном случае программирование Raspberry Pi осуществим на языке Java. Для этого необходимо будет скачать библиотеку pi4j (http://pi4j.com/install.html).


Код для взаимодействия Raspberry Pi и датчик HYT939 представлен ниже.



import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CDevice;
import com.pi4j.io.i2c.I2CFactory;
import java.io.IOException;
public class HYT939
{	
public static void main(String args[]) throws Exception	
{		
// Для шины I2C		
I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1);				
I2CDevice device = bus.getDevice(0x28);		
device.write((byte)0x80);		
Thread.sleep(500);
// считываем 4 байта данных (старшие и младшие байты влажности и температуры)	
byte[] data = new byte[4];		
device.read(data,0,4);
// Преобразовываем данные в 14-битные переменные	
double humidity = (((data[0] & 0x3F) * 256) + (data[1] & 0xFF)) * (100.0 / 16383.0);		
double cTemp = ((((data[2] & 0xFF) * 256) + (data[3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;		
double fTemp = (cTemp * 1.8 ) + 32;
// Выводим данные на экран	
System.out.printf("Relative Humidity is : %.2f %%RH %n", humidity);		
System.out.printf("Temperature in Celsius is : %.2f C %n", cTemp);		
System.out.printf("Temperature in Fahrenheit is : %.2f F %n", fTemp);	
}
}



Теги: Raspberry Pi, HYT939, датчик влажности, датчик температуры



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий