Afficher la température d’un DS18B20 dans le moniteur série Arduino
Description :
Projet permettant de lire la température avec un capteur DS18B20 et de l’afficher en temps réel dans le moniteur série de l’Arduino, offrant une solution simple pour la surveillance thermique.
Prérequis :
- 1 x Carte Arduino Uno
- 1 x DS18B20
- 1 x résistance 4.7KΩ
- 1 x Breadboard
- Fils de connexion
Version IDE :
- Arduino IDE 2.3.5
Bibliothèque :
- OneWire.h (version: 2.3.8 )
- DallasTemperature.h (version: 4.0.3)
Vidéo de démonstration :
Schéma de câblage :


Code :
// Inclure les bibliothèques dont nous avons besoin
#include <OneWire.h>
#include <DallasTemperature.h>
// Le câble de données est branché sur le port 7 de l'Arduino
#define ONE_WIRE_BUS 7
// Configurer une instance oneWire pour communiquer avec tous les appareils OneWire
OneWire oneWire(ONE_WIRE_BUS);
// Transmettez notre référence oneWire à Dallas Temperature.
DallasTemperature sensors(&oneWire);
/*
* Fonction de configuration. Nous démarrons uniquement les capteurs ici.
*/
void setup(void)
{
// démarrer le port série
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// Démarrer la bibliothèque
sensors.begin();
}
/*
*Fonction principale, obtenir et afficher la température
*/
void loop(void)
{
// appelez sensors.requestTemperatures() pour émettre une demande de
// température globale à tous les périphériques du bus
Serial.print("Demander des températures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("Fait");
delay(1500);
// Après avoir obtenu les températures, nous pouvons les imprimer ici.
// Nous utilisons la fonction ByIndex et, à titre d'exemple, nous obtenons la température du premier capteur uniquement.
float tempC = sensors.getTempCByIndex(0);
// Vérifiez si la lecture a réussi
if (tempC != DEVICE_DISCONNECTED_C)
{
Serial.print("Température pour l appareil 1 (index 0) est: ");
Serial.println(tempC);
Serial.println("");
}
else
{
Serial.println("Erreur : impossible de lire les données de température");
Serial.println("");
}
}
