Arduino - Contrôle de la température

Dans ce tutoriel, nous allons réguler la température de la pièce à une plage confortable en utilisant un Arduino, un capteur de température DS18B20, un ventilateur et un élément chauffant. Lorsque la température est trop élevée, allumez le ventilateur de refroidissement pour aérer. Lorsque la température est froide, éteignez le ventilateur de refroidissement et allumez l'élément chauffant.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×Relay
1×12V DC Cooling Fan
1×(Alternative) 5V DC Cooling Fan
1×12V Heating Element
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 système de contrôle de la température ambiante

En bref, Arduino allumera le ventilateur lorsque la pièce sera chaude et activera l'élément chauffant lorsque la pièce sera froide. Voici le détail du fonctionnement d'un système de contrôle de la température d'une pièce en prenant l'exemple du contrôle de la température de la pièce de 18°C à 26°C :

  • Arduino lit la température à partir du capteur de température
  • Si la température dépasse 26°C, Arduino active le ventilateur et éteint l'élément chauffant
  • Si la température tombe en dessous de 18°C, Arduino éteint le ventilateur et active l'élément chauffant

Le processus ci-dessus est répété indéfiniment dans la boucle.

Le ventilateur fonctionne comme un ventilateur.

Si vous ne connaissez pas les capteurs de température, les éléments chauffants et les ventilateurs (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage de contrôle de température Arduino

This image is created using Fritzing. Click to enlarge image

Veuillez noter que, pour simplifier, le schéma ci-dessus montre deux adaptateurs de courant continu 12V, mais en pratique, vous pouvez utiliser un seul adaptateur de courant continu 12V pour à la fois le ventilateur et l'élément chauffant.

Code Arduino

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-control-temperature */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 26; // °C, upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 18; // °C, lower threshold of temperature, change to your desire value const int SENSOR_PIN = 2; // Arduino pin connected to DS18B20 sensor's DQ pin const int RELAY_FAN_PIN = A5; // Arduino pin connected to relay which connected to fan const int RELAY_HEAT_PIN = A4; // Arduino pin connected to relay which connected to the heating element OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial sensors.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { sensors.requestTemperatures(); // send the command to get temperatures temperature = sensors.getTempCByIndex(0); // read temperature in Celsius if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("HOT! The fan is turned on and the heating element is turned off"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on the fan digitalWrite(RELAY_HEAT_PIN, LOW); // turn off the heating element } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("COLD! The fan is turned off and the heating element is turned on"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off the fan digitalWrite(RELAY_HEAT_PIN, HIGH); // turn on the heating element } delay(500); }

Dans le code ci-dessus, l'Arduino active le ventilateur lorsque la température dépasse 25°C, et maintient le ventilateur allumé jusqu'à ce que la température descende en dessous de 20°C.

Étapes rapides

  • Connectez Arduino au PC via le câble USB
  • Ouvrez Arduino IDE, sélectionnez la bonne carte et le bon port
  • Naviguez vers l'icône Libraries sur la barre gauche de l’Arduino IDE.
  • Recherchez "DallasTemperature", puis trouvez la bibliothèque DallasTemperature de Miles Burton.
  • Cliquez sur le bouton Install pour installer la bibliothèque DallasTemperature.
Bibliothèque de température Dallas Arduino
  • On vous demandera d'installer la dépendance de la bibliothèque
  • Cliquez sur le bouton Install All pour installer la bibliothèque OneWire.
Bibliothèque onewire Arduino
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code vers Arduino
  • Rendez l'environnement autour du capteur plus chaud ou plus froid
  • Observez l'état du ventilateur et de l'élément chauffant

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!