Sisällysluettelo:
Video: Arduino Nano - HTS221 suhteellisen kosteuden ja lämpötila -anturin opetusohjelma: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
HTS221 on erittäin kompakti kapasitiivinen digitaalinen anturi suhteelliseen kosteuteen ja lämpötilaan. Se sisältää anturielementin ja sekoitussignaalisovelluskohtaisen integroidun piirin (ASIC) mittaustietojen toimittamiseksi digitaalisten sarjaliitäntöjen kautta. Integroitu niin moniin ominaisuuksiin, tämä on yksi sopivimmista antureista kriittisille kosteus- ja lämpötilamittauksille. Tässä on esittely arduino nanolla.
Vaihe 1: Mitä tarvitset..
1. Arduino Nano
2. HTS221
3. I²C -kaapeli
4. I²C -kilpi Arduino Nanolle
Vaihe 2: Liitännät:
Ota I2C -suoja Arduino Nanolle ja työnnä sitä varovasti Nanon nastojen yli.
Liitä sitten I2C -kaapelin toinen pää HTS221 -anturiin ja toinen pää I2C -suojaan.
Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi:
HTS221: n arduino-koodi voidaan ladata github-arkistostamme- DCUBE Community.
Tässä linkki samaan:
github.com/DcubeTechVentures/HTS221/blob/master/Arduino/HTS221.ino
Mukana on kirjasto Wire.h, joka helpottaa anturin I2c -tiedonsiirtoa Arduino -kortin kanssa.
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
// Jaetaan vapaaehtoisella lisenssillä.
// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
// HTS221
// Tämä koodi on suunniteltu toimimaan HTS221_I2CS I2C Mini -moduulin kanssa
#sisältää
// HTS221 I2C -osoite on 0x5F
#define Addr 0x5F
mitätön asennus ()
{
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse keskimääräinen määritysrekisteri
Wire.write (0x10);
// Lämpötilan keskimääräiset näytteet = 256, Kosteusnäytteet = 512
Wire.write (0x1B);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse ohjausrekisteri 1
Wire.write (0x20);
// Virta päällä, jatkuva päivitys, tiedonsiirtonopeus = 1 Hz
Wire.write (0x85);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamaton int -data [2];
unsigned int val [4];
allekirjoittamaton int H0, H1, H2, H3, T0, T1, T2, T3, raaka;
// Kosteuden kutsuarvot
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((48 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna kosteustiedot
H0 = data [0] / 2;
H1 = data [1] / 2;
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((54 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna kosteustiedot
H2 = (data [1] * 256,0) + data [0];
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((58 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna kosteustiedot
H3 = (data [1] * 256,0) + data [0];
// Lämpötilan kutsun arvot
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x32);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x33);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x35);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
raaka = Wire.read ();
}
raaka = raaka & 0x0F;
// Muunna lämpötilan kutsun arvot 10-bittisiksi
T0 = ((raaka & 0x03) * 256) + T0;
T1 = ((raaka & 0x0C) * 64) + T1;
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((60 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna tiedot
T2 = (data [1] * 256,0) + data [0];
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((62 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna tiedot
T3 = (data [1] * 256,0) + data [0];
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x28 | 0x80);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 4 tavua dataa
Wire.requestFrom (Addr, 4);
// Lue 4 tavua dataa
// kosteus msb, kosteus lsb, lämpötila msb, lämpötila lsb
jos (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// Muunna tiedot
kellukosteus = (val [1] * 256,0) + val [0];
kosteus = (((1,0 * H1) - (1,0 * H0)) * (1,0 * kosteus - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
int temp = (val [3] * 256) + val [2];
kelluva cTemp = ((((T1 - T0) / 8,0) * (lämpötila - T2)) / (T3 - T2) + (T0 / 8,0);
kelluva fTemp = (cTemp * 1,8) + 32;
// Tulostustiedot sarjamittarille
Serial.print ("Suhteellinen kosteus:");
Sarjajälki (kosteus);
Serial.println (" % RH");
Serial.print ("Lämpötila celsiusasteina:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Lämpötila Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
viive (500);
}
Vaihe 4: Sovellukset:
HTS221: tä voidaan käyttää erilaisissa kulutustavaroissa, kuten ilmankostuttimissa ja jääkaappeissa.
Suositeltava:
Raspberry Pi SHT25 -kosteus- ja lämpötila -anturi Python -opetusohjelma: 4 vaihetta
Raspberry Pi SHT25 Kosteus- ja lämpötila -anturi Python -opetusohjelma: SHT25 I2C Kosteus- ja lämpötila -anturi ± 1,8%RH ± 0,2 ° C I2C -minimoduuli. Korkean tarkkuuden kosteus- ja lämpötila-anturista SHT25 on tullut alan standardi muodon ja älykkyyden suhteen, ja se tarjoaa kalibroituja, lineaarisia anturisignaaleja
Opetusohjelma: Kuinka tehdä yksinkertainen lämpötila -anturi käyttämällä DS18B20 ja Arduino UNO: 3 vaihetta
Opetusohjelma: Yksinkertaisen lämpötila -anturin tekeminen DS18B20: n ja Arduino UNO: n avulla: Kuvaus: Tämä opetusohjelma näyttää sinulle muutamia yksinkertaisia vaiheita lämpötila -anturin toimivuuden lisäämiseksi. Se kestää vain muutaman minuutin, jotta se toteutuu projektissasi. Onnea ! Digitaalinen DS18B20-lämpömittari tarjoaa 9--12-bittistä Celsius-lämpötilaa
Raspberry Pi - HIH6130 I2C Kosteus- ja lämpötila -anturi Python -opetusohjelma: 4 vaihetta
Raspberry Pi - HIH6130 I2C Kosteus- ja lämpötila -anturi Python -opetusohjelma: HIH6130 on kosteus- ja lämpötila -anturi, jossa on digitaalinen lähtö. Nämä anturit antavat tarkkuustason ± 4% RH. Alan johtava pitkän aikavälin vakaus, todellinen lämpötilakompensoitu digitaalinen I2C, alan johtava luotettavuus, energiatehokkuus
Kuinka käyttää DHT11 -lämpötila -anturia Arduino- ja tulostuslämpötilan lämmön ja kosteuden kanssa: 5 vaihetta
DHT11 -lämpötila -anturin käyttäminen Arduino- ja tulostuslämpötilan lämmön ja kosteuden kanssa: DHT11 -anturia käytetään lämpötilan ja kosteuden mittaamiseen. He ovat erittäin suosittuja elektroniikan harrastajia. DHT11 -kosteus- ja lämpötila -anturin avulla on todella helppo lisätä kosteus- ja lämpötilatietoja DIY -elektroniikkaprojekteihisi. Se on per
Lämpömittari suhteellisen lämpötilan värillä 2 tuuman TFT -näytöllä ja useita antureita: 5 vaihetta
Lämpömittari, jossa on suhteellinen lämpötilan väri 2 tuuman TFT -näytössä ja useita antureita: Olen tehnyt näytön, joka näyttää useiden lämpötila -anturien mittaukset. Viileä asia on, että arvojen väri muuttuu lämpötilan mukaan: > 75 astetta = PUNAINEN > 60 > 75 = ORANSSI > 40 < 60 = KELTAINEN > 30 < 40