Mundarija:

SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: 5 qadam
SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: 5 qadam

Video: SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: 5 qadam

Video: SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: 5 qadam
Video: Raspberry Pi: Connect 2 SHT25 to measure 2 sets of temperature and humidity at 2 different sites 2024, Noyabr
Anonim
Image
Image

Yaqinda biz harorat va namlikni nazorat qilishni talab qiladigan turli loyihalarda ishladik, so'ngra bu ikki parametr tizimning ish samaradorligini baholashda hal qiluvchi rol o'ynayotganini angladik. Sanoat darajasida ham, shaxsiy tizimlarda ham haroratning optimal darajasi tizimning etarli darajada ishlashi uchun zarur shartdir.

Buning sababi, bu darslikda biz malina pi yordamida SHT25 namlik va harorat sensori ishini tushuntiramiz. Ushbu qo'llanmada uning ishlashi java -kod yordamida ko'rsatiladi.

Buning uchun sizga kerak bo'lgan uskunalar:

1. SHT25

2. Raspberry Pi

3. I2C kabeli

4. Malina pi uchun I2C qalqoni

1 -qadam: SHT25 haqida umumiy ma'lumot:

Sizga nima kerak … !!
Sizga nima kerak … !!

Birinchidan, sensorning asosiy tushunchasi va u ishlaydigan protokol bilan boshlaylik.

SHT25 I2C namlik va harorat sensori ± 1,8%RH ± 0,2 ° C I2C Mini moduli. Bu yuqori aniqlikdagi namlik va harorat sensori, raqamli, I2C formatida kalibrlangan, chiziqli sensorlar signallarini ta'minlaydigan, form faktor va razvedka nuqtai nazaridan sanoat standartiga aylandi. Maxsus analog va raqamli elektron bilan birlashtirilgan bu sensor harorat va namlikni o'lchash uchun eng samarali qurilmalardan biridir.

Sensor ishlaydigan aloqa protokoli I2C. I2C o'zaro integratsiyalashgan sxemani anglatadi. Bu aloqa protokoli bo'lib, bunda aloqa SDA (ketma -ket ma'lumotlar) va SCL (ketma -ket soat) liniyalari orqali amalga oshiriladi. Bu bir vaqtning o'zida bir nechta qurilmalarni ulash imkonini beradi. Bu eng oddiy va samarali aloqa protokoli.

2 -qadam: Sizga nima kerak … !

Sizga nima kerak … !!
Sizga nima kerak … !!
Sizga nima kerak … !!
Sizga nima kerak … !!
Sizga nima kerak … !!
Sizga nima kerak … !!

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

1. SHT25 namlik va harorat sensori

2. Raspberry pi

3. I2C kabeli

4. Raspberry Pi uchun I2C qalqoni

5. Ethernet kabeli

3 -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:

  • SHT25 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.

4 -qadam: Harorat va namlik monitoringi Java kodi:

Harorat va namlik monitoringi Java kodi
Harorat va namlik monitoringi Java kodi
Harorat va namlik monitoringi Java kodi
Harorat va namlik monitoringi Java 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. SHT25 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; SHT25 umumiy klassi {public static void main (String args ) istisno qiladi {// I2C avtobusini yaratish I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C qurilmasini oling, SHT25 I2C manzili - 0x40 (64) I2CDevice device = Bus.getDevice (0x40); // Haroratni o'lchash buyrug'ini yuboring, YO'Q ushlab turing master device.write ((bayt) 0xF3); Thread.sleep (500); // 2 bayt ma'lumotni o'qing // temp msb, temp lsb bayt ma'lumotlar = yangi bayt [2]; device.read (ma'lumotlar, 0, 2); // Ma'lumotlarni ikki marta aylantirish cTemp = (((((ma'lumotlar [0] & 0xFF) * 256) + (ma'lumotlar [1] & 0xFF)) * 175.72) / 65536.0) - 46.85; er -xotin fTemp = (cTemp * 1.8) + 32; // Namlikni o'lchash buyrug'ini yuboring, NO HOLD master master.write ((bayt) 0xF5); Thread.sleep (500); // 2 bayt ma'lumotni o'qing // namlik msb, namlik lsb device.read (ma'lumotlar, 0, 2); // Ma'lumotni ikki marta namlikka aylantiring = (((((ma'lumotlar [0] & 0xFF) * 256) + (ma'lumotlar [1] & 0xFF)) * 125.0) / 65536.0) - 6; // System.out.printf ekraniga chiqish ma'lumotlari ("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); }}

Kodning chiqishi ham yuqoridagi rasmda ko'rsatilgan.

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 -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;

Kodning bu qismi sensorni yozish () funktsiyasidan foydalanib, tegishli buyruqlarni yozish orqali haroratni o'lchash va namlikni o'lchash uchun ishlaydi, so'ngra o'qish () funktsiyasi yordamida ma'lumotlar o'qiladi.

device.write ((bayt) 0xF3);

Thread.sleep (500);

// 2 bayt ma'lumotni o'qing

// temp msb, temp lsb

bayt ma'lumotlar = yangi bayt [2];

device.read (ma'lumotlar, 0, 2);

// Namlikni o'lchash buyrug'ini yuboring, xo'jayinni ushlab turmang

device.write ((bayt) 0xF5);

Thread.sleep (500);

// 2 bayt ma'lumotni o'qing

// namlik msb, namlik lsb

device.read (ma'lumotlar, 0, 2);

5 -qadam: Ilovalar:

SHT25 harorat va nisbiy namlik sensori haroratni kuzatish, kompyuterning periferik termal himoyasi kabi turli xil sanoat dasturlariga ega. Shuningdek, biz ushbu sensorni ob -havo stantsiyalarida, shuningdek issiqxonalarda monitoring tizimida ishlatdik.

Tavsiya: