Mundarija:

Zarrachalar fotoni - HDC1000 harorat sensori bo'yicha qo'llanma: 4 qadam
Zarrachalar fotoni - HDC1000 harorat sensori bo'yicha qo'llanma: 4 qadam

Video: Zarrachalar fotoni - HDC1000 harorat sensori bo'yicha qo'llanma: 4 qadam

Video: Zarrachalar fotoni - HDC1000 harorat sensori bo'yicha qo'llanma: 4 qadam
Video: Güneş'in Etkileyici Hikayesi | Yıldızımızı Yakından Tanıyalım 2024, Sentyabr
Anonim
Image
Image

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. Mana, uning zarracha foton bilan ko'rsatilishi.

1 -qadam: Sizga nima kerak.. !

Sizga nima kerak.. !!
Sizga nima kerak.. !!

1. Foton zarrachalari

2. HDC1000

3. I²C kabeli

4. Zarrachali foton uchun I²C qalqoni

2 -qadam: Ulanish:

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Zarrachali foton uchun I2C qalqonini oling va uni zarracha foton pimlari ustidan sekin itaring.

Keyin I2C kabelining bir uchini HDC1000 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.

Ulanishlar yuqoridagi rasmda ko'rsatilgan.

3 -qadam: Kod:

Kod
Kod

HDC1000 uchun zarracha kodini bizning GitHub omboridan- Dcube do'konidan yuklab olish mumkin.

Mana shu havola:

github.com/DcubeTechVentures/HDC1000…

HDC1000 ma'lumotlar jadvalini bu erda topishingiz mumkin:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

Biz zarrachalar kodi uchun ikkita kutubxonadan foydalandik, ular application.h va spark_wiring_i2c.h. Sensor bilan I2C aloqasini osonlashtirish uchun Spark_wiring_i2c kutubxonasi kerak.

Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:

// Ixtiyoriy litsenziya bilan tarqatilgan.

// Agar xohlasangiz, foyda yoki tekin ishlating, agar u tegishli asarlar litsenziyalariga mos kelsa.

// HDC1000

// Bu kod Dcube do'konida mavjud HDC1000_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan.

#qo'shing

#qo'shing

// HDC1000 I2C manzili - 0x40 (64)

#aniqlang Addr 0x40

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

Particle.publish ("Selsiydagi harorat:", String (cTemp));

Particle.publish ("Farengeytdagi harorat:", String (fTemp));

kechikish (1000);

}

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.

Tavsiya: