Inhoudsopgave:
Video: Particle Photon - HDC1000 temperatuursensor tutorial - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
De HDC1000 is een digitale vochtigheidssensor met geïntegreerde temperatuursensor die een uitstekende meetnauwkeurigheid biedt bij een zeer laag vermogen. Het apparaat meet de vochtigheid op basis van een nieuwe capacitieve sensor. De vochtigheids- en temperatuursensoren zijn in de fabriek gekalibreerd. Het is functioneel binnen het volledige temperatuurbereik van -40 °C tot +125 °C. Hier is de demonstratie met deeltjesfoton.
Stap 1: Wat je nodig hebt.
1. Deeltjesfoton
2. HDC1000
3. I²C-kabel
4. I²C-schild voor deeltjesfoton
Stap 2: Aansluiting:
Neem een I2C-schild voor deeltjesfoton en duw het voorzichtig over de pinnen van deeltjesfoton.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de HDC1000-sensor en het andere uiteinde op de I2C-afscherming.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De deeltjescode voor HDC1000 kan worden gedownload van onze GitHub-repository - Dcube Store.
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/HDC1000…
De datasheet van de HDC1000 vindt u hier:
www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf
We hebben twee bibliotheken gebruikt voor deeltjescode, namelijk application.h en spark_wiring_i2c.h. Spark_wiring_i2c-bibliotheek is vereist om de I2C-communicatie met de sensor te vergemakkelijken.
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// HDC1000
// Deze code is ontworpen om te werken met de HDC1000_I2CS I2C Mini Module die beschikbaar is in de Dcube Store.
#erbij betrekken
#erbij betrekken
// HDC1000 I2C-adres is 0x40(64)
#define Addr 0x40
vlotter cTemp = 0,0, fTemp = 0,0, vochtigheid = 0,0;
int temp = 0, brom = 0;
ongeldige setup()
{
// Variabele instellen
Particle.variable ("i2cdevice", "HDC1000");
Particle.variable ("vochtigheid", vochtigheid);
Particle.variable("cTemp", cTemp);
// Initialiseer I2C-communicatie
Draad.begin();
// Initialiseer seriële communicatie, stel baudrate in = 9600
Serieel.begin(9600);
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Selecteer configuratieregister
Draad.schrijven (0x02);
// Temperatuur, vochtigheid ingeschakeld, resolutie = 14-bits, verwarming aan
Draad.schrijven (0x30);
// Stop I2C-verzending
Wire.endTransmission();
vertraging (300);
}
lege lus()
{
niet-ondertekende int-gegevens[2];
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Stuur opdracht voor temperatuurmeting
Draad.schrijven (0x00);
// Stop I2C-verzending
Wire.endTransmission();
vertraging (500);
// Vraag 2 bytes aan gegevens aan
Wire.requestFrom(Addr, 2);
// Lees 2 bytes aan gegevens
// temp msb, temp lsb
if (Draad.beschikbaar() == 2)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
}
// Converteer de gegevens
temp = ((data[0] * 256) + data[1]);
cTemp = (temp / 65536.0) * 165,0 - 40;
fTemp = cTemp * 1,8 + 32;
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Stuur opdracht voor vochtigheidsmeting
Draad.schrijven (0x01);
// Stop I2C-verzending
Wire.endTransmission();
vertraging (500);
// Vraag 2 bytes aan gegevens aan
Wire.requestFrom(Addr, 2);
// Lees 2 bytes aan gegevens
// temp msb, temp lsb
if (Draad.beschikbaar() == 2)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
}
// Converteer de gegevens
brom = ((data[0] * 256) + data[1]);
vochtigheid = (brom / 65536.0) * 100,0;
// Gegevens uitvoeren naar dashboard
Particle.publish ("Relatieve vochtigheid:", String (vochtigheid));
Particle.publish("Temperatuur in Celsius: ", String(cTemp));
Particle.publish("Temperatuur in Fahrenheit: ", String(fTemp));
vertraging (1000);
}
Stap 4: Toepassingen:
HDC1000 kan worden gebruikt in verwarming, ventilatie en airconditioning (HVAC), Slimme Thermostaten en Kamermonitoren. Deze sensor vindt ook zijn toepassing in printers, handmeters, medische apparaten, vrachtvervoer en autoruitontwaseming.
Aanbevolen:
Meting van versnelling met behulp van ADXL345 en Particle Photon: 4 stappen
Meting van versnelling met behulp van ADXL345 en deeltjesfoton: De ADXL345 is een kleine, dunne, ultralaagvermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de
Vochtigheidsmeting met HYT939 en Particle Photon: 4 stappen
Vochtigheidsmeting met HYT939 en Particle Photon: HYT939 is een digitale vochtigheidssensor die werkt op I2C-communicatieprotocol. Vochtigheid is een cruciale parameter als het gaat om medische systemen en laboratoria. Om deze doelen te bereiken hebben we geprobeerd HYT939 te koppelen aan Raspberry Pi. L
Meting van versnelling met behulp van H3LIS331DL en Particle Photon: 4 stappen
Meting van versnelling met behulp van H3LIS331DL en Particle Photon: H3LIS331DL, is een low-power high-performance 3-assige lineaire versnellingsmeter die behoort tot de "nano" familie, met digitale I²C seriële interface. H3LIS331DL heeft door de gebruiker selecteerbare volledige schalen van ±100g/±200g/±400g en is in staat om versnellingen te meten met
Temperatuurmeting met MCP9803 en Particle Photon: 4 stappen
Temperatuurmeting met MCP9803 en Particle Photon: MCP9803 is een 2-draads zeer nauwkeurige temperatuursensor. Ze zijn belichaamd met door de gebruiker programmeerbare registers die temperatuurdetectietoepassingen vergemakkelijken. Deze sensor is geschikt voor een zeer geavanceerd multi-zone temperatuurbewakingssysteem.In d
Versnellingsmeting met BMA250 en Particle Photon: 4 stappen
Versnellingsmeting met behulp van BMA250 en Particle Photon: BMA250 is een kleine, dunne, ultralaag vermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2C-interface. Het meet de statische