DS18B20 Capteur de Température avec Sonde

Disponibilité:

347 en stock

Comparer
UGS : 0129 Catégories : ,

Description

Capteur de Température DS18B20 avec Sonde

Le capteur de température DS18B20 avec sonde est un capteur numérique qui utilise un bus 1-Wire pour communiquer avec un microcontrôleur, tel qu’un Arduino. Il est capable de mesurer des températures de -55°C à +125°C avec une précision de ±0.5°C dans la plage de -10°C à +85°C.

Caractéristiques détaillées

  • Plage de tension: 3.0V à 5.5V
  • Plage de température: -55°C à +125°C
  • Précision: ±0.5°C (entre -10°C et +85°C)
  • Résolution: Programmable de 9 à 12 bits
  • Interface: Bus 1-Wire
  • Adresse unique: Chaque capteur possède une adresse 64 bits unique, permettant l’utilisation de plusieurs capteurs sur le même bus
  • Dimensions sonde: Ø6 x 35 mm
  • Longueur cordon: 1M

Fonctionnement

Le DS18B20 utilise un bus 1-Wire qui nécessite seulement une ligne de données (et la masse) pour la communication avec un microcontrôleur. Le capteur peut être alimenté directement par la ligne de données (“alimentation parasite”), éliminant ainsi le besoin d’une alimentation externe.

Brochage

  • Pin 1 (GND): Connecté à la masse (GND)
  • Pin 2 (DQ): Connecté à une broche numérique de l’Arduino (avec une résistance de pull-up de 4.7kΩ à VCC)
  • Pin 3 (VDD): Connecté à l’alimentation 3.3V ou 5V (peut être laissé non connecté si l’alimentation parasite est utilisée)

Applications

  • HVAC: Contrôles environnementaux
  • Monitoring de température: Dans les bâtiments, équipements, et machines
  • Systèmes de contrôle de processus: Pour le suivi et la régulation des températures

Utilisation avec Arduino Uno

Composants nécessaires

  • 1 x Capteur DS18B20
  • 1 x Arduino Uno
  • 1 x Résistance de 4.7kΩ
  • Fils de connexion
  • Breadboard

Exemple de code basique

#include <OneWire.h>
#include <DallasTemperature.h>


// Définir la broche de données
#define ONE_WIRE_BUS 2


// Créer une instance de la bibliothèque OneWire
OneWire oneWire(ONE_WIRE_BUS);


// Passer la référence OneWire à la bibliothèque DallasTemperature
DallasTemperature sensors(&oneWire);


void setup() {
  Serial.begin(9600);
  sensors.begin();
}


void loop() {
  sensors.requestTemperatures(); // Envoyer la commande pour obtenir les températures
  float temperatureC = sensors.getTempCByIndex(0); // Lire la température en Celsius
  Serial.print("Température: ");
  Serial.print(temperatureC);
  Serial.println(" °C");
  delay(1000); // Attendre 1 seconde
}

Explication détaillée du code

  1. Inclusion des bibliothèques: Le code commence par inclure les bibliothèques nécessaires OneWire et DallasTemperature, qui simplifient la communication avec le capteur DS18B20.
  2. Définition de la broche de données: La broche 2 de l’Arduino est définie comme la broche de données du capteur.
  3. Initialisation des bibliothèques: Une instance de la classe OneWire est créée pour gérer la communication 1-Wire, puis une instance de DallasTemperature est créée en passant l’instance OneWire.
  4. Fonction setup(): La communication série est initialisée pour permettre l’affichage des données dans le moniteur série, et la bibliothèque DallasTemperature est démarrée avec la méthode begin().
  5. Fonction loop(): La fonction principale du programme:
    • Envoie une commande pour lire la température avec requestTemperatures().
    • Lit la température du capteur avec getTempCByIndex(0) et l’affiche dans le moniteur série.
    • Attend une seconde avant de répéter le cycle.

Composants nécessaires (code avancé)

  • 1 x Capteur DS18B20 avec sonde
  • 1 x Arduino Uno
  • 1 x Écran LCD I2C 1602
  • 1 x Résistance 4.7kΩ
  • Fils de connexion
  • Breadboard

Exemple de code pour afficher la température sur un écran LCD I2C 1602

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>


#define ONE_WIRE_BUS 2 // Pin connectée au capteur DS18B20


OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C de l'écran LCD


void setup() {
  lcd.begin();
  lcd.backlight();
  sensors.begin();
}


void loop() {
  sensors.requestTemperatures();
  float temperatureC = sensors.getTempCByIndex(0);
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temperatureC);
  lcd.print(" C");
  delay(1000);
}

Explication détaillée du code

  1. Bibliothèques: Les bibliothèques OneWire, DallasTemperature, Wire et LiquidCrystal_I2C sont incluses pour la communication avec le capteur et l’écran LCD.
  2. Déclaration des pins et objets: La broche pour le bus OneWire est définie, et les objets oneWire, sensors et lcd sont initialisés.
  3. Initialisation: Dans setup(), la communication avec le capteur et l’écran LCD est commencée.
  4. Lecture et affichage de la température:
    • Code de base: La température est lue avec sensors.requestTemperatures() et sensors.getTempCByIndex(0), puis affichée sur le moniteur série.
    • Code avancé: La température est lue de la même manière, mais affichée sur l’écran LCD à l’aide de lcd.setCursor() et lcd.print().

Brochage

  • VCC (rouge): Connecté à la broche 5V de l’Arduino
  • GND (noir): Connecté à la broche GND de l’Arduino
  • DQ (jaune): Connecté à la broche numérique 2 de l’Arduino avec une résistance de pull-up de 4.7kΩ entre DQ et VCC
  • SDA (LCD): Connecté à la broche A4 de l’Arduino
  • SCL (LCD): Connecté à la broche A5 de l’Arduino

Installation de Drivers/bibliothèques

  1. Bibliothèque OneWire:
    • Ouvrez l’IDE Arduino.
    • Allez dans le menu Sketch > Include Library > Manage Libraries.
    • Recherchez “OneWire” et installez la bibliothèque.
  2. Bibliothèque DallasTemperature:
    • Suivez les mêmes étapes que ci-dessus, en recherchant “DallasTemperature”.
  3. Bibliothèque LiquidCrystal_I2C:
    • Suivez les mêmes étapes, en recherchant “LiquidCrystal_I2C”.

Mots clés: temperature, sensor, probe, capteur de température, sonde DS18B20, mesure de température, capteur étanche, temperature sensor, DS18B20 probe, Arduino temperature sensor, waterproof sensor.