Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Kit Capteur Température/Humidité DHT11 & DHT22 pour Raspberry Pi & Arduino

Composants et Fournitures

ComposantQuantitéRemarques
Capteur DHT11 Température & Humidité (4 broches)1Mesure 20‑90 % HR, 0‑50 °C
Raspberry Pi 2 Modèle B1Plateforme test principale
Arduino UNO1Plateforme de comparaison
Fils Mâle-Mâle (Jumpers)3Connexions breadboard
Breadboard (standard)1Montage circuit
Résistance 4,7 kΩ1Pull-up bus OneWire
Kit Cobbler Breakout (RPi)1Interface GPIO vers breadboard

Applications et Services

À Propos du Projet

Introduction

Le DHT11 est un capteur 4 broches (une inutilisée) mesurant humidité relative 20‑90 % et température 0‑50 °C. Alimentation 3‑5,5 V DC. Communication via protocole OneWire propriétaire nécessitant temporisation très précise : bits codés par durée d'état HAUT. Lecture complète ≤ 23,4 ms (dont 18 ms délai démarrage + 5,4 ms fenêtre données). Signaux individuels 20‑80 µs.

Contexte : Défi Windows 10 IoT Core

À la sortie de Windows 10 IoT Core, j'ai testé le DHT11 en C# sur Raspberry Pi 2. Échec : C# pas assez rapide pour le timing serré du OneWire. Échanges sur forum Microsoft → réponse indiquant support OneWire futur en C++. Microsoft a publié un exemple C++ utilisant DHT11 comme capteur d'exemple.

Ce projet transforme cet exemple C++ en bibliothèque utilisable en C# pour Windows 10 IoT Core.

Bibliothèque C# (Sensors.Dht)

Refactoring simple du code Microsoft original. Classe principale : Dht11 dans namespace Sensors.Dht.

Utilisation

using Sensors.Dht;
// Ouvrir broche GPIO (ex: GPIO 4)
GpioPin pin = GpioController.GetDefault().OpenPin(4, GpioSharingMode.Exclusive);

// Instancier capteur
Dht11 dht11 = new Dht11(pin, GpioPinDriveMode.Input); // Input = pull-up externe requis

// Lecture asynchrone
DhtReading reading = await dht11.GetReadingAsync().AsTask();
// Surcharge avec max retries (défaut 20)

Structure DhtReading

public value struct DhtReading {
    bool TimedOut;      // Échec après max retries
    bool IsValid;       // Checksum OK
    double Temperature; // °C
    double Humidity;    // % HR
    int RetryCount;     // Tentatives effectuées
};

Observations & Comparaisons Multi-Plateformes

Même en C++, le capteur ne répond pas à chaque fois → nécessité mécanisme retry (inclus dans exemple Microsoft). Comparaison performances sur trois plateformes :

Codes sources pour chaque plateforme inclus dans le dépôt GitHub. Vidéo démonstrative compare les résultats.

Mise en Route – Câblage

Raspberry Pi 2 (avec Cobbler)

  1. Placer Cobbler en bout de breadboard (broches gauche E1/F1, droite E20/F20).
  2. Résistance 4,7 kΩ entre A4 et 3V3 (pull-up).
  3. Fil orange (signal) entre B4 et F28.
  4. Fil rouge (VCC) entre F29 et 3V3.
  5. Fil noir (GND) entre F30 et GND.
  6. Insérer DHT11 : broche – dans J30, + dans J29, signal dans J28.
  7. Connecter nappe Cobbler ↔ Raspberry Pi.

Arduino Uno

  1. Résistance 4,7 kΩ entre E12 et E13.
  2. Fil blanc (signal) entre D13 et Pin 5 Arduino.
  3. Fil rouge (VCC) entre D12 et 5V Arduino.
  4. Fil noir (GND) entre D11 et GND Arduino.
  5. Insérer DHT11 : – dans A11, + dans A12, signal dans A13.
  6. Brancher USB Arduino ↔ PC.
Kit Capteur Température/Humidité DHT11 & DHT22 pour Raspberry Pi & Arduino
Kit Capteur Température/Humidité DHT11 & DHT22 pour Raspberry Pi & Arduino
Kit Capteur Température/Humidité DHT11 & DHT22 pour Raspberry Pi & Arduino

Lancement Applications

Raspberry Pi (Windows 10 IoT Core / Visual Studio)

  1. Configuration : Debug, ARM, Remote Machine.
  2. Propriétés projet → Debug → Remote Machine = IP du RPi, décocher « Use authentication ».
  3. F5 → déploiement (quelques minutes la 1re fois).

Arduino (IDE Arduino)

  1. Ouvrir sketch Dht11_Speed (GitHub).
  2. Téléverser (Ctrl+U).
  3. Ouvrir Moniteur Série (Ctrl+Shift+M).

Raspberry Pi (Raspbian / C)

  1. Copier Dht11_Speed.c sur RPi (ex: WinSCP).
  2. Installer wiringPi : sudo apt-get install wiringpi (ou compilation depuis source).
  3. Compiler : gcc -o Dht11_Speed Dht11_Speed.c -L/usr/local/lib -lwiringPi -std=c99 -lm
  4. Exécuter : sudo ./Dht11_Speed 1000 10 (délai 1000 ms, 10 échantillons).

Vidéo Démonstration

Voir vidéo YouTube en mode Cinéma pour meilleure qualité.

Code Source

https://github.com/porrey/dht.git (Visual Studio 2015 C#/C++)

Schémas

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Capteur de température infrarouge TMP006 avec Raspberry Pi : bibliothèque Python et guide de configuration
  3. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  4. Comment connecter un capteur de température DS1820 One‑Wire à un Raspberry Pi via GPIO
  5. Comment connecter un thermomètre numérique DS18B20 One-Wire à un Raspberry Pi – Guide étape par étape
  6. Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
  7. Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
  8. Connecter un Raspberry Pi 3 au capteur DHT11 et envoyer les données vers le cloud ThingsIo.ai
  9. Capteur température palier de précision : détection et surveillance précises