Moniteur de température Bluetooth avec Arduino Nano
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Nano R3 | 1 |
| Fils de liaison (générique) | 1 |
| Module Bluetooth HC-06 | 1 |
| Thermistance NTC | 1 |
| Résistance 10k ohm | 1 |
| Résistance 1k ohm | 1 |
| Résistance 2.21k ohm | 1 |
Outils et machines nécessaires
- Fer à souder (générique) - Optionnel
- Imprimante 3D (générique) - Optionnel
Applications et services en ligne
- MIT App Inventor 2
À propos de ce projet
Dans ce tutoriel, je vais vous montrer comment configurer un contrôleur de température Arduino qui envoie les valeurs à une application Android via une connexion Bluetooth.
Commençons par le matériel nécessaire pour construire ce projet :
- Arduino Nano.
- Thermistance NTC, vérifiez la résistance à 25°C car cela sera nécessaire dans le code Arduino pour évaluer correctement la température en utilisant la formule bêta.
- Résistances, 2k, 1k et une de la même magnitude que la thermistance.
- Module Bluetooth HC-06.
- Divers fils de liaison.
Tout d'abord, vous devrez assembler le diviseur de tension utilisé pour la thermistance. La figure 1 montre la connexion à réaliser afin de calculer la résistance inconnue de la thermistance en fonction de la température.

Figure 1 Diviseur de tension pour l'évaluation de la résistance de la thermistance.
Ce circuit permet à l'Arduino de déterminer la chute de tension après la résistance inconnue. En utilisant l'autre valeur de résistance, nous sommes en mesure de calculer la valeur de la résistance inconnue en utilisant la partie de code suivante (figure 2).
raw = analogRead(analogPin);
if(raw) {
ratio = raw * Vin;
Vout = (ratio)/1024.0;
ratio = (Vin/Vout) -1;
R2 = R1 * ratio;
}
Figure 2 Code Arduino pour l'évaluation de la résistance de la thermistance.
La résistance obtenue est ensuite convertie en température en utilisant la formule bêta (figure 3).
NOTE : La valeur bêta de votre thermistance et Ro à 25°C sont disponibles sur la fiche technique de votre thermistance ! Vérifiez-la avant d'exécuter le code !
Temp = Beta/log(R2/(Ro*exp(-Beta/To)));
Temp = Temp - 273.15;
Figure 3 Code Arduino pour la conversion de température.
Vous devrez ensuite configurer votre module Bluetooth. La figure 4 montre comment connecter un module Bluetooth comme celui que j'ai utilisé dans ce projet au précédent. Un diviseur de tension est requis pour connecter la broche TX1 de l'Arduino à la broche RX du module car celui-ci n'accepte que 3.3V en entrée.

Figure 4 Schéma Arduino avec module HC-06.
Les données peuvent ensuite être envoyées via le module Bluetooth en initialisant le port série et en imprimant les valeurs souhaitées. Dans cet exemple, j'avais besoin que l'appareil mesure la température dans la plage 25-75°C, pour commencer à compter environ 300 secondes à haute température et ensuite changer le message affiché (figure 5).
void setup() {
Serial.begin(9600);
}
void loop(){
if(Temp >= 74) {
for (int i = 0; i <= 30; i++) {
Serial.print("Temperature >= 74 °C");
delay(10000);
}
Serial.print("Heating Complete");
delay(10000);
} else if (Temp <= 26){
Serial.print("Temperature <= 25 °C");
delay(10000);
} else {
Serial.print("Temperature: ");
Serial.println(Temp);
delay(10000);
}
}
Figure 5 Code Arduino pour l'initialisation série et l'affichage des valeurs.
L'appareil final assemblé sur une plaque d'essai peut être vu sur la figure 6.

Figure 6 Appareil complet sur une plaque d'essai.
L'étape finale est la connexion du module Bluetooth à un téléphone Android pour la visualisation des données. Une application simple a été programmée en utilisant MIT App Inventor 2. La figure 7 et la figure 8 montrent respectivement l'interface utilisateur et les blocs de programmation.

Figure 7 Interface utilisateur réalisée avec AppInventor2.

Figure 8 Blocs de programmation d'AppInventor2.
L'application proposée est disponible sur la galerie App Inventor au lien suivant : https://ai2.appinventor.mit.edu/#5876233188016128
De toute façon, en utilisant le système de programmation par blocs simple et intuitif d'App Inventor, de nombreuses autres applications peuvent être construites pour répondre à tout objectif que vous souhaitez. Par exemple, j'avais besoin que l'application me notifie par un son si la température descend en dessous de 25°C afin d'effectuer certaines mesures et qu'elle notifie après 5 minutes à 75°C que mon cycle de chauffe est terminé.
Optionnel : Une étape finale pourrait être la soudure des composants et l'impression 3D d'un boîtier pour maintenir les pièces ensemble. La figure 9 montre le résultat d'une telle approche.

Figure 9 Appareil final prêt à être utilisé.
Un trou a été fait sur le côté de ce boîtier afin d'alimenter l'Arduino avec le câble mini USB. Le long câble rouge et noir a été ajouté juste pour augmenter la distance entre la thermistance et le reste de l'appareil (j'ai besoin de la thermistance pour vérifier la température des solutions, donc je voulais les composants électroniques le plus loin possible).
J'espère que ce projet simple vous aidera à comprendre les bases de la communication série avec un module Bluetooth afin de l'appliquer à votre propre projet.
Si vous trouvez des erreurs ou si vous voulez simplement poser une question, n'hésitez pas à me le faire savoir.
ÉDIT : J'ai trouvé une erreur dans le câblage du schéma pour le diviseur de tension nécessaire au module Bluetooth. Elle a été corrigée.
ÉDIT 2 : Si vous avez des problèmes pour téléverser votre code sur la carte, essayez en déconnectant le module Bluetooth.
Code
Moniteur de température avec module Bluetooth (Arduino)
Afin de calculer la résistance de la thermistance NTC, 5V lui sont appliqués en série avec une résistance connue d'à peu près la même magnitude (dans cet exemple 10kohm). Via la broche analogique A0, la tension du diviseur de tension constitué par la résistance en série est calculée et en utilisant la valeur connue d'une résistance, la résistance NTC est calculée. Cette valeur est ensuite convertie en température en utilisant l'équation bêta (changez le bêta pour celui que vous utilisez) et envoyée à l'application Android via le module Bluetooth.
Le code peut être modifié pour surveiller une plage de température spécifique, dans cet exemple j'avais besoin de surveiller entre 25 et 75°C et d'attendre 5 minutes à la température la plus élevée.
// Moniteur de température avec module Bluetooth
int analogPin = 0;
int raw = 0;
int Vin = 5;
float Vout = 0;
float R1 = 10000; // à adapter à votre système
float Ro = 10000; // à adapter à votre système
float R2 = 0;
float ratio = 0;
float Temp = 0;
float Beta = 3694; // à adapter à votre système
float To = 298.15; // la thermistance va de 10k à 25°C. Choisissez la résistance de référence en conséquence
void setup() {
Serial.begin(9600);
}
void loop() {
raw = analogRead(analogPin);
if(raw) {
ratio = raw * Vin;
Vout = (ratio)/1024.0;
ratio = (Vin/Vout) -1;
R2 = R1 * ratio;
Temp = Beta/log(R2/(Ro*exp(-Beta/To)));
Temp = Temp - 273.15;
if(Temp >= 74) {
for (int i = 0; i <= 30; i++) {
Serial.print("Temperature >= 74 °C"); // à adapter à votre système
delay(10000);
}
Serial.print("Heating Complete");
delay(10000);
} else if (Temp <= 26){
Serial.print("Temperature <= 25 °C"); // à adapter à votre système
delay(10000);
} else {
Serial.print("Temperature: "); // à adapter à votre système
Serial.println(Temp);
delay(10000);
}
}
}
Schémas
La résistance R2 doit être changée en fonction de la résistance de la thermistance que vous allez utiliser. L'erreur dans la lecture de la température augmente avec le biais (Rinconnu - R2).

Processus de fabrication
- Moniteur réseau température et humidité Raspberry Pi — Guide de configuration DIY
- Construire un moniteur de température ThingSpeak avec Raspberry Pi et BrickPi
- Surveiller la température de votre maison avec un tableau de bord Raspberry Pi
- Alerte Soif Plante Intelligente – Capteur DIY pour une Hydratation Optimale
- Horloge à Mots Italienne avec Arduino Nano, NeoPixel, LCD et RTC
- Compteur kWh Sigfox fiable avec Arduino MKR Fox 1200
- Serrure à gestes sans contact : Accès sécurisé avec APDS-9960 et Arduino
- Circuit d'entrée analogique isolée pour Arduino : Protection contre les parasites industriels
- Test Précis de Temps de Réaction avec Arduino UNO