Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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
- Ouvrez Arduino IDE (j'utilise 1.8.1)
- Cliquez sur "Esquisse" -> "Inclure la bibliothèque" -> "Gérer les bibliothèques…"
- Sélectionnez la barre de recherche et tapez " dallas"
- 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
À 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"
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
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é
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;
}