Club Robotique - Station de mesure (T°, H)

Description du projet

Introduction

Pour ce cycle, nous allons réalisée une station de mesure de température de l'air.


Description des compétences visées :

Compétences techniques et mécaniques :

Compétences en électronique :

Compétences en programmation :

Compétences transversales :

Description du déroulé des séances :

~6 séances :

Matériel :

Modélisation et impression en 3D de la boîte de la station

Création d'un boite pour la station

La station d'analyse de l'air ne possède pas de boite pour contenir ni fixer les composants électroniques, c'est pour ca que je vais vous décrire comment la réalisée. 

Objectif (en deux séances)

L’objectif est de réussir à modéliser la boite de la station qui va contenir tout nos composants électronique et à apprendre à utiliser une imprimante 3D pour imprimer cette dernière.

Ressources disponibles

Vous pouvez retrouver le fichiers STL de la boite dans les fichiers en pièce jointe.

Avant de commencer la modification, je vous invite à consulter si vous n'êtes pas à l'aise avec tinkercad :

1. Modélisation 3D 

Une fois la classe créée sur Tinkercad , avec le fichier de référence correctement chargé, et que tous les élèves sont connectés, nous pouvons passer à la phase de modification.

Comment créer une classe sur tinkercad : 

https://innovation.iha.unistra.fr/books/2-fablab-formation-machines-logiciels/page/creation-dune-classe-tinkercad

Sur l’interface principale de Tinkercad :

      1. Création du Boîtier Principal:

    Création des trou pour les vis :

    Création du trou pour le Capteur :

    Création du trou pour l'afficheur :

    L’outil « règle » sera votre meilleur ami pour placer correctement le cylindre.

                                                            image.png

    Placez cet outil dans le coin inférieur droit de l’emplacement de l’afficheur. Une fois placé, des cotes apparaîtront, comme sur l'image suivante (ne pas oublier de cliquer sur le cylindre), puis les modifier pour avoir les mêmes que sur l'image :

    image.png

    Conception du Capot :

    Ajustements Finaux :

    Validation et Export :

    3. Impression 3D

    Afin de comprendre de qu'est l'impression 3D vous pouvez visiter les pages présente dans la catégorie suivante :

    https://innovation.iha.unistra.fr/books/2-fablab-formation-machines-logiciels/chapter/impression-3d-fdm

    Et pour savoir comment lancer une impression sur l'une de nos machines, veuillez vous référer à la page suivante : 

    https://innovation.iha.unistra.fr/books/2-fablab-formation-machines-logiciels/page/lancer-une-impression-avec-bambu-studio

      Phase 2 - Impression 3D

      Phase 2 - Impression 3D

      Objectifs :

      Compétences techniques :

      Savoir-être et compétences transversales :

      Déroulement de la séance :

      1.Exportation de la boite :

      2.Préparation du fichier pour l'impression :

      Conclusion / Rangement :

      Dans cette phase, les participants vont apprendre à préparer leur modèle 3D pour l'impression en utilisant le logiciel Cura. Ils vont importer leur fichier STL, ajuster les paramètres d'impression, générer le code pour l'imprimante 3D et exporter le fichier prêt pour l'impression. Si des questions se posent ou si vous avez besoin de plus d'informations, n'hésitez pas à demander !

      Fonctionnement et programmation des composants

      -------------------------- Début de la nouvelle page

      Objectif :

      Comprendre le fonctionnement des composants du projet et apprendre à les programmer

      1. Introduction à l'Arduino Nano 

      Qu'est-ce qu'un Arduino ?

      https://innovation.iha.unistra.fr/books/robotique-educative/page/quest-ce-que-larduino

      2. Capteur de température et d'humidité (DHT22)

      Qu'est ce qu'un capteur de température et d'humidité (DHT22) et comment il fonctionne ?

      https://innovation.iha.unistra.fr/books/robotique-educative/page/fonctionnement-et-programmation-du-capteur-de-temperature-et-dhumidite-dht22/edit

       

      3. Ecran OLED 

      Qu'est ce qu'un écran OLED et comment il fonctionne ?

      -------------------------- page de base en dessous

      Objectifs

      Compétences techniques:

      Déroulement de la séance

      1. Introduction:

        • Présentation des éléments nécessaires pour la programmation.
        • Importance de la programmation dans le projet de station météo.
      2. Programmation:

        • Commençons par la programmation sur Mblock.
        • N'oubliez pas d'installer l'extension pour le capteur en cliquant sur ce boutonimage.png,puis taper dans la barre de recherche "DHT22" et ensuite juste besoin de l'ajouter.

          image.png

        •  

          Maintenant vous avez juste besoin de faire le code qui permet de mesuré la température grâce au DHT 22 et qui la renvoie sur le moniteur série.
        • image.png

        • Avant de téléverser le code n'oubliez pas de décocher ces 2 cases ci-dessous qui se situe dans le moniteur série.

        •  

          image.png

        • Pour la suite nous allons passer sur le logiciel "Arduino IDE" car il nous offre plus de possibilités.
        • Dans un premier temps télécharger la librairie Arduino DHT de Adafruit https://www.arduino.cc/reference/en/libraries/dht-sensor-library/ 
          • bien installer la dépendance Adafruit Unified Sensor

      image.png

      #include <SoftwareSerial.h>
      #include <DHT.h>
      #include <EEPROM.h>
      
      #define DHTPIN 9
      #define DHTTYPE DHT22
      
      DHT dht(DHTPIN, DHTTYPE);
      
      const int EEPROM_SIZE = 512;          // Taille de l'EEPROM en octets
      const int ENTRY_SIZE = sizeof(float) * 2; // Taille d'une entrée (température + humidité)
      const int NUM_ENTRIES = EEPROM_SIZE / ENTRY_SIZE; // Nombre total d'entrées possibles
      
      int currentAddress = 0; // Adresse actuelle pour stocker
      bool storageFull = false; // Indique si l'EEPROM est pleine
      
      unsigned long previousMillis = 0; // Dernier temps de stockage
      const unsigned long interval = 3600000; // Intervalle d'une heure (en millisecondes)
      
      void setup() {
        Serial.begin(9600);
        dht.begin();
        Serial.println("Démarrage du système...");
      }
      
      void loop() {
        unsigned long currentMillis = millis();
      
        // Vérifie si une heure s'est écoulée
        if (!storageFull && currentMillis - previousMillis >= interval) {
          previousMillis = currentMillis;
      
          // Lecture des données du capteur
          float temperature = dht.readTemperature();
          float humidity = dht.readHumidity();
      
          if (!isnan(temperature) && !isnan(humidity)) {
            // Vérifie si suffisamment d'espace reste dans l'EEPROM
            if (currentAddress + ENTRY_SIZE <= EEPROM_SIZE) {
              // Stocker la température
              EEPROM.put(currentAddress, temperature);
              currentAddress += sizeof(float);
      
              // Stocker l'humidité
              EEPROM.put(currentAddress, humidity);
              currentAddress += sizeof(float);
      
              // Affichage des données
              Serial.print("Données stockées à l'adresse ");
              Serial.print(currentAddress - ENTRY_SIZE);
              Serial.print(": Température = ");
              Serial.print(temperature);
              Serial.print(" °C, Humidité = ");
              Serial.println(humidity);
            } else {
              storageFull = true; // Indiquer que l'EEPROM est pleine
              Serial.println("EEPROM pleine. Arrêt du stockage.");
            }
          } else {
            Serial.println("Erreur de lecture du capteur DHT22.");
          }
        }
      }
      

                   3. Validation:

                   4. Conclusion:

      Résolution de problèmes

      image.png

      image.png

      image.png

      Phase 4 - Mesure et Analyse des Données de Température avec le Capteur DHT22

      Phase 4 - Mesure et Analyse des Données de Température avec le Capteur DHT22

      Objectifs de la séance :

      Compétences techniques :

      Savoir-être :

      Compétences transversales :


      Déroulement de la séance :

      1. Introduction

        • Présentation des objectifs de la séance.
        • Rappel du fonctionnement du capteur DHT22 et de l'Arduino Nano.
        • Explication des points de mesure : définir les différents endroits où seront placées les stations (intérieur, extérieur, pièces fermées, etc.).
      2. Installation des stations de mesure

        • Mise en place des stations avec le capteur DHT22 à différents endroits prédéfinis.
        • Vérification de la connectivité et du bon fonctionnement de chaque station.
        • Lancement de la collecte des données (durée de mesure à définir : quelques heures ou une journée complète).
      3. Collecte des données

        • Chaque participant vérifie régulièrement les stations et enregistre les données (extraction via l’Arduino).
        • Récupération des température via l'Arduino IDE, puis exportation sur Excel ou Open Office.

           

          image.png

          image.png


           

        • Pour récupérer les température facilement il y a cette formule =DROITE(GAUCHE(A1; NBCAR(A1)-23); 5).
        • Pour récupérer la valeur de l'humidité vous pouvez utiliser cette formule =DROITE(GAUCHE(A1; NBCAR(A1)-2); 5) si vous avez collez votre texte dans la case A1, ensuite si vous êtes sur Exel n'oubliez pas de les convertir en valeurs.
        • image.png
        • Attention si vous êtes sur Libre Office, il faut copier vos valeur puis les coller en "collage spécial" et ensuite sur "Texte non formaté".

          image.png


          Et ensuite appuyer sur "OK".
        • Faire de même pour les valeurs de l'humidité.
      4. Analyse des données sur Excel

        • Importation des données dans Excel ou Libre Office.
        • Structuration des informations sous forme de tableau.
        • Création des graphiques : courbes de tendance pour visualiser les écarts de température selon les points de mesure.
        • Pour créer un graphique sur Excel sélectionnez votre tableau et allez dans "Insertion" puis "Graphiques Recommandés".

        • Sur Libre Office sélectionnez vos valeurs puis allez dans "Insertion", "Diagrammes", "Ligne", et prenez le 2ème.

          image.png


        • Après avoir obtenue l'image ci-dessus, faites un clic droit sur le graphique et ensuite dans "plage de données" allez dans "séries de données".
        • image.png

        • Et vous avez juste à supprimer les données des heures.
        • Sur Excel n'oubliez pas de changer l'échelle des température en mettant la température la plus basse à 0.
        • Analyse des résultats : interpréter les différences entre les différents points de mesure.
        • Faire la même chose pour l'humidité.
      5. Conclusion et échanges

        • Chaque participant présente ses résultats sous forme de graphiques.
        • Discussion autour des facteurs qui peuvent influencer les écarts de température (environnement, exposition au soleil, ventilation, etc.).
        • Synthèse des principaux apprentissages de la séance.