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 fotonin e grimcave. Për të lexuar vlerat e temperaturës dhe lagështisë, ne kemi përdorur grimcë 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. Fotoni i grimcave
3. Kabllo I2C
4. Mburoja I2C për fotonin e grimcave
Hapi 2: Bashkimi i harduerit:
Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe fotonit të grimcave. 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 e grimcave tani.
Ndërsa përdorim modulin e sensorit me grimcën, ne përfshijmë bibliotekën application.h dhe spark_wiring_i2c.h. Biblioteka "application.h" dhe spark_wiring_i2c.h përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe grimcës.
I gjithë kodi i grimcave është dhënë më poshtë për lehtësinë e përdoruesit:
#përfshi
#përfshi
// Adresa HDC1000 I2C është 0x40 (64)
#përcaktoni Addr 0x40
dyshe cTemp = 0.0, fTemp = 0.0, lagështia = 0.0;
int temp = 0, hum = 0;
void setup ()
{
// Vendos ndryshoren
Particle.variable ("i2cdevice", "HDC1000");
Grimca. E ndryshueshme ("lagështia", lagështia);
Particle.variable ("cTemp", cTemp);
// Filloni komunikimin I2C
Wire.begin ();
// Filloni Komunikimin Serial, vendosur normën e baudit = 9600
Serial.filloj (9600);
// Filloni Transmetimin 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];
// Filloni Transmetimin 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
temp = ((të dhënat [0] * 256) + të dhënat [1]);
cTemp = (temp / 65536.0) * 165.0 - 40;
fTemp = cTemp * 1.8 + 32;
// Filloni Transmetimin 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
// 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
hum = ((të dhënat [0] * 256) + të dhënat [1]);
lagështia = (hum / 65536.0) * 100.0;
// Dalja e të dhënave në pult
Particle.publish ("Lagështia relative:", String (lagështia));
vonesa (1000);
Particle.publish ("Temperatura në Celsius:", String (cTemp));
vonesa (1000);
Particle.publish ("Temperatura në Fahrenheit:", String (fTemp));
vonesa (1000);
}
Funksioni Particle.variable () krijon variablat për të ruajtur daljen e sensorit dhe funksioni Particle.publish () shfaq daljen në pultin e faqes.
Dalja e sensorit tregohet në figurën e mësipërme për referencën tuaj.
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.