Obsah:

Meranie teploty a vlhkosti pomocou HDC1000 a Arduino Nano: 4 kroky
Meranie teploty a vlhkosti pomocou HDC1000 a Arduino Nano: 4 kroky

Video: Meranie teploty a vlhkosti pomocou HDC1000 a Arduino Nano: 4 kroky

Video: Meranie teploty a vlhkosti pomocou HDC1000 a Arduino Nano: 4 kroky
Video: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, Júl
Anonim
Image
Image

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 návode je ilustrované prepojenie senzorového modulu HDC1000 s arduino nano. Na čítanie hodnôt teploty a vlhkosti sme použili arduino s adaptérom I2c. Vďaka tomuto adaptéru I2C je pripojenie k senzorovému modulu jednoduché a spoľahlivejšie.

Krok 1: Potrebný hardvér:

Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér

Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:

1. HDC1000

2. Arduino Nano

3. Kábel I2C

4. I2C štít pre Arduino Nano

Krok 2: Pripojenie hardvéru:

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a arduino nano. 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:

Kód na meranie teploty a vlhkosti
Kód na meranie teploty a vlhkosti

Začnime teraz arduino kódom.

Pri použití senzorového modulu s arduinom obsahuje knižnicu Wire.h. Knižnica "Wire" obsahuje funkcie, ktoré uľahčujú komunikáciu i2c medzi senzorom a doskou Arduino.

Celý arduino kód je pre pohodlie užívateľa uvedený nižšie:

#zahrnúť

// Adresa HDC1000 I2C je 0x40 (64)

#define Addr 0x40

neplatné nastavenie ()

{

// Inicializujte komunikáciu I2C ako MASTER

Wire.begin ();

// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600

Serial.begin (9600);

// Spustí komunikáciu 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];

// Spustí komunikáciu 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

int temp = (údaje [0] * 256) + údaje [1];

float cTemp = (temp / 65536,0) * 165,0 - 40;

float fTemp = cTemp * 1,8 + 32;

// Spustí komunikáciu 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

// vlhkosť msb, vlhkosť lsb

ak (Wire.available () == 2)

{

data [0] = Wire.read ();

údaje [1] = Wire.read ();

}

// Previesť údaje

plávajúca vlhkosť = (údaje [0] * 256) + údaje [1];

vlhkosť = (vlhkosť / 65536,0) * 100,0;

// Výstup údajov na sériový monitor

Serial.print („Relatívna vlhkosť:“);

Sériový tlač (vlhkosť);

Serial.println (" %RH");

Serial.print ("Teplota v stupňoch Celzia:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Teplota vo Fahrenheite:");

Serial.print (fTemp);

Serial.println ("F");

oneskorenie (500);

}

V knižnici drôtov Wire.write () a Wire.read () sa používajú na zápis príkazov a čítanie výstupu snímača.

Serial.print () a Serial.println () sa používa na zobrazenie výstupu senzora na sériovom monitore Arduino IDE.

Výstup senzora je zobrazený na obrázku vyššie.

Krok 4: Aplikácie:

Aplikácie
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.

Odporúča: