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

DHT Tiny Breakout pour Raspberry Pi

Composants matériels : Capteur de température Atmel ATTiny85×1DHT22×1DHT11 Capteur de température et d'humidité×1SparkFun Tiny AVR Programmer×1Adafruit 4,7K Ω Résistance×3Adafruit 10K Ω Résistance×1Adafruit 100 ΩRésistance×1Adafruit Diffused Blue 3mm LED×1Adafruit Tactile Breakaway Button-Switch-away×1Adafruit ″ En-tête mâle à bande 36 broches 1 pièce @ longueur 6, 1 pièce @ longueur 2 (total de 8 broches) × 1 cavalier générique (0,1 ) × 1 Arduino UNO et Genuino UNO En option - utilisé pour le débogage et les tests. × 1Applications logicielles et services en ligne : Microsoft Visual Studio 2015Microsoft Windows 10 IoT CoreArduino IDE

HISTOIRE

Introduction

Les DHT11 et DHT22 sont des capteurs de température et d'humidité populaires en raison de leur précision à un coût très bas. Un problème avec eux, cependant, est qu'ils fonctionnent sur un protocole propriétaire à un fil qui nécessite une synchronisation précise. Ces capteurs se sont avérés difficiles à lire sur les cartes avec des systèmes d'exploitation non temps réel.

Il y a quelque temps, j'ai posté un article intitulé "Capteur de température DHT11 /DHT22 " montrant comment utiliser l'exemple de code Microsoft C++ de C# pour lire ces capteurs. La bibliothèque a pu obtenir une lecture mais j'ai dû ajouter une logique de nouvelle tentative pour la rendre plus fiable. Cela s'est avéré être un succès pour la plupart, mais certaines personnes ont eu des problèmes pour que cela fonctionne de manière cohérente.

Compte tenu du niveau d'intérêt pour l'utilisation de ces capteurs sur le Raspberry Pi tout en exécutant Windows 10 IoT Core, j'ai décidé de créer une deuxième option qui fournit une méthode très fiable de lecture de ces capteurs tout en maintenant un faible coût.

Présentation

L'approche présentée ici consiste à attacher le capteur DHT à un ATtiny85 peu coûteux et à le configurer en tant que périphérique esclave I2C. Ceci est accompli en utilisant la bibliothèque TinyWireS et en créant un ensemble de registres qui peuvent être lus et écrits pour interagir avec l'appareil.

L'appareil prend en charge les fonctions suivantes :

Le code source

Il y a trois ensembles de code dans ce projet. Le micrologiciel principal de la carte, un croquis principal Arduino utilisé pour tester et démontrer la carte tout en étant connecté à un Arduino Uno et à l'application Windows 10 IoT Code qui montre comment utiliser l'appareil à partir du Raspberry Pi. Tout le code est disponible dans le référentiel GitHub lié.

L'appareil/le circuit

Le circuit est petit et n'utilise que quelques composants peu coûteux. L'ATtiny85 peut être acheté auprès de plusieurs fournisseurs. Je recommande d'en choisir quelques-uns car ils ont de nombreuses fonctions utiles.

Le circuit a un en-tête à six broches qui lui permet d'être connecté à un autre circuit ou directement au Raspberry Pi. Les broches sont définies comme suit :

Il existe également un en-tête à deux broches où un cavalier peut être ajouté pour activer ou retiré pour désactiver la LED intégrée.

Lorsque vous l'utilisez dans un projet plus vaste, le circuit du DHT Tiny peut être fusionné ou intégré au circuit existant du projet. Dans ce cas, les broches d'en-tête et la LED sont facultatives.

Le circuit peut également être construit sur une carte séparée et connecté à votre Raspberry Pi avec quelques fils ou un câble de connexion.

Programmation de l'ATtiny85

Chargez le croquis appelé DHT_Tiny_Breakout.ino sur l'ATtiny85 à l'aide de votre programmeur AVR. Si vous n'avez pas de programmeur, vous pouvez utiliser un Arduino Uno (ou une carte similaire). Consultez un ou plusieurs des articles répertoriés ci-dessous pour obtenir de l'aide.

J'utilise le programmeur SparkFun Tiny AVR pour charger mon ATtiny85.

Je fais tourner ma puce à 16 MHz. Voir mon article intitulé "ATtiny @ 16MHz " pour obtenir des instructions sur la façon de procéder.

Lors de l'utilisation de l'ATtiny85, le croquis esclave nécessite le TinyWireS bibliothèque à installer dans votre dossier bibliothèques. Cette bibliothèque peut être téléchargée sur https://github.com/rambo/TinyWire.

Breadboard le circuit

La première étape consiste à faire fonctionner le DHT Tiny sur une planche à pain. À l'aide d'une planche à pain demi-taille, construisez le circuit en suivant les schémas et les schémas de la planche à pain inclus dans le projet.

Voici quelques conseils pour vous faciliter la tâche :

Vous trouverez ci-dessous quelques images de la version maquette de mon DHT Tiny.

Connexion de l'Arduino Uno

Si vous êtes intéressé par un test rapide, une démonstration ou si vous rencontrez des difficultés pour que cela fonctionne avec votre Raspberry Pi, vous pouvez connecter le DHT Tiny à un Arduino Uno (ou appareil similaire).

Chargez et exécutez l'esquisse nommée DHT_Tiny_Master.ino . Ce croquis affichera la sortie dans le Moniteur série .

Lors de la connexion de l'I2C entre les deux cartes, il est important d'avoir des résistances de rappel sur les lignes SDA et SCL. Dans ce circuit, il y a deux 4.7K Ω connectés entre les broches et 5V.

Vous trouverez ci-dessous quelques images de la maquette DHT Tiny connectée à l'Arduino Uno.

Connexion au Raspberry Pi

Si vous êtes intéressé par un test rapide, une démonstration ou si vous rencontrez des difficultés pour que cela fonctionne avec votre Raspberry Pi, vous pouvez connecter le DHT Tiny à un Arduino Uno (ou appareil similaire).

Lors de la connexion de l'I2C entre les deux cartes, il est important d'avoir des résistances de rappel sur les lignes SDA et SCL. Dans ce circuit, il y a deux 4.7K Ω connectés entre les broches et 3V3.

TRÈS IMPORTANT ! La carte DHT Tiny sera alimentée par la broche 5V du Raspberry Pi, mais les résistances de rappel doivent être connectées à la broche 3V3 du Raspberry Pi (3V3 est sur les broches 1 et 17).

Vous trouverez ci-dessous quelques images de la maquette DHT Tiny connectée au Raspberry Pi 3.

Exécution de l'application Windows 10

Obtenez le code à partir du lien du référentiel GitHub au bas du projet et décompressez-le sur votre ordinateur. Ouvrez le code source de l'application universelle dans Visual Studio 2015 et déployez-le sur le Raspberry Pi et lancez-le à partir de la console d'administration ou exécutez-le en mode débogage à partir de Visual Studio.

Si c'est la première fois que vous exécutez du code depuis Visual Studio pour une application Windows 10 IoT Core, consultez ces articles de Microsoft :

Jetez un œil à la démonstration vidéo ci-dessous pour voir l'application s'exécuter sur un Raspberry Pi 3 tout en étant connecté au DHT Tiny.

Points forts de l'application

L'application Windows 10 UWP est une application de démonstration qui présente toutes les fonctionnalités du DHT Tiny. Le code affichera la température actuelle, l'humidité et d'autres valeurs de registres de l'appareil. L'interface utilisateur fournit également un moyen de modifier la configuration de l'appareil, y compris l'adresse de l'appareil.

Petite bibliothèque DHT

L'exemple de code utilise une bibliothèque écrite pour interagir avec le DHT Tiny. Cette bibliothèque est prête à l'emploi et peut être intégrée directement dans toutes vos applications.

Obtenir la bibliothèque de NuGet

Si vous ne souhaitez pas inclure le projet directement dans votre application, téléchargez simplement la bibliothèque DHT Tiny depuis NuGet à l'aide de la commande ci-dessous. Ouvrez la console du gestionnaire de packages dans Visual Studio et tapez la commande.

PM> Install-Package IoT.DhtTiny 

Analyse du bus i2c pour l'appareil

La bibliothèque DHT Tiny comprend une méthode qui recherchera dans le bus i2c tous les appareils DHT Tiny et renverra une liste d'adresses. Cette liste peut être utilisée pour initialiser un ou plusieurs des appareils trouvés. Cela est particulièrement utile si vous avez modifié l'adresse de l'appareil mais que vous ne vous souvenez pas de l'adresse que vous avez définie. Notez que la méthode de rappel est facultative.

// ***// *** Énumérer les périphériques DHT Tiny sur le bus i2c.// ***IEnumerable address =wait DhtTiny.FindAllDhtTinyAsync(this. FindAllDhtTinyCallback); // ***// *** Méthode de rappel // *** Private void FindAllDhtTinyCallback(I2cScanEventArgs e) { int percentComplete =(int)((double)e.CurrentIndex / (double)e.Total * 100.0d); this.Status =string.Format("Localing devices [0x{0:X2}] [{1}%] [Found ={2:##0}]...", e.CurrentAddress, percentComplete, e.Items .Count());}  

Schémas de DHT Tiny Breakout pour Raspberry Pi

Démonstration du logiciel

Cette vidéo montre à la fois l'application universelle s'exécutant sur un Raspberry Pi 3 connecté au DHT Tiny sur une maquette.

[VIDÉO À VENIR]

Création de l'appareil final

Le moyen le plus simple et le plus économique de créer la carte est d'utiliser une carte prototype de PCB telle que la carte PCB Perma-Proto Quarter-size Breadboard PCB d'Adafruit. L'image ci-dessous montre la cassure à l'aide de ce prototype de carte. Remarque J'ai utilisé un dremel pour retirer les sections de rail d'alimentation de la carte.

Voir plus : DHT Tiny Breakout pour le Raspberry Pi


Processus de fabrication

  1. Surveillance de la température sur le Raspberry Pi
  2. Station météo Raspberry Pi 2
  3. Capteurs analogiques sans entrées analogiques sur le Raspberry Pi
  4. Capteur de portée à ultrasons HC-SR04 sur le Raspberry Pi
  5. Les meilleurs accessoires pour votre Raspberry Pi
  6. Capteurs analogiques sur le Raspberry Pi utilisant un MCP3008
  7. SIGHT :For the Blind
  8. Guide de connexion Qwiic HAT pour Raspberry Pi
  9. Windows 10 IoT Core pour Raspberry Pi 3 modèle B+