0% ont trouvé ce document utile (0 vote)
57 vues2 pages

Code

Ce code Arduino permet de lire la température et l'humidité à partir d'un capteur SHT21 via une communication I2C. Les valeurs mesurées sont affichées à la fois sur le moniteur série et sur un écran LCD. Le programme effectue des lectures toutes les deux secondes et affiche les résultats en temps réel.

Transféré par

yassinesmahi4
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues2 pages

Code

Ce code Arduino permet de lire la température et l'humidité à partir d'un capteur SHT21 via une communication I2C. Les valeurs mesurées sont affichées à la fois sur le moniteur série et sur un écran LCD. Le programme effectue des lectures toutes les deux secondes et affiche les résultats en temps réel.

Transféré par

yassinesmahi4
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <Wire.

h>
#include <LiquidCrystal_I2C.h>

// Adresse I2C du capteur SHT21


#define SHT21_ADDRESS 0x40

// Initialisation de l'écran LCD avec adresse I2C (0x3F ou 0x27 selon ton modèle)
LiquidCrystal_I2C lcd(0x3F, 16, 2); // Adresse et dimensions de l'écran LCD

void setup() {
// Initialisation de la communication série et LCD
Serial.begin(9600); // Pour afficher sur le moniteur série
lcd.begin(16, 2); // Initialisation de l'écran LCD
lcd.print("LCD Initialisé"); // Message de bienvenue

delay(1000); // Attendre 1 seconde


lcd.clear(); // Effacer l'écran LCD

// Initialisation de la communication I2C


Wire.begin();
}

void loop() {
// Lecture de la température depuis le capteur SHT21
Wire.beginTransmission(SHT21_ADDRESS);
Wire.write(0xF3); // Commande pour mesurer la température
Wire.endTransmission();
delay(500); // Attendre la mesure
Wire.requestFrom(SHT21_ADDRESS, 2);
uint16_t temp = Wire.read() << 8 | Wire.read();
float temperature = -46.85 + 175.72 * (temp / 65536.0);

// Lecture de l'humidité depuis le capteur SHT21


Wire.beginTransmission(SHT21_ADDRESS);
Wire.write(0xF5); // Commande pour mesurer l'humidité
Wire.endTransmission();
delay(500); // Attendre la mesure
Wire.requestFrom(SHT21_ADDRESS, 2);
uint16_t hum = Wire.read() << 8 | Wire.read();
float humidity = -6 + 125 * (hum / 65536.0);

// Affichage des résultats sur le moniteur série


Serial.print("Température: ");
Serial.print(temperature);
Serial.print(" °C, Humidité: ");
Serial.print(humidity);
Serial.println(" %");

// Affichage des résultats sur l'écran LCD


lcd.setCursor(0, 0); // Positionnement du curseur sur la première ligne
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");

lcd.setCursor(0, 1); // Positionnement du curseur sur la deuxième ligne


lcd.print("Hum: ");
lcd.print(humidity);
lcd.print(" %");
delay(2000); // Attendre 2 secondes avant de refaire une lecture
}

Vous aimerez peut-être aussi