Përmbajtje:
Video: Arduino Nano - HTS221 Udhëzues për sensorin e lagështisë dhe temperaturës relative: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:16
HTS221 është një sensor dixhital ultra kompakt kapacitiv për lagështinë dhe temperaturën relative. Ai përfshin një element ndijimi dhe një qark të integruar specifik të aplikimit të sinjalit të përzier (ASIC) për të siguruar informacionin e matjes përmes ndërfaqeve serike dixhitale. I integruar me kaq shumë karakteristika ky është një nga sensorët më të përshtatshëm për matjet kritike të lagështisë dhe temperaturës. Këtu është demonstrimi me arduino nano.
Hapi 1: Ajo që ju nevojitet.. !
1. Arduino Nano
2. HTS221
3. Kabllo I²C
4. Mburoja I²C për Arduino Nano
Hapi 2: Lidhjet:
Merrni një mburojë I2C për Arduino Nano dhe shtyjeni butësisht mbi kunjat e Nanos.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin HTS221 dhe skajin tjetër me mburojën I2C.
Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi:
Kodi arduino për HTS221 mund të shkarkohet nga depoja jonë e github- Komuniteti DCUBE.
Këtu është lidhja për të njëjtën gjë:
github.com/DcubeTechVentures/HTS221/blob/master/Arduino/HTS221.ino
Ne përfshijmë bibliotekën Wire.h për të lehtësuar komunikimin I2c të sensorit me bordin Arduino.
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
// Shpërndarë me një licencë me vullnet të lirë.
// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
// HTS221
// Ky kod është krijuar për të punuar me Mini Modulin HTS221_I2CS I2C
#përfshi
// Adresa HTS221 I2C është 0x5F
#përcaktoni Addr 0x5F
void setup ()
{
// Filloni komunikimin I2C si MASTER
Wire.begin ();
// Filloni komunikimin serik, vendosur normën e baudit = 9600
Serial.filloj (9600);
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidh regjistrin mesatar të konfigurimit
Wire.write (0x10);
// Mostrat mesatare të temperaturës = 256, Mostrat mesatare të lagështisë = 512
Wire.write (0x1B);
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit1
Wire.write (0x20);
// Ndezje, Përditësim i vazhdueshëm, Shkalla e daljes së të dhënave = 1 Hz
Wire.write (0x85);
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
vonesë (300);
}
lak void ()
{
të dhëna int të panënshkruara [2];
int val i panënshkruar [4];
pa shenja int H0, H1, H2, H3, T0, T1, T2, T3, i papërpunuar;
// Vlerat e kalibrimit të lagështirës
për (int i = 0; i <2; i ++)
{
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write ((48 + i));
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
të dhënat = Wire.read ();
}
}
// Shndërroni të dhënat e lagështisë
H0 = të dhëna [0] / 2;
H1 = të dhëna [1] / 2;
për (int i = 0; i <2; i ++)
{
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write ((54 + i));
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
të dhënat = Wire.read ();
}
}
// Shndërroni të dhënat e lagështisë
H2 = (të dhëna [1] * 256.0) + të dhëna [0];
për (int i = 0; i <2; i ++)
{
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write ((58 + i));
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
të dhënat = Wire.read ();
}
}
// Shndërroni të dhënat e lagështisë
H3 = (të dhëna [1] * 256.0) + të dhëna [0];
// Vlerat e kalibrimit të temperaturës
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write (0x32);
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write (0x33);
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write (0x35);
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
i papërpunuar = Wire.read ();
}
i papërpunuar = i papërpunuar & 0x0F;
// Shndërroni vlerat e kalibrimit të temperaturës në 10-bit
T0 = ((e papërpunuar & 0x03) * 256) + T0;
T1 = ((e papërpunuar & 0x0C) * 64) + T1;
për (int i = 0; i <2; i ++)
{
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write ((60 + i));
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
të dhënat = Wire.read ();
}
}
// Shndërroni të dhënat
T2 = (të dhëna [1] * 256.0) + të dhëna [0];
për (int i = 0; i <2; i ++)
{
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write ((62 + i));
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 1 bajt të dhëna
Tela. Kërkohet Nga (Addr, 1);
// Lexoni 1 bajt të dhëna
nëse (Wire.available () == 1)
{
të dhënat = Wire.read ();
}
}
// Shndërroni të dhënat
T3 = (të dhëna [1] * 256.0) + të dhëna [0];
// Filloni Transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgoni regjistrin e të dhënave
Wire.write (0x28 | 0x80);
// Ndaloni Transmetimin I2C
Wire.endTransmission ();
// Kërkoni 4 bajt të dhëna
Tela. Kërkohet Nga (Addr, 4);
// Lexoni 4 bajt të dhëna
// lagështia msb, lagështia lsb, temp msb, temp lsb
nëse (Wire. në dispozicion () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// Shndërroni të dhënat
lagështia notuese = (val [1] * 256.0) + val [0];
lagështia = ((1.0 * H1) - (1.0 * H0)) * (1.0 * lagështia - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
int temp = (val [3] * 256) + val [2];
noton cTemp = (((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
noton fTemp = (cTemp * 1.8) + 32;
// Dalja e të dhënave në monitorin serik
Serial.print ("Lagështia relative:");
Serial.print (lagështia);
Serial.println (" % RH");
Serial.print ("Temperatura në Celsius:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Temperatura në Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
vonesë (500);
}
Hapi 4: Aplikimet:
HTS221 mund të përdoret në produkte të ndryshme të konsumit si lagështues të ajrit dhe frigoriferë, etj. Ky sensor gjithashtu gjen aplikimin e tij në një arenë më të gjerë duke përfshirë automatizimin e shtëpisë inteligjente, automatizimin industrial, pajisjet e frymëmarrjes, përcjelljen e aseteve dhe mallrave.
Recommended:
Ventilatori i Ftohjes Auto Duke Përdorur Servo dhe DHT11 Sensorin e Temperaturës dhe Lagështisë me Arduino: 8 Hapa
Ventilatori i Ftohjes Auto Duke përdorur Sensorin e Temperaturës dhe Lagështisë Servo dhe DHT11 Me Arduino: Në këtë tutorial do të mësojmë se si të fillojmë & rrotulloni një tifoz kur temperatura ngrihet mbi një nivel të caktuar
Arduino AMS5812_0050-D-B Udhëzues për sensorin e presionit dhe temperaturës: 4 hapa
Arduino AMS5812_0050-D-B Udhëzues për sensorin e presionit dhe temperaturës: Sensori i presionit të amplifikuar AMS5812 me dalje analoge dhe dixhitale është një sensor me saktësi të lartë me një dalje të tensionit analog dhe ndërfaqe dixhitale I2C. Ai kombinon një element ndijor piezoresistiv me një element të kondicionimit të sinjalit për funksionimin e tij.
Ndërfaqja Arduino me sensorin tejzanor dhe sensorin e temperaturës pa kontakt: 8 hapa
Ndërfaqja Arduino me sensorin tejzanor dhe sensorin e temperaturës pa kontakt: Në ditët e sotme, Krijuesit, Zhvilluesit po preferojnë Arduino për zhvillimin e shpejtë të prototipimit të projekteve. Arduino është një platformë elektronike me burim të hapur e bazuar në pajisje dhe softuer të lehtë për t’u përdorur. Arduino ka një komunitet shumë të mirë të përdoruesve. Në këtë projekt
Si të përdorni sensorin e temperaturës DHT11 me Arduino dhe temperaturën e printimit të nxehtësisë dhe lagështisë: 5 hapa
Si të përdorni sensorin e temperaturës DHT11 me Arduino dhe temperaturën e printimit të nxehtësisë dhe lagështisë: Sensori DHT11 përdoret për të matur temperaturën dhe lagështinë. Ata janë hobi shumë të njohur elektronikë. Sensori i lagështisë dhe temperaturës DHT11 e bën vërtet të lehtë shtimin e të dhënave të lagështisë dhe temperaturës në projektet tuaja elektronike DIY. Pershtë për
Krijimi i sinjalizimeve me email për sensorin e temperaturës dhe lagështisë me valë NCD duke përdorur Nyjen-Kuqe: 22 hapa
Krijimi i paralajmërimeve me email për sensorin e temperaturës dhe lagështisë pa tel NCD duke përdorur Node-Red: Ne po përdorim këtu sensorin e temperaturës dhe lagështisë të NCD, por hapat qëndrojnë të barabartë për cilindo nga produktet ncd, kështu që nëse keni sensorë të tjerë wireless wireless, përjetoni falas vëzhgoni krahas përveç. Me anë të ndalimit të këtij teksti, ju duhet të