Përmbajtje:

Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Arduino Nano: 4 hapa
Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Arduino Nano: 4 hapa

Video: Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Arduino Nano: 4 hapa

Video: Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Arduino Nano: 4 hapa
Video: Matja e temperaturës nga rektumi, këshillat që duhet të ndiqni për ta kryer saktë 2024, Nëntor
Anonim
Image
Image

HDC1000 është një sensor dixhital i lagështisë me sensor të integruar të temperaturës që siguron saktësi të shkëlqyeshme të matjes me fuqi shumë të ulët. Pajisja mat lagështinë bazuar në një sensor të ri kapacitiv. Sensorët e lagështisë dhe temperaturës janë të kalibruar në fabrikë. Functionalshtë funksionale brenda intervalit të plotë të temperaturës -40 ° C deri +125 ° C.

Në këtë tutorial është ilustruar ndërfaqja e modulit të sensorit HDC1000 me arduino nano. Për të lexuar vlerat e temperaturës dhe lagështisë, ne kemi përdorur arduino me një përshtatës I2c. Ky përshtatës I2C e bën lidhjen me modulin e sensorit të lehtë dhe më të besueshëm.

Hapi 1: Kërkohet harduer:

Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. HDC1000

2. Arduino Nano

3. Kabllo I2C

4. Mburoja I2C për Arduino Nano

Hapi 2: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe arduino nano. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

HDC1000 do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik.

Gjithçka që ju nevojitet janë katër tela! Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 3: Kodi për Matjen e Temperaturës dhe Lagështisë:

Kodi për Matjen e Temperaturës dhe Lagështisë
Kodi për Matjen e Temperaturës dhe Lagështisë

Le të fillojmë me kodin arduino tani.

Ndërsa përdorim modulin e sensorit me arduino, ne përfshijmë bibliotekën Wire.h. Biblioteka "Wire" përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe bordit arduino.

I gjithë kodi arduino është dhënë më poshtë për lehtësinë e përdoruesit:

#përfshi

// Adresa HDC1000 I2C është 0x40 (64)

#përcaktoni Addr 0x40

void setup ()

{

// Filloni komunikimin I2C si MASTER

Wire.begin ();

// Filloni komunikimin serik, vendosur normën e baudit = 9600

Serial.filloj (9600);

// Fillon komunikimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e konfigurimit

Wire.write (0x02);

// Temperatura, lagështia e aktivizuar, rezolucioni = 14-bit, ngrohës i ndezur

Wire.write (0x30);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (300);

}

lak void ()

{

të dhëna int të panënshkruara [2];

// Fillon komunikimin I2C

Wire.beginTransmetimi (Addr);

// Dërgo komandën e matjes së temperaturës

Wire.write (0x00);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (500);

// Kërkoni 2 bajt të dhëna

Tela. Kërkohet Nga (Addr, 2);

// Lexoni 2 bajt të dhëna

// temp msb, temp lsb

nëse (Wire. në dispozicion () == 2)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

}

// Shndërroni të dhënat

int temp = (të dhëna [0] * 256) + të dhëna [1];

noton cTemp = (temp / 65536.0) * 165.0 - 40;

noton fTemp = cTemp * 1.8 + 32;

// Fillon komunikimin I2C

Wire.beginTransmetimi (Addr);

// Dërgo komandën e matjes së lagështisë

Wire.write (0x01);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (500);

// Kërkoni 2 bajt të dhëna

Tela. Kërkohet Nga (Addr, 2);

// Lexoni 2 bajt të dhëna

// lagështia msb, lagështia lsb

nëse (Wire. në dispozicion () == 2)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

}

// Shndërroni të dhënat

lagështia notuese = (të dhëna [0] * 256) + të dhëna [1];

lagështia = (lagështia / 65536.0) * 100.0;

// 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);

}

Në bibliotekën Wire.write () dhe Wire.read () përdoret për të shkruar komandat dhe lexuar daljen e sensorit.

Serial.print () dhe Serial.println () përdoret për të shfaqur daljen e sensorit në monitorin serik të Arduino IDE.

Dalja e sensorit tregohet në figurën e mësipërme.

Hapi 4: Aplikimet:

Aplikimet
Aplikimet

HDC1000 mund të përdoret në ngrohje, ventilim dhe ajër të kondicionuar (HVAC), Termostate të Zgjuar dhe Monitorues të Dhomës. Ky sensor gjithashtu gjen aplikimin e tij në Printera, Matës dore, Pajisje Mjekësore, Transport mallrash si dhe Mjegullim të xhamit të automobilave.

Recommended: