Affichage de la température et de l'humidité sur l'écran LED Matrix de l'Arduino R4 WiFi

Salut à tous,

Voici mon premier sujet écrit ici et par la même occasion mon premier projet avec un carte Arduino R4 WiFi.

Il s'agit d'afficher sur l'écran LED Matrix de la carte Arduino R4 WiFi la valeur de la température et de l'humidité récupéré à partir du capteur DHT11 relié à la carte.

Tout est présent dans mon projet Gitlab disponible ici : Arduino_r4_wifi_dht11_led_matrix

Ci-dessous l'ensemble des détails :

ARDUINO DHT11
5V Pin 1
GND Pin 4
Pin 2 Pin 2

  • le code :
 // Code écrit par sushy28 et disponible sur mon espace gitlab : https://gitlab.com/sushy28/arduino_r4_wifi_dht11_led_matrix
// Dernière mise à jour le 16/05/2024

#include "Wire.h"                   // Déclaration de bibliothèque Wire
#include "DHT.h"                    // Déclaration de bibliothèque DHT
#include "ArduinoGraphics.h"        // Déclaration de bibliothèque ArduinoGraphics
#include "Arduino_LED_Matrix.h"     // Déclaration de bibliothèque Arduino_LED_Matrix

DHT dht(2, DHT11);                  // Démarrage et affectation du capteur DHT11 sur le pin2 de la carte Arduino R4 WiFi
ArduinoLEDMatrix matrix;            // Démarrage de l'écran LCD Matrix de la carte Arduino R4 WiFi

void setup() {                      
  dht.begin();                      // Initialisation du capteur DHT11
  Serial.begin(9600);               // Initialisation du moniteur série et définition de la vitesse des noeuds à 9600
  matrix.begin();                   // Initialisation de l'écran LCD Matrix de la carte Arduino R4 WiFi
  matrix.beginDraw();
  matrix.stroke(0xFFFFFF);
  matrix.textScrollSpeed(50);       // Vitesse de défilement du texte fixée à 50 (plus la valeur est petite, plus la vitesse de défilement est rapide)
}

void loop() {                       // Boucle à l'infini 
  float h = dht.readHumidity();     // ratatcher la valeur de l'humidité relevée par le capteur DHT11 à la lettre h
  float t = dht.readTemperature();  // ratatcher la valeur de la température relevée par le capteur DHT11 à la lettre t

  matrix.textFont(Font_5x7);        // Taille du texte
  matrix.beginText(0, 1, 0xFFFFFF); // Placement du premier caractère : colonne 0, ligne 1, couleur par défaut rouge
  matrix.print("Temperature:");     // Affiche le texte "Temperature: " sur l'écran LED Matrix de la carte Arduino R4 WiFi
  matrix.println(t);                // Affiche la valeur "la température" relevé par le capteur DHT juste après le texte "Température: " sur l'écran LED Matrix de la carte Arduino R4 WiFi
  matrix.endText(SCROLL_LEFT);      // Sens du défilement du texte vers la gauche

  matrix.textFont(Font_5x7);        // Taille du texte
  matrix.beginText(0, 1, 0xFFFFFF); // Placement du premier caractère : colonne 0, ligne 1, couleur par défaut rouge
  matrix.print("Humidite:");        // Affiche le texte "Humidite: " sur l'écran LED Matrix de la carte Arduino R4 WiFi
  matrix.println(h);                // Affiche la valeur "d'humidité" relevé par le capteur DHT juste après le texte "Humidite: " sur l'écran LED Matrix de la carte Arduino R4 WiFi
  matrix.endText(SCROLL_LEFT);      // Sens du défilement du texte vers la gauche

  matrix.endDraw();

  Serial.print("Temperature: ");    // Affiche le texte "Temperature: " dans le moniteur série
  Serial.println(t);                // Affiche la valeur "la température" relevé par le capteur DHT juste après le texte "Température: " dans le moniteur série
  Serial.print("Humidite: ");       // Affiche le texte "Humidite: " dans le moniteur série
  Serial.println(h);                // Affiche la valeur "d'humidité" relevé par le capteur DHT juste après le texte "Humidite: " dans le moniteur série

  delay(1000);                      // Délai fixé à 1 seconde
}

Le code est clair et bien structuré. Il lit la température et l'humidité du capteur DHT11 et les affiche sur l'écran LED Matrix de l'Arduino R4 WiFi ainsi que sur le moniteur série. Tu utilises les bonnes bibliothèques pour gérer le DHT11 et la matrice LED.
L'utilisation de matrix.beginText et matrix.endText(SCROLL_LEFT) permet de scroller les informations sur l'écran, ce qui est un bel effet pour visualiser les données. La vitesse de défilement est réglée par matrix.textScrollSpeed(50) que tu peux ajuster si nécessaire.

Merci beaucoup pour ton retour.
J'ai essayé de documenter un maximum mon code afin de le rendre le plus explicite et le plus compréhensif possible.
Ouais le rendu est très sympa, les possibilité sont folles avec cet écran LCD Matrix intégré !