Thermomètre infrarouge sans contact avec Arduino Nano et GY-906 (MLX90614)
Composants et fournitures
| Arduino Nano R3 | 1 |
| Capteur température infrarouge GY-906 (MLX90614) | 1 |
| Écran OLED 0,96″ (I2C, SSD1306) | 1 |
| Bouton tactile | 1 |
| Laser 5V (pour visée) | 1 |
| Interrupteur bipolaire (marche/arrêt) | 1 |
| Résistances : 5 kΩ (pull-down bouton), 200 Ω (laser) | 1 chacune |
| Pile 9V + connecteur | 1 |
| Imprimante 3D + filament PLA | 1 |
Outils nécessaires
- Imprimante 3D
Applications et services en ligne
- Arduino IDE
À propos de ce projet
Ce thermomètre infrarouge mesure la température de surface d'un objet sans contact, pratique et précis pour les objets distants.
Liste du matériel
- Arduino Nano × 1
- Bouton tactile × 1
- Résistances 5 kΩ et 200 Ω × 1 chacune
- Émetteur laser 5V × 1
- Interrupteur bipolaire × 1
- Écran OLED 0,96″ × 1
- Capteur GY-906 (MLX90614) × 1
- Pile 9V × plusieurs
- Imprimante 3D + PLA × 1
Le capteur GY-906 (MLX90614)
Module bon marché, facile à intégrer, interface I2C avec résistance de pull-up 10 kΩ intégrée. Plages calibrées en usine :
- Température capteur (ambiante) : -40 °C à +125 °C
- Température objet (cible) : -70 °C à +380 °C
- Précision : ±0,5 °C
Partie électronique
- Montez d'abord tous les composants sur breadboard. Une fois fonctionnel, soudez sur plaque à trous (perfboard).
- Côté gauche : Laser avec résistance 200 Ω piloté par la sortie numérique 5. Bouton tactile entre 5V et entrée numérique 2, avec résistance de pull-down 5 kΩ (entrée à 0V au repos).
- Côté droit : Interrupteur bipolaire reliant la pile 9V aux broches VIN et GND du Nano. Écran OLED et GY-906 alimentés en 3,3V. Liaisons I2C : SDA sur A4, SCL sur A5. Les deux modules ont des pull-up I2C intégrées.
Programmation
- Installez les bibliothèques : Adafruit SSD1306 et Adafruit MLX90614.
- Le programme lit en continu la température du MLX90614, mais n'affiche sur l'OLED et n'allume le laser que lorsque le bouton tactile est pressé.
- Le code complet est disponible sur le dépôt du projet : https://make.quwj.com/project/157
Impression 3D
Le boîtier a été conçu sous Fusion 360.
- Partie inférieure : Loge la pile 9V, l'interrupteur et le bouton tactile. Couvercle clipsé. Un trou permet le passage des fils vers la partie supérieure.
- Partie supérieure : Ouverture pour l'écran OLED. Logements pour le laser et le capteur MLX90614 à l'avant (insertion par pression). Arduino Nano fixé sur le dessus (utilisez de la colle pour bien router les fils).
- Imprimez la partie supérieure face écran vers le bas ; des supports sont nécessaires pour l'inclinaison de l'OLED. La surface peut être imparfaite – améliorez selon votre méthode.
- Fichiers STL téléchargeables sur le lien du projet ci-dessus.
Test
Appuyez sur le bouton d'alimentation, attendez l'affichage, et c'est prêt ! Visez avec le laser, appuyez sur le bouton tactile, la température s'affiche.
Pour approfondir le principe de fonctionnement des thermomètres infrarouges, consultez la documentation technique du MLX90614.
Code
Le code complet est trop long pour être reproduit ici. Il est disponible dans le dépôt du projet (lien ci-dessus). La structure principale :
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
Adafruit_SSD1306 display(128, 64, &Wire, -1);
const int TOUCH_BUTTON = 2;
const int LASER_PIN = 5;
void setup() {
pinMode(TOUCH_BUTTON, INPUT);
pinMode(LASER_PIN, OUTPUT);
mlx.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop() {
if (digitalRead(TOUCH_BUTTON) == HIGH) {
digitalWrite(LASER_PIN, HIGH);
float tempObj = mlx.readObjectTempC();
float tempAmb = mlx.readAmbientTempC();
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 0);
display.print("Obj: "); display.print(tempObj, 1); display.println(" C");
display.print("Amb: "); display.print(tempAmb, 1); display.println(" C");
display.display();
} else {
digitalWrite(LASER_PIN, LOW);
display.clearDisplay();
display.display();
}
delay(100);
}
Schémas
Schéma de câblage complet disponible dans le projet original (fichier image).
Processus de fabrication
- Le thermomètre : du thermoscope de Galilée aux capteurs numériques modernes
- Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
- Construire un Capteur de Rythme Cardiaque Infrarouge Fiable avec Arduino : Guide Étape par Étape
- Construisez un skateboard VR DIY avec Arduino, Google Cardboard et Bluetooth
- Portique de contrôle de température sans contact pour dépistage rapide et précis
- Arduino UNO & Shield WiFi : Affichage température temps réel sur le Web via série
- Dispositif de Traitement Radionique EMR DIY avec Arduino Nano
- Système de Surveillance Thermique Scolaire : Précis, Temps Réel et Sécurisé
- Thermomètre miniature ultra-froid : précision 50 mK sur puce