Arduino Nano - Capteur de température

Ce tutoriel vous explique comment utiliser l'Arduino Nano et le capteur de température étanche DS18B20 à 1 fil pour mesurer la température. Ce capteur est économique, simple à utiliser et présente une apparence soignée par rapport à d'autres alternatives.

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×4.7 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

À propos du capteur de température 1-Wire DS18B20

Brochage du capteur de température

Le capteur de température DS18B20 possède trois broches qui doivent être connectées :

  • Broche GND : doit être reliée à GND (0V)
  • Broche VCC : doit être reliée à VCC (5V ou 3.3V)
  • Broche DATA : correspond au bus de données 1-wire et doit être connectée à une broche numérique sur Arduino Nano.

Le capteur se présente généralement en deux variantes : le boîtier TO-92 (qui ressemble à un transistor) et une sonde étanche. Nous utiliserons la sonde étanche dans ce tutoriel.

Brochage du capteur de température DS18B20

Connecter le capteur de température DS18B20 avec Arduino nécessite une résistance de tirage, ce qui le rend un peu compliqué. Cependant, certains fabricants facilitent la tâche en proposant un adaptateur de câblage équipé d'une résistance de tirage intégrée et d'un bloc de connexion à vis, réduisant les complications et rendant l'ensemble plus pratique.

Diagramme de câblage

  • Schéma de câblage utilisant une planche à pain.
Schéma de câblage du capteur de température Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage utilisant l'adaptateur de câblage (recommandé).
Schéma de câblage Arduino Nano DS18B20

This image is created using Fritzing. Click to enlarge image

Nous recommandons l'achat d'un capteur DS18B20 avec son adaptateur de câblage associé pour une installation sans souci. Cet adaptateur comprend une résistance intégrée, éliminant le besoin d'une résistance supplémentaire dans le câblage. Nous l'avons également testé et il fonctionne bien.

Comment programmer le capteur de température DS18B20

  • Inclure la bibliothèque suivante :
#include <OneWire.h> #include <DallasTemperature.h>
  • Déclarez un objet pour OneWire, correspondant à la broche connectée à la broche DATA du capteur. Déclarez également un objet pour DallasTemperature.
OneWire oneWire(SENSOR_PIN); // configurer une instance OneWire DallasTemperature DS18B20(&oneWire); // passer oneWire à la bibliothèque DallasTemperature
  • Initialisez le capteur.
DS18B20.begin(); // initialiser le capteur
  • Émettez la commande pour obtenir les températures.
DS18B20.requestTemperatures();
  • Vérifiez la température en Celsius.
temperature_C = DS18B20.getTempCByIndex(0);
  • Calculez le Fahrenheit à partir du Celsius :
temperature_F = temperature_C * 9 / 5 + 32;

Code Arduino Nano

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 2 // The Arduino Nano pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in Celsius Serial.print("°C"); Serial.print(" ~ "); // separator between Celsius and Fahrenheit Serial.print(temperature_F); // print the temperature in Fahrenheit Serial.println("°F"); delay(500); }

Étapes rapides

  • Branchez un câble USB entre l'Arduino Nano et le PC.
  • Ouvrez l'IDE Arduino et sélectionnez la carte et le port appropriés.
  • Cliquez sur l'icône Libraries dans la barre gauche de l’IDE Arduino.
  • Recherchez "Dallas", puis trouvez la bibliothèque DallasTemperature créée par Miles Burton.
  • Appuyez sur le bouton Install pour installer la bibliothèque DallasTemperature.
Bibliothèque de température Dallas pour Arduino Nano
  • Vous serez invité à installer la dépendance. Cliquez sur le bouton Install All pour installer la bibliothèque OneWire.
Bibliothèque onewire Arduino Nano
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino Nano.
  • Placez le capteur dans de l'eau chaude et froide, ou tenez-le dans votre main.
  • Consultez le résultat sur le moniteur série.
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!