Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
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:
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:
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ë:
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:
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.