Taula de continguts:
- Pas 1: maquinari necessari:
- Pas 2: connexió de maquinari:
- Pas 3: codi per a la mesura de la humitat i la temperatura:
- Pas 4: aplicacions:
Vídeo: Mesura de la humitat i la temperatura mitjançant HTS221 i fotó de partícules: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
HTS221 és un sensor digital capacitiu ultra compacte per a humitat relativa i temperatura. Inclou un element de detecció i un circuit integrat específic d’aplicació de senyal mixta (ASIC) per proporcionar la informació de mesurament a través d’interfícies serials digitals. Integrat amb tantes funcions, aquest és un dels sensors més adequats per a mesuraments crítics d’humitat i temperatura.
En aquest tutorial s'ha il·lustrat la interfície del mòdul del sensor HTS221 amb el fotó de partícules. Per llegir els valors d’humitat i temperatura, hem utilitzat partícules amb un adaptador I2c, que fa que la connexió al mòdul del sensor sigui més fàcil i fiable.
Pas 1: maquinari necessari:
Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:
1. HTS221
2. Fotó de partícules
3. Cable I2C
4. Escut I2C per a fotons de partícules
Pas 2: connexió de maquinari:
La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el fotó de partícules. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:
El HTS221 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.
Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic.
Tot el que necessiteu són quatre cables. Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.
Aquestes connexions es mostren a les imatges anteriors.
Pas 3: codi per a la mesura de la humitat i la temperatura:
Comencem ara pel codi de partícules.
Mentre s’utilitza el mòdul de sensor amb la partícula, incloem la biblioteca application.h i spark_wiring_i2c.h. La biblioteca "application.h" i spark_wiring_i2c.h conté les funcions que faciliten la comunicació i2c entre el sensor i la partícula.
A continuació es proporciona tot el codi de partícules per a la comoditat de l'usuari:
#incloure
#incloure
// L'adreça I2C HTS221 és 0x5F
#define Addr 0x5F
doble humitat = 0,0;
doble cTemp = 0,0;
doble fTemp = 0,0;
int temp = 0;
configuració nul·la ()
{
// Estableix la variable
Particle.variable ("i2cdevice", "HTS221");
Particle.variable ("Humitat", humitat);
Particle.variable ("cTemp", cTemp);
// Inicialitzar la comunicació I2C com a MASTER
Wire.begin ();
// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600
Serial.begin (9600);
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu un registre de configuració mitjà
Wire.write (0x10);
// Mostres mitjanes de temperatura = 256, mostres mitjanes d’humitat = 512
Wire.write (0x1B);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu control register1
Wire.write (0x20);
// Encès, actualització contínua, velocitat de sortida de dades = 1 Hz
Wire.write (0x85);
// Atura la transmissió I2C
Wire.endTransmission ();
retard (300);
}
bucle buit ()
{
dades int sense signar [2];
unsigned int val [4];
sense signar int H0, H1, H2, H3, T0, T1, T2, T3, en brut;
// Valors de calibratge d’humitat
per a (int i = 0; i <2; i ++)
{
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write ((48 + i));
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
dades = Wire.read ();
}
}
// Converteix les dades d’humitat
H0 = dades [0] / 2;
H1 = dades [1] / 2;
per a (int i = 0; i <2; i ++)
{
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write ((54 + i));
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
dades = Wire.read ();
}
}
// Converteix les dades d’humitat
H2 = (dades [1] * 256,0) + dades [0];
per a (int i = 0; i <2; i ++)
{
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write ((58 + i));
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
dades = Wire.read ();
}
}
// Converteix les dades d’humitat
H3 = (dades [1] * 256,0) + dades [0];
// Valors de calibratge de temperatura
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write (0x32);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write (0x33);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write (0x35);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
raw = Wire.read ();
}
raw = raw & 0x0F;
// Converteix els valors de calibratge de temperatura a 10 bits
T0 = ((en brut & 0x03) * 256) + T0;
T1 = ((en brut & 0x0C) * 64) + T1;
per a (int i = 0; i <2; i ++)
{
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write ((60 + i));
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
dades = Wire.read ();
}
}
// Converteix les dades
T2 = (dades [1] * 256,0) + dades [0];
per a (int i = 0; i <2; i ++)
{
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write ((62 + i));
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 1 byte de dades
Wire.requestFrom (Addr, 1);
// Llegiu 1 byte de dades
if (Wire.available () == 1)
{
dades = Wire.read ();
}
}
// Converteix les dades
T3 = (dades [1] * 256,0) + dades [0];
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Enviar registre de dades
Wire.write (0x28 | 0x80);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 4 bytes de dades
Wire.requestFrom (Addr, 4);
// Llegiu 4 bytes de dades
// humitat msb, humitat lsb, temp msb, temp lsb
if (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// Converteix les dades
humitat = (val [1] * 256,0) + val [0];
humitat = ((1,0 * H1) - (1,0 * H0)) * (1,0 * humitat - 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;
// Data de sortida al tauler
Particle.publish ("Humitat relativa:", String (humitat));
retard (1000);
Particle.publish ("Temperatura en centígrads", String (cTemp));
retard (1000);
Particle.publish ("Temperatura en Fahrenheit:", String (fTemp));
retard (1000);
}
La funció Particle.variable () crea les variables per emmagatzemar la sortida del sensor i la funció Particle.publish () mostra la sortida al tauler del lloc.
La sortida del sensor es mostra a la imatge superior per a la vostra referència.
Pas 4: aplicacions:
HTS221 es pot utilitzar en diversos productes de consum com humidificadors d'aire i neveres, etc. Aquest sensor també troba la seva aplicació en un àmbit més ampli, inclosa la domòtica intel·ligent, l'automatització industrial, els equips respiratoris, el seguiment d'actius i mercaderies.
Recomanat:
Mesura de la humitat mitjançant HYT939 i fotó de partícules: 4 passos
Mesura de la humitat mitjançant HYT939 i el fotó de partícules: HYT939 és un sensor digital d’humitat que funciona amb el protocol de comunicació I2C. La humitat és un paràmetre fonamental quan es tracta de sistemes mèdics i laboratoris, de manera que, per assolir aquests objectius, hem intentat relacionar HYT939 amb raspberry pi. Jo
Mesura de la humitat i la temperatura mitjançant HTS221 i Arduino Nano: 4 passos
Mesura de la humitat i la temperatura mitjançant HTS221 i Arduino Nano: HTS221 és un sensor digital capacitiu ultra compacte per a la humitat relativa i la temperatura. Inclou un element de detecció i un circuit integrat específic d’aplicació de senyal mixta (ASIC) per proporcionar la informació de mesurament mitjançant sèries digitals
Mesura de la humitat i la temperatura mitjançant HTS221 i Raspberry Pi: 4 passos
Mesura de la humitat i la temperatura mitjançant HTS221 i Raspberry Pi: HTS221 és un sensor digital capacitiu ultra compacte per a la humitat relativa i la temperatura. Inclou un element de detecció i un circuit integrat específic d’aplicació de senyal mixta (ASIC) per proporcionar la informació de mesurament mitjançant sèries digitals
Mesura de la humitat i la temperatura mitjançant HIH6130 i fotó de partícules: 4 passos
Mesura de la humitat i la temperatura mitjançant HIH6130 i el fotó de partícules: HIH6130 és un sensor d’humitat i temperatura amb sortida digital. Aquests sensors proporcionen un nivell de precisió del ± 4% HR. Amb estabilitat a llarg termini líder en la indústria, veritable I2C digital compensat per temperatura, fiabilitat líder en la indústria, eficiència energètica
Mesura de la temperatura i la humitat mitjançant HDC1000 i fotó de partícules: 4 passos
Mesura de la temperatura i la humitat mitjançant HDC1000 i el fotó de partícules: l’HDC1000 és un sensor digital d’humitat amb sensor de temperatura integrat que proporciona una precisió de mesura excel·lent a molt baixa potència. El dispositiu mesura la humitat basant-se en un nou sensor capacitiu. Els sensors d'humitat i temperatura són fac