Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13
Ang HTS221 ay isang ultra compact capacitive digital sensor para sa kamag-anak na halumigmig at temperatura. May kasamang elemento ng sensing at isang halo-halong signal application na tiyak na integrated circuit (ASIC) upang maibigay ang impormasyon sa pagsukat sa pamamagitan ng mga digital serial interface. Isinama sa napakaraming mga tampok na ito ay isa sa mga pinakaangkop na sensor para sa kritikal na kahalumigmigan at pagsukat ng temperatura.
Sa tutorial na ito ang paglalagay ng interface ng HTS221 sensor module na may maliit na butil na poton ay nailarawan. Upang mabasa ang halagang halumigmig at temperatura, gumamit kami ng maliit na butil na may isang I2c adapter. Ginagawa ng I2C adapter na ito ang koneksyon sa module ng sensor na mas madali at mas maaasahan.
Hakbang 1: Kinakailangan ang Hardware:
Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:
1. HTS221
2. Particle Photon
3. I2C Cable
4. I2C Shield para sa poton ng maliit na butil
Hakbang 2: Hardware Hookup:
Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng particle foton. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:
Gagana ang HTS221 sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.
Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko.
Ang kailangan mo lang ay apat na wires! Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.
Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.
Hakbang 3: Code para sa Humidity at Sukat ng Temperatura:
Hinahayaan nating magsimula sa code ng maliit na butil ngayon.
Habang ginagamit ang module ng sensor na may maliit na butil, nagsasama kami ng application.h at spark_wiring_i2c.h library. Ang "application.h" at spark_wiring_i2c.h library ay naglalaman ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng maliit na butil.
Ang buong code ng maliit na butil ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:
# isama
# isama
// HTS221 I2C address ay 0x5F
# tukuyin ang Addr 0x5F
dobleng kahalumigmigan = 0.0;
doble cTemp = 0.0;
doble fTemp = 0.0;
int temp = 0;
walang bisa ang pag-setup ()
{
// Itakda ang variable
Particle.variable ("i2cdevice", "HTS221");
Particle. Iba-iba ("Humidity", halumigmig);
Particle.variable ("cTemp", cTemp);
// Initialise I2C na komunikasyon bilang MASTER
Wire.begin ();
// Initialise serial communication, itakda ang baud rate = 9600
Serial.begin (9600);
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang average register ng pagsasaayos
Wire.write (0x10);
// Temperatura ng average na sample = 256, average sample ng Humidity = 512
Wire.write (0x1B);
// Stop I2C Transmission
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang control register1
Wire.write (0x20);
// Power ON, Patuloy na pag-update, rate ng output ng data = 1 Hz
Wire.write (0x85);
// Stop I2C Transmission
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [2];
unsigned int val [4];
unsigned int H0, H1, H2, H3, T0, T1, T2, T3, hilaw;
// Mga halaga ng calliberation ng kahalumigmigan
para sa (int i = 0; i <2; i ++)
{
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write ((48 + i));
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
data = Wire.read ();
}
}
// I-convert ang data ng Humidity
H0 = data [0] / 2;
H1 = data [1] / 2;
para sa (int i = 0; i <2; i ++)
{
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write ((54 + i));
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
data = Wire.read ();
}
}
// I-convert ang data ng Humidity
H2 = (data [1] * 256.0) + data [0];
para sa (int i = 0; i <2; i ++)
{
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write ((58 + i));
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
data = Wire.read ();
}
}
// I-convert ang data ng Humidity
H3 = (data [1] * 256.0) + data [0];
// Mga halaga ng calliberation ng temperatura
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write (0x32);
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write (0x33);
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write (0x35);
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
hilaw = Wire.read ();
}
hilaw = hilaw at 0x0F;
// I-convert ang mga halaga ng calliberation ng temperatura sa 10-bit
T0 = (((raw & 0x03) * 256) + T0;
T1 = (((raw & 0x0C) * 64) + T1;
para sa (int i = 0; i <2; i ++)
{
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write ((60 + i));
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
data = Wire.read ();
}
}
// I-convert ang data
T2 = (data [1] * 256.0) + data [0];
para sa (int i = 0; i <2; i ++)
{
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write ((62 + i));
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 1 byte ng data
kung (Wire.available () == 1)
{
data = Wire.read ();
}
}
// I-convert ang data
T3 = (data [1] * 256.0) + data [0];
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Magpadala ng rehistro ng data
Wire.write (0x28 | 0x80);
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 4 bytes ng data
Wire.requestFrom (Addr, 4);
// Basahin ang 4 bytes ng data
// halumigmig msb, halumigmig lsb, temp msb, temp lsb
kung (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// I-convert ang data
halumigmig = (val [1] * 256.0) + val [0];
halumigmig = ((1.0 * H1) - (1.0 * H0)) * (1.0 * halumigmig - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
temp = (val [3] * 256) + val [2]; cTemp = ((((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
fTemp = (cTemp * 1.8) + 32;
// Output data sa dashboard
Particle.publish ("Kamag-anak halumigmig:", String (halumigmig));
pagkaantala (1000);
Particle.publish ("Temperatura sa Celsius:", String (cTemp));
pagkaantala (1000);
Particle.publish ("Temperatura sa Fahrenheit:", String (fTemp));
pagkaantala (1000);
}
Ang function ng Particle.variable () ay lumilikha ng mga variable upang maiimbak ang output ng sensor at ipinapakita ng pagpapaandar ng Particle.publish () ang output sa dashboard ng site.
Ang output ng sensor ay ipinapakita sa larawan sa itaas para sa iyong sanggunian.
Hakbang 4: Mga Aplikasyon:
Maaaring gamitin ang HTS221 sa iba't ibang mga produktong consumer tulad ng mga air humidifiers at refrigerator atbp. Natagpuan din ng sensor na ito ang aplikasyon nito sa isang mas malawak na arena kasama ang Smart home automation, Industrial automation, respiratory equipments, asset at mga kalakal sa pagsubaybay.
Inirerekumendang:
Pagsukat ng Humidity Gamit ang HYT939 at Particle Photon: 4 na Hakbang
Pagsukat sa Humidity Gamit ang HYT939 at Particle Photon: HYT939 ay isang digital na sensor ng halumigmig na gumagana sa I2C na komunikasyon na proteksyon. Ang kahalumigmigan ay isang pangunahing parameter pagdating sa mga sistemang medikal at mga laboratoryo, Kaya upang makamit ang mga layuning ito sinubukan naming i-interface ang HYT939 sa raspberry pi. Ako
Humidity at Temperatura Pagsukat Gamit ang HTS221 at Arduino Nano: 4 na Hakbang
Humidity at Temperatura Pagsukat Gamit ang HTS221 at Arduino Nano: HTS221 ay isang ultra compact capacitive digital sensor para sa kamag-anak na halumigmig at temperatura. May kasamang elemento ng sensing at isang halo-halong signal application na tiyak na integrated circuit (ASIC) upang maibigay ang impormasyon sa pagsukat sa pamamagitan ng digital serial
Humidity at Temperatura Pagsukat Gamit ang HTS221 at Raspberry Pi: 4 na Hakbang
Humidity at Temperatura Pagsukat Gamit ang HTS221 at Raspberry Pi: HTS221 ay isang ultra compact capacitive digital sensor para sa kamag-anak na kahalumigmigan at temperatura. May kasamang elemento ng sensing at isang halo-halong signal application na tiyak na integrated circuit (ASIC) upang maibigay ang impormasyon sa pagsukat sa pamamagitan ng digital serial
Humidity at Temperatura Pagsukat Gamit ang HIH6130 at Particle Photon: 4 na Hakbang
Humidity at Temperatura Pagsukat Gamit ang HIH6130 at Particle Photon: HIH6130 ay isang halumigmig at temperatura sensor na may digital output. Ang mga sensor na ito ay nagbibigay ng antas ng kawastuhan na ± 4% RH. Gamit ang pangmatagalang katatagan na nangunguna sa industriya, totoong kompensasyong digital I2C na binayaran ng temperatura, pagiging maaasahan ng nangunguna sa industriya, kahusayan ng Enerhiya
Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Particle Photon: 4 na Hakbang
Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Particle Photon: Ang HDC1000 ay isang digital sensor ng kahalumigmigan na may isinamang sensor ng temperatura na nagbibigay ng mahusay na kawastuhan sa pagsukat sa napakababang lakas. Sinusukat ng aparato ang halumigmig batay sa isang nobela na capacitive sensor. Ang halumigmig at temperatura sensor ay fac