Arduino Nano - Système de refroidissement avec capteur de température DS18B20

Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler la température à l'aide d'un ventilateur et d'un capteur de température DS18B20.

Si vous souhaitez utiliser un DHT11 ou DHT22 au lieu du capteur DS18B20, veuillez consulter Arduino Nano - Système de refroidissement utilisant le capteur DHT.

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×Relay
1×12V DC Cooling Fan
1×(Alternative) 5V DC Cooling Fan
1×12V Power Adapter
1×DC Power Jack
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 ventilateur de refroidissement et du capteur de température DS18B20

Le ventilateur dans ce tutoriel nécessite une alimentation de 12v. Si l'alimentation est fournie, le ventilateur s'activera et si ce n'est pas le cas, le ventilateur sera éteint. Pour contrôler le ventilateur avec un Arduino Nano, nous devons utiliser un relais comme intermédiaire.

Si vous ne connaissez pas les capteurs de température et les ventilateurs (y compris les brochages, leur fonctionnement et comment les programmer), les tutoriels suivants peuvent vous fournir plus d'informations :

Diagramme de câblage

  • Schéma de câblage utilisant une planche à pain.
Schéma de câblage du système de ventilateur de refroidissement Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage utilisant un adaptateur de borne (recommandé).
Schéma de câblage du relais de contrôle Arduino Nano

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 la nécessité d'une résistance supplémentaire dans le câblage.

Fonctionnement du système

  • L'Arduino Nano prendra une mesure à partir du capteur de température.
  • Si la mesure est supérieure au seuil supérieur, le ventilateur sera activé par l'Arduino Nano.
  • Si la mesure est inférieure au seuil inférieur, l'Arduino Nano éteindra le ventilateur.

Cette boucle est répétée sans fin.

Code Arduino Nano pour système de refroidissement avec capteur DS18B20

/* * 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-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> const int THRESHOLD_ON = 25; // upper threshold of temperature, change to your desire value const int THRESHOLD_OFF = 20; // lower threshold of temperature, change to your desire value const int SENSOR_PIN = 2; // The Arduino Nano pin connected to DS18B20 sensor's DQ pin const int FAN_PIN = A5; // The Arduino Nano pin connected to relay which connected to fan OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the sensor pinMode(FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius if(temperature > THRESHOLD_ON){ Serial.println("The fan is turned on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if(temperature < THRESHOLD_OFF){ Serial.println("The fan is turned off"); digitalWrite(FAN_PIN, LOW); // turn on } delay(500); }

Dans le code ci-dessus, lorsque la température dépasse 25°C, l'Arduino Nano activera le ventilateur. Le ventilateur restera activé jusqu'à ce que la température descende en dessous de 20°C.

Étapes rapides

  • Connectez l'Arduino Nano à un ordinateur à l'aide d'un câble USB
  • Lancez l'IDE Arduino, choisissez la carte et le port corrects
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'IDE Arduino.
  • Recherchez "Dallas" et localisez la bibliothèque DallasTemperature créée par Miles Burton.
  • Ensuite, appuyez sur le bouton Install pour l'ajouter à votre projet.
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 compiler et téléverser le code sur l'Arduino Nano.
  • Modifiez la température de l'environnement du capteur en le rendant plus chaud ou plus froid.
  • Vérifiez l'état du ventilateur sur le moniteur série.

Connaissances avancées

Cette technique de contrôle est appelée un régulateur tout ou rien, également connu sous le nom de signaleur ou régulateur « bang-bang ». Il est assez facile de mettre en œuvre cette méthode.

Une alternative à la méthode traditionnelle de régulation de température est le régulateur PID. Cette approche permet d'obtenir une température souhaitée plus stable, cependant, elle est complexe et difficile à comprendre et à utiliser. Par conséquent, le régulateur PID n'est pas largement utilisé pour la régulation de température.

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!