Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
HDC1000 - bu past haroratda o'lchashning aniqligini ta'minlaydigan o'rnatilgan harorat sensori bo'lgan namlik sensori. Qurilma namlikni yangi sig'im sensori asosida o'lchaydi. Namlik va harorat sensori zavod sozlamalarida. To'liq -40 ° C dan +125 ° C gacha bo'lgan harorat oralig'ida ishlaydi.
Ushbu qo'llanmada HDC1000 sensori modulining zarracha fotoni bilan o'zaro aloqasi tasvirlangan. Harorat va namlik ko'rsatkichlarini o'qish uchun biz I2c adapterli zarrachadan foydalanganmiz, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. HDC1000
2. Foton zarrachalari
3. I2C kabeli
4. Zarrachalar fotoni uchun I2C qalqoni
2 -qadam: Uskuna ulanishi:
Uskuna ulash bo'limi asosan sensor va zarracha fotoni 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:
HDC1000 I2C orqali 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: Harorat va namlikni o'lchash kodi:
Keling, zarrachalar kodidan boshlaylik.
Sensor modulini zarracha bilan ishlatganda, biz application.h va spark_wiring_i2c.h kutubxonasini o'z ichiga olamiz. "application.h" va spark_wiring_i2c.h kutubxonasi sensor va zarracha o'rtasidagi i2c aloqasini osonlashtiradigan funktsiyalarni o'z ichiga oladi.
Butun zarracha kodi foydalanuvchiga qulay bo'lishi uchun quyida keltirilgan:
#qo'shing
#qo'shing
// HDC1000 I2C manzili - 0x40 (64)
#aniqlang Addr 0x40
er -xotin cTemp = 0,0, fTemp = 0,0, namlik = 0,0;
int temp = 0, xum = 0;
bo'sh o'rnatish ()
{
// O'zgaruvchini o'rnating
Particle.variable ("i2cdevice", "HDC1000");
Zarracha.variable ("namlik", namlik);
Particle.variable ("cTemp", cTemp);
// I2C aloqasini boshlang
Wire.begin ();
// Serial aloqani ishga tushiring, bod tezligi = 9600
Serial.begin (9600);
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Konfiguratsiya registrini tanlang
Wire.write (0x02);
// Harorat, namlik yoqilgan, piksellar sonini = 14 bit, isitgich yoqilgan
Wire.write (0x30);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (300);
}
bo'sh halqa ()
{
imzosiz int ma'lumotlari [2];
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Haroratni o'lchash buyrug'ini yuboring
Wire.write (0x00);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (500);
// 2 bayt ma'lumotni so'rang
Wire.requestFrom (Addr, 2);
// 2 bayt ma'lumotni o'qing
// temp msb, temp lsb
agar (Wire.available () == 2)
{
ma'lumotlar [0] = Wire.read ();
ma'lumotlar [1] = Wire.read ();
}
// Ma'lumotni aylantirish
temp = ((ma'lumotlar [0] * 256) + ma'lumotlar [1]);
cTemp = (temp / 65536.0) * 165.0 - 40;
fTemp = cTemp * 1.8 + 32;
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Namlikni o'lchash buyrug'ini yuboring
Wire.write (0x01);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (500);
// 2 bayt ma'lumotni so'rang
Wire.requestFrom (Addr, 2);
// 2 bayt ma'lumotni o'qing
// temp msb, temp lsb
agar (Wire.available () == 2)
{
ma'lumotlar [0] = Wire.read ();
ma'lumotlar [1] = Wire.read ();
}
// Ma'lumotni aylantirish
hum = ((ma'lumotlar [0] * 256) + ma'lumotlar [1]);
namlik = (hum / 65536,0) * 100,0;
// Ma'lumotlarni boshqaruv paneliga chiqarish
Particle.publish ("Nisbiy namlik:", Ip (namlik));
kechikish (1000);
Particle.publish ("Selsiydagi harorat:", String (cTemp));
kechikish (1000);
Particle.publish ("Farengeytdagi harorat:", String (fTemp));
kechikish (1000);
}
Particle.variable () funktsiyasi sensorning chiqishini saqlash uchun o'zgaruvchilarni yaratadi va Particle.publish () funktsiyasi saytning boshqaruv panelida chiqishini ko'rsatadi.
Ma'lumot uchun sensor chiqishi yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
HDC1000 isitish, shamollatish va konditsioner (HVAC), aqlli termostatlar va xona monitorlarida ishlatilishi mumkin. Ushbu sensor, shuningdek, printerlar, qo'l o'lchagichlar, tibbiy asboblar, yuklarni tashish, shuningdek, avtomobil oynalarini tozalashda o'z qo'llanilishini topadi.