Мазмуну:

HIH6130 жана Raspberry Pi аркылуу нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Raspberry Pi аркылуу нымдуулукту жана температураны өлчөө: 4 кадам

Video: HIH6130 жана Raspberry Pi аркылуу нымдуулукту жана температураны өлчөө: 4 кадам

Video: HIH6130 жана Raspberry Pi аркылуу нымдуулукту жана температураны өлчөө: 4 кадам
Video: ВОДА приближается! Рыбалка в диком месте. Забыл спички!! 2024, Ноябрь
Anonim
Image
Image

HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө жана өтө кичине пакеттин өлчөмү жана параметрлери.

Бул окуу куралында HIH6130 сенсордук модулунун малина пи менен интерфейси көрсөтүлөт жана анын Java тили менен программаланышы да сүрөттөлгөн. Температура жана нымдуулук баалуулуктарын окуу үчүн, I2C adapter. This I2C адаптери менен малина пи колдонгонбуз, сенсор модулуна туташууну жеңил жана ишенимдүү кылат.

1 -кадам: Аппараттык камсыздоо талап кылынат:

Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат

Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:

1. HIH6130

2. Raspberry Pi

3. I2C кабели

4. Малина pi үчүн I2C Shield

5. Ethernet кабели

2 -кадам: Аппараттык туташуу:

Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу

Аппараттык туташуу бөлүмү негизинен сенсор менен малина пи ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:

HIH6130 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.

Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз.

Сизге болгону төрт зым керек! Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.

Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.

3 -кадам: Нымдуулукту жана температураны өлчөө коду:

Нымдуулукту жана температураны өлчөө коду
Нымдуулукту жана температураны өлчөө коду

Малина пи колдонуунун артыкчылыгы, сенсорго интерфейс үчүн тактаны программалоону каалаган программалоо тилинин ийкемдүүлүгүн камсыз кылат. Бул тактанын артыкчылыгын колдонуп, биз бул жерде Javaда программалоону көрсөтүп жатабыз. HIH6130 үчүн java кодун биздин GitHub жамаатынан жүктөп алса болот, бул Dcube Store.

Колдонуучулардын ыңгайлуулугу үчүн, биз бул жерде кодду түшүндүрүп жатабыз:

Коддоонун биринчи кадамы катары java болгон учурда pi4j китепканасын жүктөп алуу керек, анткени бул китепкана коддо колдонулган функцияларды колдойт. Ошентип, китепкананы жүктөө үчүн төмөнкү шилтемеге кире аласыз:

pi4j.com/install.html

Бул сенсордун java кодун бул жерден көчүрүп алсаңыз болот:

com.pi4j.io.i2c. I2CBus импорттоо;

com.pi4j.io.i2c. I2CDevice импорттоо;

com.pi4j.io.i2c. I2CFactory импорттоо;

java.io. IOException импорттоо;

коомдук класс HIH6130

{

public static void main (String args ) Exception ыргытат

{

// I2C шинасын түзүү

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C түзмөгүн алыңыз, HIH6130 I2C дареги 0x27 (39)

I2CDevice түзмөгү = Bus.getDevice (0x27);

Thread.sleep (500);

// 4 байт маалыматтарды окуңуз

// нымдуулук msb, нымдуулук lsb, temp msb, temp lsb

байт маалымат = жаңы байт [4];

device.read (0x00, data, 0, 4);

// Маалыматтарды 14 битке айландырыңыз

кош нымдуулук = (((маалымат [0] & 0x3F) * 256) + (маалымат [1] & 0xFF)) / 16384.0 * 100.0;

int temp = ((((маалыматтар [2] & 0xFF) * 256) + (маалыматтар [3] & 0xFC)) / 4);

кош cTemp = (темп / 16384.0) * 165.0 - 40.0;

кош fTemp = cTemp * 1.8 + 32;

// Экранга маалыматтарды чыгаруу

System.out.printf ("Салыштырмалуу нымдуулук: %.2f %% RH %n", нымдуулук);

System.out.printf ("Цельсий боюнча температура: %.2f C %n", cTemp);

System.out.printf ("Farhenheitтеги температура: %.2f F %n", fTemp);

}

}

Сенсор менен тактанын ортосундагы i2c байланышын жеңилдеткен китепкана pi4j, анын ар кандай пакеттери I2CBus, I2CDevice жана I2CFactory байланышты түзүүгө жардам берет.

импорттоо com.pi4j.io.i2c. I2CBus; импорттоо com.pi4j.io.i2c. I2CDevice; com.pi4j.io.i2c. I2CFactory импорттоо; java.io. IOException импорттоо;

write () жана read () функциялары сенсорго белгилүү бир режимде иштеши үчүн жана сенсордун чыгарылышын окуу үчүн кээ бир өзгөчө буйруктарды жазуу үчүн колдонулат.

Сенсордун чыгышы дагы жогорудагы сүрөттө көрсөтүлгөн.

4 -кадам: Тиркемелер:

Колдонмолор
Колдонмолор

HIH6130 кондиционерлерде так салыштырмалуу нымдуулукту жана температураны өлчөөнү камсыздоо үчүн, энтальпия сезгичтиги, термостаттар, нымдагычтар/нымдандыргычтар жана нымдаштыргычтар жайлуулукту сактоо үчүн колдонулушу мүмкүн. Ошондой эле аба компрессорлорунда, метеостанцияларда жана телеком кабинеттеринде колдонулушу мүмкүн.

Сунушталууда: