Arduino UNO R4 - Module Thermocouple MAX6675

Si vous voulez mesurer la température avec un Arduino UNO R4, il existe de nombreux capteurs parmi lesquels choisir. Parmi les options populaires figurent la série DHTxx, le DS18B20, le LM35 et le TMP36, entre autres, chacun offrant des caractéristiques et des capacités uniques pour répondre aux besoins spécifiques de votre projet.

Mais que faire si vous voulez mesurer la température de quelque chose d'aussi chaud qu'un volcan (qui peut dépasser largement 1000°C ou 1800°F) ou de quelque chose de très froid comme l'azote liquide (qui peut être aux alentours de −195,8°C ou −320°F) ? Dans de tels cas, un capteur de température normal fondra ou gèlera complètement.

Alors, comment mesurer des choses extrêmement chaudes ou froides ? Avec une astucieuse paire de câbles électriques appelée thermocouple. Un thermocouple est un type de capteur de température qui utilise l'effet thermoélectrique pour mesurer des températures allant de -330°F à +2460°F.

Ce tutoriel vous guidera pour interfacer le module thermocouple MAX6675 - l'un des modules thermocouple les plus utilisés, peu coûteux mais précis - avec un Arduino UNO R4. Mais d'abord, faisons un rapide rappel des bases des thermocouples.

Arduino UNO R4 module thermocouple MAX6675

À propos du Module Thermocouple MAX6675

Le module thermocouple MAX6675 comprend une carte breakout MAX6675 et une sonde thermocouple Type-K.

Brochage du module thermocouple MAX6675
image source: diyables.io

Bases des Thermocouples

Un thermocouple est un capteur de température composé de deux fils de métaux différents reliés à une extrémité, appelée jonction chaude. Lorsque la jonction chaude est chauffée, elle produit une minuscule tension qui varie avec la température. Ce principe simple permet à un thermocouple de mesurer des températures extrêmement élevées ou basses qui endommageraient d'autres types de capteurs.

Il existe quelques types de thermocouples courants (J, K, E, T, etc.), chacun fabriqué à partir d'une paire de métaux différente. Le plus utilisé est le thermocouple Type-K, composé de fils de Chromel et d'Alumel, qui peut mesurer une très large plage de températures, environ de -328°F à +2300°F.

La tension produite par un thermocouple est extrêmement faible et difficile à convertir directement en une lecture de température. C'est pourquoi nous avons besoin d'une puce dédiée pour faire ce travail à notre place - et c'est exactement ce que fait le circuit intégré MAX6675.

Brochage du Module MAX6675

La carte breakout lit le signal de la sonde thermocouple, le convertit en valeur de température et l'envoie à l'Arduino UNO R4 via SPI. Elle peut mesurer des températures de 0°C à +1024°C avec une précision d'environ ±3°C, et fonctionne avec une alimentation de 3,0V à 5,5V.

  • VCC : broche d'alimentation, à connecter à 3V - 5V.
  • GND : broche de masse.
  • SCK : broche d'horloge SPI.
  • CS : broche de sélection de puce.
  • SO : broche de données, envoie la lecture de température à l'Arduino UNO R4.

De l'autre côté du module, il y a un bornier à 2 broches pour la sonde thermocouple : connectez le fil rouge à + et le fil bleu à -.

Sonde Thermocouple Type-K

La sonde fournie avec le module mesure environ 18 pouces de long et peut mesurer des températures de 0°C à 80°C. Le fil rouge est le conducteur positif, et le fil bleu est le conducteur négatif.

Caractéristiques Techniques

  • Tension de fonctionnement : 3,0V à 5,5V
  • Interface : SPI
  • Plage de température : 0 – 1024°C (MAX6675), 0 – 80°C (sonde fournie)
  • Précision : ±3°C

Schéma de Câblage

Connectez la broche VCC du module au 5V de l'Arduino UNO R4 et la broche GND à la masse. Ensuite, connectez trois broches numériques de l'Arduino UNO R4 à utiliser comme interface SPI. Enfin, fixez la sonde thermocouple au module : connectez le fil rouge à la borne '+' du module, et le fil bleu à la borne '-'.

Schéma de câblage Arduino UNO R4 module thermocouple MAX6675

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter l'Arduino UNO R4..

Tableau de câblage du Module MAX6675 et de l'Arduino UNO R4

Module MAX6675 Arduino UNO R4
VCC → 5V
GND → GND
SCK → 5
CS → 4
SO → 3

Code Arduino UNO R4

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-max6675-thermocouple-module */ #include "max6675.h" // Define the Arduino UNO R4 pins the MAX6675 module is connected to int SO_PIN = 3; // Serial Out (SO) pin int CS_PIN = 4; // Chip Select (CS) pin int SCK_PIN = 5; // Clock (SCK) pin // Create an instance of the MAX6675 class with the specified pins MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN); void setup() { Serial.begin(9600); delay(500); } void loop() { // Read the current temperature and print it to the Serial Monitor // Read the temperature in Celsius Serial.print("Temperature: "); Serial.print(thermocouple.readCelsius()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.print("C | "); // Read the temperature in Fahrenheit Serial.print(thermocouple.readFahrenheit()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.println("F"); delay(1000); }

Étapes Rapides

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Connectez le module MAX6675 à l'Arduino Uno R4 selon le schéma fourni.
  • Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple Arduino Uno R4 WiFi) et le port COM.
  • Accédez à l'icône Libraries sur le côté gauche de l'IDE Arduino.
  • Recherchez "MAX6675" et trouvez la bibliothèque d'Adafruit.
  • Cliquez sur le bouton Install pour ajouter la bibliothèque MAX6675.
  • Search for MAX6675 library created by Adafruit and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Library Manager
Type:
All
Topic:
All
MAX6675 library by Adafruit
Arduino library for interfacing with MAX6675 thermocouple amplifier More info
1.1.2
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
Arduino Uno R4 WiFi on COM15
1
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'Arduino UNO R4.
  • Placez le thermocouple en contact avec le matériau à mesurer.
  • Ouvrez le Moniteur Série.
  • Consultez les résultats dans le Moniteur Série.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Temperature: 25.00°C | 77.00°F Temperature: 25.25°C | 77.45°F Temperature: 26.50°C | 79.70°F Temperature: 28.75°C | 83.75°F Temperature: 31.00°C | 87.80°F
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

※ Note:

Si la température affichée dans le Moniteur Série ne change pas ou semble incorrecte, vérifiez à nouveau le câblage entre le module et l'Arduino UNO R4, et assurez-vous que la sonde thermocouple Type-K est bien connectée aux bornes '+' et '-'.

Explication du Code

Le sketch commence par inclure le fichier d'en-tête MAX6675. Il permet à l'Arduino UNO R4 d'interagir avec le module MAX6675.

#include "max6675.h"

Dans la zone globale, trois entiers SO_PIN, CS_PIN et SCK_PIN sont déclarés, indiquant les broches de l'Arduino UNO R4 connectées aux broches de sortie série (SO), de sélection de puce (CS) et d'horloge (SCK) du module.

int SO_PIN = 3; // Serial Out (SO) pin int CS_PIN = 4; // Chip Select (CS) pin int SCK_PIN = 5; // Clock (SCK) pin

Ensuite, une instance de la classe MAX6675 appelée thermocouple est créée. Elle initialise l'objet thermocouple avec les broches SCK, CS et SO définies.

MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN);

La fonction setup() initialise la communication série avec l'ordinateur à un débit de 9600 bauds.

void setup() { Serial.begin(9600); delay(500); }

Dans loop(), nous lisons le thermocouple MAX6675 et affichons le résultat dans le Moniteur Série à l'aide de deux fonctions de la bibliothèque :

  • Thermocouple.readCelsius() : renvoie la température en Celsius.
  • Thermocouple.readFahrenheit() : renvoie la température en Fahrenheit.
Serial.print("Temperature: "); Serial.print(thermocouple.readCelsius()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.print("C | "); Serial.print(thermocouple.readFahrenheit()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.println("F");

La boucle continue de s'exécuter indéfiniment, lisant et affichant la température chaque seconde.

Vidéo

Commentaires

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !