Mundarija:

HIH6130 va Raspberry Pi yordamida namlik va haroratni o'lchash: 4 qadam
HIH6130 va Raspberry Pi yordamida namlik va haroratni o'lchash: 4 qadam

Video: HIH6130 va Raspberry Pi yordamida namlik va haroratni o'lchash: 4 qadam

Video: HIH6130 va Raspberry Pi yordamida namlik va haroratni o'lchash: 4 qadam
Video: Raspberry PI I2C Teil 2 (HIH-6130) 2024, Iyul
Anonim
Image
Image

HIH6130 - namlik va harorat sensori, raqamli chiqish. Bu sensorlar ± 4% RH aniqlik darajasini ta'minlaydi. Sanoatning etakchi uzoq muddatli barqarorligi, haqiqiy harorat bilan kompensatsiyalangan raqamli I2C, sanoatning etakchi ishonchliligi, energiya tejamkorligi va o'ta kichik o'lchamdagi paketlar va imkoniyatlar.

Ushbu qo'llanmada HIH6130 sensor modulining malina pi bilan o'zaro aloqasi ko'rsatilgan va uning Java tili yordamida dasturlashi ham tasvirlangan. Harorat va namlik ko'rsatkichlarini o'qish uchun biz I2C adapterli malina pi dan foydalanganmiz, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.

1 -qadam: Uskuna kerak:

Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi

Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:

1. HIH6130

2. Raspberry Pi

3. I2C kabeli

4. Malina pi uchun I2C qalqoni

5. Ethernet kabeli

2 -qadam: Uskuna ulanishi:

Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi

Uskuna ulanish bo'limi, asosan, sensori va malina pi o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:

HIH6130 I2C ustida ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.

Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz.

Sizga faqat to'rtta sim kerak! Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.

Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.

3 -qadam: Namlik va haroratni o'lchash kodi:

Namlik va haroratni o'lchash kodi
Namlik va haroratni o'lchash kodi

Malinali pi -ni ishlatishning afzalligi shundaki, u sizga sensorni interfeysga ulash uchun taxtani dasturlashni xohlagan dasturlash tilining moslashuvchanligini ta'minlaydi. Ushbu kengashning afzalliklaridan foydalanib, biz bu erda Java dasturlashini namoyish qilamiz. HIH6130 uchun java kodini bizning GitHub hamjamiyatidan yuklab olish mumkin, bu Dcube do'koni.

Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:

Kodlashning birinchi bosqichi sifatida siz java holatida pi4j kutubxonasini yuklab olishingiz kerak, chunki bu kutubxona kodda ishlatiladigan funktsiyalarni qo'llab -quvvatlaydi. Shunday qilib, kutubxonani yuklab olish uchun quyidagi havolaga kirishingiz mumkin:

pi4j.com/install.html

Bu sensor uchun ishlaydigan java kodini bu erdan ham ko'chirishingiz mumkin:

com.pi4j.io.i2c. I2CBus -ni import qilish;

com.pi4j.io.i2c. I2CDevice -ni import qilish;

com.pi4j.io.i2c. I2CFactory -ni import qilish;

java.io. IOException ni import qilish;

HIH6130 umumiy sinf

{

public static void main (String args ) istisno qiladi

{

// I2C avtobusini yarating

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

// I2C qurilmasini oling, HIH6130 I2C manzili - 0x27 (39)

I2CDevice qurilmasi = Bus.getDevice (0x27);

Thread.sleep (500);

// 4 bayt ma'lumotni o'qing

// namlik msb, namlik lsb, temp msb, temp lsb

bayt ma'lumotlar = yangi bayt [4];

device.read (0x00, ma'lumotlar, 0, 4);

// Ma'lumotni 14 bitga aylantiring

ikki marta namlik = (((ma'lumotlar [0] & 0x3F) * 256) + (ma'lumotlar [1] & 0xFF)) / 16384.0 * 100.0;

int temp = ((((ma'lumotlar [2] & 0xFF) * 256) + (ma'lumotlar [3] & 0xFC)) / 4);

er -xotin cTemp = (temp / 16384.0) * 165.0 - 40.0;

er -xotin fTemp = cTemp * 1.8 + 32;

// Ma'lumotni ekranga chiqarish

System.out.printf ("Nisbiy namlik: %.2f %% RH %n", namlik);

System.out.printf ("Selsiy bo'yicha harorat: %.2f C %n", cTemp);

System.out.printf ("Farhenheitdagi harorat: %.2f F %n", fTemp);

}

}

Sensor va karta o'rtasidagi i2c aloqasini osonlashtiradigan kutubxona pi4j, uning turli paketlari I2CBus, I2CDevice va I2CFactory ulanishni o'rnatishga yordam beradi.

com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; com.pi4j.io.i2c. I2CFactory -ni import qilish; java.io. IOException ni import qilish;

yozish () va o'qish () funktsiyalari sensorga ma'lum rejimda ishlashini ta'minlash uchun maxsus buyruqlarni yozish va sensorning chiqishini o'qish uchun ishlatiladi.

Sensorning chiqishi ham yuqoridagi rasmda ko'rsatilgan.

4 -qadam: Ilovalar:

Ilovalar
Ilovalar

HIH6130 konditsionerlar, entalpiya sezgichlari, termostatlar, namlagichlar/namlagichlar va namlagichlarda namlik va haroratni aniq o'lchashni ta'minlash uchun ishlatilishi mumkin. U havo kompressorlarida, ob -havo stantsiyalarida va telekommunikatsiya kabinetlarida ham ishlatilishi mumkin.

Tavsiya: