Table des matières:

Mesure de la température et de l'humidité à l'aide de HDC1000 et de photons de particules : 4 étapes
Mesure de la température et de l'humidité à l'aide de HDC1000 et de photons de particules : 4 étapes

Vidéo: Mesure de la température et de l'humidité à l'aide de HDC1000 et de photons de particules : 4 étapes

Vidéo: Mesure de la température et de l'humidité à l'aide de HDC1000 et de photons de particules : 4 étapes
Vidéo: Mesurer la température et l'humidité avec le capteur DHT11 | ARDUINO #30 2024, Juillet
Anonim
Image
Image

Le HDC1000 est un capteur d'humidité numérique avec capteur de température intégré qui offre une excellente précision de mesure à très faible puissance. L'appareil mesure l'humidité sur la base d'un nouveau capteur capacitif. Les capteurs d'humidité et de température sont étalonnés en usine. Il est fonctionnel dans toute la plage de température de -40°C à +125°C.

Dans ce tutoriel, l'interfaçage du module capteur HDC1000 avec des photons de particules a été illustré. Pour lire les valeurs de température et d'humidité, nous avons utilisé des particules avec un adaptateur I2c. Cet adaptateur I2C rend la connexion au module capteur facile et plus fiable.

Étape 1: Matériel requis:

Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis

Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:

1. HDC1000

2. Photon de particule

3. Câble I2C

4. Bouclier I2C pour les photons de particules

Étape 2: connexion matérielle:

Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel

La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le photon particulaire. Assurer des connexions correctes est la nécessité de base tout en travaillant sur n'importe quel système pour la sortie souhaitée. Ainsi, les connexions requises sont les suivantes:

Le HDC1000 fonctionnera sur I2C. Voici l'exemple de schéma de câblage, montrant comment câbler chaque interface du capteur.

Prête à l'emploi, la carte est configurée pour une interface I2C, en tant que telle, nous vous recommandons d'utiliser cette connexion si vous êtes par ailleurs agnostique.

Tout ce dont vous avez besoin, c'est de quatre fils ! Seules quatre connexions sont nécessaires pour les broches Vcc, Gnd, SCL et SDA et celles-ci sont connectées à l'aide d'un câble I2C.

Ces connexions sont illustrées dans les images ci-dessus.

Étape 3: Code pour la mesure de la température et de l'humidité:

Code pour la mesure de la température et de l'humidité
Code pour la mesure de la température et de l'humidité

Commençons maintenant par le code des particules.

Lors de l'utilisation du module capteur avec la particule, nous incluons les bibliothèques application.h et spark_wiring_i2c.h. Les bibliothèques "application.h" et spark_wiring_i2c.h contiennent les fonctions qui facilitent la communication i2c entre le capteur et la particule.

Le code de particule complet est donné ci-dessous pour la commodité de l'utilisateur:

#comprendre

#comprendre

// L'adresse I2C HDC1000 est 0x40(64)

#define Adr 0x40

double cTemp = 0,0, fTemp = 0,0, humidité = 0,0;

int temp = 0, hum = 0;

void setup()

{

// Définir la variable

Particule.variable("i2cdevice", "HDC1000");

Particle.variable("humidité", humidité);

Particule.variable("cTemp", cTemp);

// Initialisation de la communication I2C

Fil.begin();

// Initialiser la communication série, définir le débit en bauds = 9600

Serial.begin(9600);

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Sélection du registre de configuration

Wire.write(0x02);

// Température, humidité activée, résolution = 14 bits, chauffage allumé

Wire.write(0x30);

// Arrêter la transmission I2C

Wire.endTransmission();

retard (300);

}

boucle vide()

{

données int non signées[2];

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Envoie la commande de mesure de température

Wire.write(0x00);

// Arrêter la transmission I2C

Wire.endTransmission();

retard (500);

// Demande 2 octets de données

Wire.requestFrom(Adr, 2);

// Lecture de 2 octets de données

// temp msb, temp lsb

si (Fil.disponible() == 2)

{

data[0] = Wire.read();

données[1] = Wire.read();

}

// Convertir les données

temp = ((données[0] * 256) + données[1]);

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

fTemp = cTemp * 1,8 + 32;

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Envoi de la commande de mesure d'humidité

Wire.write(0x01);

// Arrêter la transmission I2C

Wire.endTransmission();

retard (500);

// Demande 2 octets de données

Wire.requestFrom(Adr, 2);

// Lecture de 2 octets de données

// temp msb, temp lsb

si (Fil.disponible() == 2)

{

data[0] = Wire.read();

données[1] = Wire.read();

}

// Convertir les données

hum = ((données[0] * 256) + données[1]);

humidité = (hum / 65536,0) * 100,0;

// Sortie des données vers le tableau de bord

Particle.publish("Humidité relative: ", String(humidité));

retard(1000);

Particle.publish("Température en Celsius: ", String(cTemp));

retard(1000);

Particle.publish("Température en Fahrenheit: ", String(fTemp));

retard(1000);

}

La fonction Particle.variable() crée les variables pour stocker la sortie du capteur et la fonction Particle.publish() affiche la sortie sur le tableau de bord du site.

La sortie du capteur est montrée dans l'image ci-dessus pour votre référence.

Étape 4: Candidatures:

Applications
Applications

HDC1000 peut être utilisé dans le chauffage, la ventilation et la climatisation (CVC), les thermostats intelligents et les moniteurs de pièce. Ce capteur trouve également son application dans les imprimantes, les compteurs portables, les dispositifs médicaux, l'expédition de fret ainsi que le désembuage de pare-brise automobile.

Conseillé: