Table des matières:

Obtenir le numéro de série d'un DS18B20 avec un Arduino : 5 étapes
Obtenir le numéro de série d'un DS18B20 avec un Arduino : 5 étapes

Vidéo: Obtenir le numéro de série d'un DS18B20 avec un Arduino : 5 étapes

Vidéo: Obtenir le numéro de série d'un DS18B20 avec un Arduino : 5 étapes
Vidéo: FLProg10: датчик температуры DS18B20 | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, Novembre
Anonim
Obtenez le numéro de série d'un DS18B20 avec un Arduino
Obtenez le numéro de série d'un DS18B20 avec un Arduino

Ceci est un guide rapide sur la façon d'obtenir les numéros de série individuels de vos capteurs de température à 1 fil DS18B20.

C'est pratique pour les projets qui nécessitent plusieurs capteurs.

Choses dont tu as besoin:

  • Arduino 5v (UNO, Mega, Pro Mini etc) - Arduino UNO R3 - AliExpress - eBay
  • Capteur de température DS18B20 - AliExpress - eBay
  • Résistance 4.7k - 1/4w THT - AliExpress - eBay
  • Planche à pain - AliExpress - eBay
  • Fils de raccordement - Mâle à mâle - AliExpress - eBay
  • Un ordinateur avec Arduino IDE installé

Étape 1: ajouter la bibliothèque requise à l'IDE Arduino

Ajouter la bibliothèque requise à Arduino IDE
Ajouter la bibliothèque requise à Arduino IDE
  1. Ouvrez Arduino IDE (j'utilise 1.8.1)
  2. Cliquez sur "Esquisse" -> "Inclure la bibliothèque" -> "Gérer les bibliothèques…"
  3. Sélectionnez la barre de recherche et tapez " dallas"
  4. Cliquez sur "DallasTemperature" et cliquez sur "Installer"

Vous pouvez également télécharger la bibliothèque à partir d'ici:

Cette bibliothèque comprend la bibliothèque OnWire.

Étape 2: câbler le DS18B20

Câblez le DS18B20
Câblez le DS18B20
Câblez le DS18B20
Câblez le DS18B20

À l'aide d'une planche à pain, connectez + 5 V, GND et la broche numérique 2 (la broche 2 est déjà définie dans l'exemple de croquis) de l'Arduino à l'aide de cavaliers de planche à pain mâle à mâle.

Connectez le DS18B20 parallèlement aux 3 borniers de la planche à pain.

  • Broche 1 (GND) -> GND (Terre 0V)
  • Broche 2 (DONNÉES) -> Broche numérique 2
  • Broche 3 (Vdd) -> +5V

Pour le mode d'alimentation normal, connectez une résistance de 4,7 K de + 5 V au fil de la broche numérique 2 sur la planche à pain.

Le lien suivant est une excellente ressource pour le capteur de température à 1 fil DS18B20.

www.tweaking4all.com/hardware/arduino/ardu…

Étape 3: Chargez l'exemple d'esquisse "Single"

Charger l'exemple d'esquisse
Charger l'exemple d'esquisse
Charger l'exemple d'esquisse
Charger l'exemple d'esquisse

Une fois que vous l'avez câblé, vous êtes prêt à charger le Dallas Temperature "Single" SketchOpen Arduino IDE (j'utilise 1.8.1)Cliquez sur "Fichier" -> "Exemples" -> "Dallas Température" -> "Simple" J'ai ajouté en retard (5000); sur la ligne 103 pour me donner le temps de copier le numéro de sérieSélectionnez votre formulaire de carte approprié "Outils" -> "Carte" Sélectionnez votre port approprié "Outils" -> "Port"Maintenant "Télécharger" le Sketch "Sketch" -> "Télécharger" Cliquez sur "Outils" -> "Serial Monitor" assurez-vous que le débit en bauds correspond au mien est de 9600 Si vous n'avez pas téléchargé de croquis, vérifiez votre carte, votre port, vos pilotes USB, etc.

Étape 4: copiez le numéro de série

Copiez le numéro de série
Copiez le numéro de série
Copiez le numéro de série
Copiez le numéro de série

Dans le "Serial Monitor", vous verrez que la 4ème ligne est "Device 0 Address: xxxxxxxxxxxxxxxx"

Ceci est le numéro de série du DS18B20

S'il s'agit de "0000000000000000", il y a un problème de lecture de votre DS18B20.

Mettez-le en surbrillance avec votre souris et appuyez sur CTRL + C sur votre clavier, puis collez-le dans le Bloc-notes

Pour mes autres projets, mon code utilise un tableau de ces nombres. J'ai reformaté la chaîne HEX au format suivant.

DeviceAddress tempSensorSerial[9]= {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x7004, 0x17,, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x66, 0x62,, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, {0x2899, 0xFF, 0x42, 0x71, 0x17, 0x04, 0x4C} };

Étape 5: Terminé

Fini
Fini

Vous pouvez maintenant identifier chaque capteur de température à 1 fil DS18B20 dans votre code et utiliser une fonction comme celle-ci:

float getTemperature(octet j){

capteurs.requestTemperaturesByAddress(tempSensorSerial[j]);

float tempC = capteurs.getTempC(tempSensorSerial[j]);

retour tempC;

}

Conseillé: