Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
HDC1000 je digitálny snímač vlhkosti s integrovaným snímačom teploty, ktorý poskytuje vynikajúcu presnosť merania pri veľmi nízkom výkone. Zariadenie meria vlhkosť na základe nového kapacitného senzora. Snímače teploty a vlhkosti sú kalibrované z výrobného závodu. Je funkčný v celom teplotnom rozsahu -40 ° C až +125 ° C.
V tomto tutoriáli bolo ilustrované prepojenie senzorového modulu HDC1000 s fotónom častíc. Na čítanie hodnôt teploty a vlhkosti sme použili častice s adaptérom I2c. Tento adaptér I2C umožňuje jednoduché a spoľahlivé pripojenie k modulu snímača.
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. HDC1000
2. Fotón častíc
3. Kábel I2C
4. I2C štít pre časticový fotón
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a fotónom častíc. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
HDC1000 bude fungovať cez I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik.
Všetko, čo potrebujete, sú štyri drôty! Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 3: Kód na meranie teploty a vlhkosti:
Začnime teraz s časticovým kódom.
Pri použití senzorového modulu s časticami zahrnujeme knižnicu application.h a spark_wiring_i2c.h. Knižnica "application.h" a spark_wiring_i2c.h obsahuje funkcie, ktoré uľahčujú i2c komunikáciu medzi senzorom a časticou.
Celý kód častíc je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť
#zahrnúť
// Adresa HDC1000 I2C je 0x40 (64)
#define Addr 0x40
dvojnásobok cTemp = 0,0, fTemp = 0,0, vlhkosť = 0,0;
int temp = 0, hum = 0;
neplatné nastavenie ()
{
// Nastavenie premennej
Premenná častica ("i2cdevice", "HDC1000");
Častica.proměnná ("vlhkosť", vlhkosť);
Particle.variable ("cTemp", cTemp);
// Inicializácia komunikácie I2C
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte konfiguračný register
Wire.write (0x02);
// Teplota, vlhkosť povolená, rozlíšenie = 14 bitov, ohrievač zapnutý
Wire.write (0x30);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (300);
}
prázdna slučka ()
{
int data bez znamienka [2];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Odoslanie príkazu na meranie teploty
Wire.write (0x00);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (500);
// Požiadajte o 2 bajty údajov
Wire.requestFrom (Addr, 2);
// Prečítajte 2 bajty údajov
// temp msb, temp lsb
ak (Wire.available () == 2)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
}
// Previesť údaje
temp = ((údaje [0] * 256) + údaje [1]);
cTemp = (teplota / 65536,0) * 165,0 - 40;
fTemp = cTemp * 1,8 + 32;
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Odoslanie príkazu na meranie vlhkosti
Wire.write (0x01);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (500);
// Požiadajte o 2 bajty údajov
Wire.requestFrom (Addr, 2);
// Prečítajte 2 bajty údajov
// temp msb, temp lsb
ak (Wire.available () == 2)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
}
// Previesť údaje
brum = ((údaje [0] * 256) + údaje [1]);
vlhkosť = (hum / 65536,0) * 100,0;
// Výstup údajov na informačný panel
Particle.publish ("Relatívna vlhkosť:", Reťazec (vlhkosť));
oneskorenie (1000);
Particle.publish („Teplota v stupňoch Celzia:“, reťazec (cTemp));
oneskorenie (1000);
Particle.publish („Teplota vo Fahrenheite:“, reťazec (fTemp));
oneskorenie (1000);
}
Funkcia Particle.variable () vytvára premenné na ukladanie výstupu zo senzora a funkcia Particle.publish () zobrazuje výstup na palubnej doske webu.
Výstup senzora je pre vašu referenciu zobrazený na obrázku vyššie.
Krok 4: Aplikácie:
HDC1000 je možné použiť v oblasti vykurovania, vetrania a klimatizácie (HVAC), inteligentných termostatov a izbových monitorov. Tento senzor nachádza svoje uplatnenie aj v tlačiarňach, ručných meračoch, zdravotníckych pomôckach, nákladnej doprave a odhmlievaní predného skla automobilov.