Skip to main content

Groupe A3 APaR 🌵

Informations pratiques :

Prénoms et NOMS: Alexandre TAUFFLIEB, Pola SZOPKA, Menouha Rachel LAHMI

Cursus : CMI Physique Groupe A

Timeline : S2 (2023)

Introduction au Fablab

SĂ©ance 1 : introduction au Fablab et au projet

Notre idĂ©e de projet est de crĂ©er un arroseur automatique utilisant un capteur d'humiditĂ©. Ainsi, l'objet crĂ©er pourra garder n'importe quelle plante ("classique") assez humide plus rationnellement qu'un arroseur automatique programmĂ© exclusivement sur des horaires. Notamment, l'objet s'adapte au saison selon l'humiditĂ© de l'environnement de la plante et est donc plus adaptĂ© Ă  la plante et Ă  la quantitĂ© d'eau nĂ©cessaire Ă  son Ă©volution .Le système peut ainsi s'Ă©tendre Ă  un ensemble de types de plantes plus large, avec un rĂ©servoir d'eau qui avertit l'utilisateur quand il est vide .

Capteurs Grooves utilisĂ©s : 

  • DĂ©tecteur d'humiditĂ© dans le sol : Grove Moisture Sensor .
  • DĂ©tecteur de niveau d'eau dans le rĂ©servoir : Grove Water Sensor .


SĂ©ance 2 : Capteurs, et prototypage Ă©lectronique 


Capteur Arduino:


Image d'un Arduino assemblé à un Shield :

E9D75616-9C8E-40EA-95C2-E5E3B9A82E54.jpeg 

L'objectif est d'afficher la température et l'humidité de l'air sur l'ordinateur puis sur écran LCD grâce à une carte Arduino(+Shield) et à un capteur d'humidité et de température.

Pour commencer à utiliser un capteur d'humidité et de température (SHT31) grâce une carte Arduino, nous avons d'abord trouvé un programme et la librairie associée sur Wiki Seeed Studio et Github.

Ces derniers nous permettent d'afficher les valeurs de la température avec la commande Serial Monitor en utilisant le programme suivant:

#include <Arduino.h>
#include <Wire.h>
#include "SHT31.h"
 
SHT31 sht31 = SHT31();
 
void setup() {  
  Serial.begin(9600);
  while(!Serial);
  Serial.println("begin...");  
  sht31.begin();  
}
 
void loop() {
  float temp = sht31.getTemperature();
  float hum = sht31.getHumidity();
  Serial.print("Temp = "); 
  Serial.print(temp);
  Serial.println(" C"); //The unit for  Celsius because original arduino don't support speical symbols
  Serial.print("Hum = "); 
  Serial.print(hum);
  Serial.println("%"); 
  Serial.println();
  delay(1000);
}

Dans la console de l'IDE, l'ordinateur affiche par exemple les valeurs suivantes :

Temp = 24.77 C
Hum = 31.22%

Temp = 24.79 C
Hum = 31.30%

Temp = 24.76 C
Hum = 31.20%

Temp = 24.76 C
Hum = 31.09%

Temp = 24.73 C
Hum = 31.11%

Temp = 24.71 C
Hum = 31.05%

Temp = 24.71 C
Hum = 31.09%

On connecte ensuite l'Ă©cran LCD,  Ă  la carte Arduino.

45F71660-1AE9-44CF-A387-FFF586E72418.jpeg

On trouve Ă  nouveau la librairie associĂ©e sur GitHub pour l’écran LCD. Pour afficher les valeurs sur l'Ă©cran LCD, on s'est basĂ© un programme de code pour afficher " Card Works " sur l'Ă©cran :

#include <Wire.h>
#include "rgb_lcd.h"
 
rgb_lcd lcd;
 
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;
 
void setup() 
{
    // set up the LCD's number of columns and rows:
    lcd.begin(16, 2);
 
    lcd.setRGB(colorR, colorG, colorB);
 
    // Print a message to the LCD.
    lcd.print("hello, world!");
 
    delay(1000);
}
 
void loop() 
{
    // set the cursor to column 0, line 1
    // (note: line 1 is the second row, since counting begins with 0):
    lcd.setCursor(0, 1);
    // print the number of seconds since reset:
    lcd.print(millis()/1000);
 
    delay(100);
}

On a ensuite pu Ă©crire et utiliser le programme suivant pour la carte Arduino :

#include <Arduino.h>
#include <Wire.h>
#include "SHT31.h"
#include <Wire.h>
#include "rgb_lcd.h"
 
rgb_lcd lcd;
 
const int colorR = 255;
const int colorG = 0;
const int colorB = 188;
SHT31 sht31 = SHT31();
 
void setup() {  
  Serial.begin(9600);
  while(!Serial);
  Serial.println("begin...");  
  sht31.begin();  
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  lcd.setRGB(colorR, colorG, colorB);
  // Print a message to the LCD.
  lcd.setCursor(0, 0);
  lcd.print("Card works !");
  lcd.setCursor(1, 1);
  lcd.print(" (-^_^-) ");
  delay(5000);
}
 
void loop() {
  float temp = sht31.getTemperature();
  float hum = sht31.getHumidity();
  Serial.print("Temp = "); 
  Serial.print(temp);
  lcd.setCursor(0, 0);
  lcd.print("Temp = ");
  lcd.print(temp);


  Serial.println(" C"); //The unit for  Celsius because original arduino don't support special symbols
  Serial.print("Hum = "); 
  Serial.print(hum);
  lcd.setCursor(0, 1);
  lcd.print("Hum = ");
  lcd.print(hum);

  Serial.println("%"); 
  Serial.println();
  lcd.setCursor(12, 1);
  lcd.print("%");

  delay(1000);
}

L'affichage a bien marché grâce à ce programme. On peut lire sur l'écran la température et l'humidité de l'air .

8CB0BD85-FDF8-439B-8389-CCF9BF8C5F31.jpeg919898AC-6D07-4BF0-9032-58AC10057C9E.jpeg


M5Stack Core ESP32


Programme « Hello word » donnée en exemple par le constructeur :

/*
*******************************************************************************
* Copyright (c) 2021 by  M5Stack
*                 Equipped with M5Core sample source code
* Visit for more information: https://docs.m5stack.com/en/core/gray
* Describe: Hello World
* Date: 2021/7/15
*******************************************************************************
*/
#include <M5Stack.h>
/* After M5Core is started or reset
the program in the setUp () function will be run, and this part will only be run
once. */
void setup() {
    M5.begin();        // Init M5Core.
    M5.Power.begin();  // Init Power module.
    /* Power chip connected to gpio21, gpio22, I2C device
      Set battery charging voltage and current
      If used battery, please call this function in your project */
    M5.Lcd.print("Hello World");  // Print text on the screen (string)
}

/* After the program in setup() runs, it runs the program in loop()
The loop() function is an infinite loop in which the program runs repeatedly */
void loop() 
{

Le programme fonctionne « Hello World »apparaît à l’écran .

F7859C80-8B1F-4693-B900-C6FB5D713A0A.jpeg

Pour afficher la tempĂ©rature et l'humiditĂ© sur l'Ă©cran du M5Stack, nous avons dĂ» retrouver le programme en utilisant Chat GPT (Programme original perdu et contrainte de temps). Voici le code ainsi obtenu:

#include <M5Stack.h>
#include <DHT.h>

#define DHTPIN 36      // Pin du capteur DHT
#define DHTTYPE DHT11  // Type de capteur DHT

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  M5.begin();
  dht.begin();
}

void loop() {
  float temperature = dht.readTemperature(); // Lecture de la température
  float humidity = dht.readHumidity();       // Lecture de l'humidité
  M5.Lcd.fillScreen(BLACK);                  // Effacement de l'Ă©cran
  M5.Lcd.setTextSize(3);                     // Taille du texte
  M5.Lcd.setTextColor(WHITE);                // Couleur du texte
  M5.Lcd.setCursor(10, 10);                  // Position du texte
  M5.Lcd.printf("Temp: %.1f C", temperature); // Affichage de la température
  M5.Lcd.setCursor(10, 60);                  // Position du texte
  M5.Lcd.printf("Humidite: %.1f %%", humidity); // Affichage de l'humidité
  delay(2000);                               // Attente de 2 secondes
}

Le programme original fonctionnait : on peut lire sur l’écran la température et l’humidité de l’air malheureusement les emplacements de texte n'avaient pas bien été paramètres et les mesures tendaient à se superposer.

BE14D853-B9C8-486F-8178-FBD4E52C9B6F.jpeg


SĂ©ance 3:Dessin 2D 3D ,Impression 3D ,DĂ©coupe Laser


Dessin 2D : Inskcape


Ce logiciel permet de dessiner en 2D afin de réaliser une découpe /gravure laser. Des formes que nous pouvons transformer et utiliser à notre guise sont déjà proposées par le logiciel. Il suffit de le paramétrer selon ce qu'on cherche à dessiner. Le rouge est destiné à la découpe et le noir à la gravure (Attention à bien suivre les conventions !). Nous avons ainsi pu dessiner une petite tête de Robot :

ADC22F14-1B86-4816-BD96-614315819BD2.jpeg


Modélisation 3D :


  • Open SCAD

Ce logiciel peut ĂŞtre utilisĂ© pour modĂ©liser un objet en 3D .  Ce logiciel fonctionne de la manière suivante ,il suffit d’entrer un code pour une forme particulière que l’on souhaite dessiner en 3 D (cela fonctionne aussi pour les objets en 2 D )pour que le logiciel la dessine .On peut trouver ce code sur : https://openscad.org/cheatsheet/ .On peut ainsi dessiner un cube par exemple .Dans notre cas nous avions pour objectif de dessiner un cube trouĂ©e sur ses 6 faces .Pour cela il suffit d’entrer le code du cube puis de faire une diffĂ©rence avec 6 petits cylindre placĂ©s au centre de chacune des 6 faces . 

Voici le code utilisé ,suivi de la figure qu’il a permit de construire .

difference(){
    cube(50, center = true);
    union(){
        cylinder(60, 5, 5, center = true);
        rotate ([90,0,0]) cylinder(60, 5, 5, center = true);
        rotate ([0,90,0]) cylinder(60, 5, 5, center = true);
}
}

0C1B1335-F545-4331-8DE9-057A3BEBC53C.jpeg

  • FreeCAD

Voici un second logiciel de modélisation 3D .Contrairement à OpenScade , ce logiciel ne fonctionne pas avec des codes qu’il faut importer d’un site externe. Le logiciel lui-même propose des formes prédéfinies que nous pouvons utilisés à notre guise pour former l’objet que l’on souhaite .

Comme précédemment notre mission consistait à dessiner un cube trouée sur ses 6 faces.Pour cela il suffisait en premier lieu de sélectionner notre cube puis de le trouer en utilisant l’option cut (toutes les informations sont indiquées sur les images ci-dessous )

BDA01CAE-C2FF-4878-91C9-CF37567CEBA8.jpeg

Option Cut ou Soustraction :

B0247B5B-8FB2-4B7A-A7BB-2D292B990B23.jpeg

Pour centrer notre cylindre(qui fera office de trous ) au centre des surfaces du cube : RĂ©gler la position( ou sa taille) de celui-ci en cliquant sur le cylindre dans l'onglet applications Ă  gauche .Les paramètres s’afficheront et il sera possible de rĂ©aliser les modifications voulues . 
B8A11E37-6B96-47E1-BDF4-D6A47581DD41.jpeg
Pour plus de paramètres cliquer sur l’option tâches de la fenêtre .

8F5153C5-447C-4FB7-814A-2B3897D33995.jpeg

Voici notre objet achevée et son suivi de conception à gauche sur la fenêtre .

351740FC-6E0D-4134-9310-82DB492E4294.jpeg

Projet :

SĂ©ance 4 : Conception du projet Arroseur de plante


MatĂ©riel nĂ©cessaire : 



Test capteur humidité


Pour connaître les valeurs que le capteur d'humidité dans le sol enregistre selon l'arrosage d'une plante, on a créé un programme Arduino pour prendre les données.

B30A8E7D-D62B-4E34-BC05-6DC9AEDA7E9F.jpeg

eau_test.png


Projet Perso : Pola

Objectif 

Modéliser en 2D et graver une plaque de contreplaqué pour obtenir un peigne à tisser.

Modélisation 2D

88469BCD-5DE5-420B-BA93-A4517568751F.png

E82C9292-4F80-457B-A26A-8B01053E3FD9.png

5ECFFBB1-95CF-41E0-BEE4-A44ADE131897.png

29B96424-F397-4E0E-9D12-7A69A7FC6039.png

Fichier final : 

17A078B5-7710-435E-835E-F118F8E4E7C2.png

Gravure du bois

7DB2B8FB-1B6F-4205-99BC-1885682282DC.jpeg

Bonus : au cœur de l'action .

06671686-AD12-4C70-BFBC-77ABB0FD84F8.jpeg


Projet Perso Menouha Rachel

Projet 2D

Objectif 

Modéliser en 2D ,graver un logo et ajouter des designs personnels à graver puis découper grâce à la découpe laser sur une planche en bois pour une décoration de bureau .

Modélisation 2D

Logiciel utilisé :Inkscape

J'ai décidé de graver un logo d'une série télévisé que j'aime beaucoup .J'ai copié une image du logo en question .

Voici sa source : https://ih1.redbubble.net/image.1175253289.6955/bg,f8f8f8-flat,750x,075,f-pad,750x1000,f8f8f8.u1.jpg 

Pour modĂ©liser mon image et pouvoir la graver il faut tout d'abord la copier-coller dans une page Inkscape. 

2C76EFAA-6765-4C64-BA1E-A32CA940D93D.jpeg

Une fois l'image copiĂ© cliquer dessus et sĂ©lectionner  "Vectoriser un objet matriciel"

B230F2C6-6F0B-4D2F-983F-1636075D7FC1.jpeg

Ensuite ,sur la fenêtre de gauche on a nos paramètres de vectorisation pour notre image qui s'affichent .

9F28CBF9-5069-4C6D-B9BA-B41E37621E2E.jpeg

Pour bien vectoriser notre image ,j'ai effectué quelques modifications dans les paramètres comme indiqué dans l'image ci-dessous:

2F48CD6A-3E37-4F7E-8DBC-2CD0DA21832A.jpeg

Je n'ai à présent plus qu'à appliquer la vectorisation de l'image :

902D325A-09E9-4A1A-9AD0-BE420775DB66.jpeg

Pour finaliser la vectorisation ,suivre les indications sur l'image ci-dessous:

B0F528B3-EFA1-494D-8B91-6E18471A649E.jpeg

J'ai ainsi obtenu mon image vectorisée :

En cliquant dessus et en sĂ©lectionnant l'option fonds et contours  une fenĂŞtre pour rĂ©gler les paramètres de mon image s'affiche Ă  droite .

5801F570-7868-411B-9049-6099E83B781C.jpeg

Pour régler l'épaisseur de mes contours :

BD606FB7-97C5-44A5-A063-DA936B442808.jpeg

Afin d'ajouter une touche personnelle à ma gravure j'ai décidé d' y ajouter une petite spirale .

Voici comment j'ai procédé :

92D2CD40-35AE-4609-AE28-2A52014492B3.jpeg

J'ai décidé ensuite de graver en bas à droite de mon cadre le prénom de ma petite sœur pour lui offrir la décoration finale .

Voici comment j'ai procédé :

C775A8C9-577B-43A5-8AEA-1105EB81D9DD.jpeg

J'ai ainsi obtenu ma modélisation 2D.

DĂ©coupe +Gravure Ă  la dĂ©coupe laser 

J'ai tout d'abord coller mon image sur le site Trotec Ruby .

IMG_9134.jpg


J'ai ensuite trouver du bois dans les chutes  pour dĂ©couper et graver mon design: J'ai positionnĂ© mon bout de bois dans la dĂ©coupe laser .

J'ai ensuite cadrer ma modélisation sur la plaque de bois simuler sur l'ordinateur :

IMG_9135 (1).jpg

J' ai ensuite bien placer la sortie du  faisceau de l'appareil comme indiquĂ© ci-dessous:

IMG_9136.jpg

Voici la découpe Laser en action :

Document 2_2.jpg


J'ai réussit à obtenir ma décoration !Voici ce que Ça a donné !

Document 2_1.jpg


Projet 3D

Objectif 

Concevoir puis imprimer un mini piano en 3D .

Logiciel utilisé: Tinkercad (sur Ipad)

Le logiciel est très performant et sur iPad les réglages sont rapides, car à l'aide de l'Apple Pencil et de l'écran tactile on peut facilement manier les formes et objets à notre guise afin de concevoir ce qui nous intéresse .

Modélisation 3D

Pour commencer ma création ,j'ai utilisé deux cubes dans les formes simples proposées par l'application puis je les ai réglés afin qu'ils forment les deux blocs de base de mon piano .

3A991132-71ED-4E5E-9D1F-B609C8EC733B.jpeg







SĂ©ance 5 : soudure et test de la pompe


Soudure de la pompe :


Pour rĂ©aliser la soudure ,Il faut au prĂ©alable dĂ©couper un peu de l'isolant sur les câbles auxquels on voudrait connecter le relais puis lui rajouter de l'Ă©tain fondu Ă  l'aide du fer Ă  souder. Prendre des câbles du pont et de la mĂŞme façon leur dĂ©couper un peu de l'isolant, et leur rajouter de l'Ă©tain. Souder le tout Ă  l'aide du fer Ă  souder. Enfin ,rajouter de la gaine thermo rĂ©tractable pour isoler le tout. 

D5243F00-BD2B-4BB1-8081-254B373F290A.jpeg

Impression 3 D du réservoir :


Pour l'impression du rĂ©servoir, il faut au prĂ©alable exporter notre fichier de FreeCad au format STL car sinon le logiciel d’impression IdeaMaker ne reconnaĂ®t pas le fichier. Nous nous sommes servi·es du wiki pour avoir une bonne connaissance du fonctionnement de l’imprimante et du logiciel associĂ© dans la section tutoriel. On imprime le rĂ©servoir d'eau sans le couvercle : ces deux parties ont Ă©tĂ© sĂ©parĂ©es avec l'outil cut. Cependant, notre impression a ratĂ© pour des raisons inconnues.

couverclepotplantefreecad.png


Test de la pompe :


Pour connaître les fonctionnalités et propriétés de la pompe nous nous sommes documenter sur Seeed Studio. Afin de bien tester le fonctionnement de la pompe nous l’avons brancher à une alimentation de 3 V environ. Pour notre pompe, il faut l'activer 1 minute pour avoir 100 mL

void setup() {
  pinMode(4, OUTPUT);
}


void loop() {
  digitalWrite(4, HIGH);
  delay(10000);
  digitalWrite(4, LOW);


  delay(10000);
}


89713A98-69C1-4908-B091-2431B0883F8D.jpeg



Projet perso Alexandre : 


DĂ©coupe 2D en bois


L'objectif est de modĂ©liser sur FreeCAD plusieurs pièces simples qui en s'assemblant puissent servir de support pour ordinateur ou pour un livre comme un manuel. Les diffĂ©rentes pièces sont modĂ©lisĂ©es en 2D pour ĂŞtre dĂ©coupĂ©es en bois. Pour pouvoir modĂ©liser en 2D sur FreeCAD, je me suis aidĂ© d'un tutoriel en ligne.

Pour la première étape, j'ai commencé par le plus évident en mesurant la taille de mon ordinateur en largeur et en longueur que j'ai respectivement arrondi vers le haut à 25cm et 35cm pour le support. Ainsi, il me reste de l'espace sur le support pour le lier au reste de la structure par la suite.

Capture d’écran 2023-03-04 à 17.22.59.png

Ce support se glisse sur les cĂ´tĂ©s de la structure. Sur le mode Draft, on peut dessiner des formes avec des lignes qu'on peut ensuite lier par la fonction Wire (upgrade) dans le mode Part. Les cĂ´tĂ©s rehaussent l'ordinateur d'environ 6cm Ă  un angle de 10°. Pour vĂ©rifier que le support rentre dans les cĂ´tĂ©s, on modĂ©lise un rectangle qui reprĂ©sente le support vu de cĂ´tĂ© (donc de dimension 1cm de hauteur et 25cm et quelques de largeur).

Capture d’écran 2023-03-04 à 18.19.14.png

Dans Part, on peut ainsi créer une surface avec les Wires à laquelle on soustrait (cut) le rectangle pour créer l'espace où le support sera glissé.

Capture d’écran 2023-03-04 à 18.22.27.png

Pour modéliser une structure plus solide, on peut créer des rectangles de 1cm par 1cm (Draft) et les associer au côté en les espaçant de 1cm chacun. La fonction Compound permet d'accélérer cette étape en groupant plusieurs rectangles ensemble. Le but est d'utiliser le même motif de rectangles sur ce qui servira comme base du support.

Capture d’écran 2023-03-04 à 18.31.11.png

Ainsi en utilisant la fonction Cut dans Part, les trous dans la base du support seront exactement les mĂŞmes que ceux utilisĂ©s dans les cĂ´tĂ©s de la structure. Ce modèle d'assemblage est utilisĂ© par Maker Box pour crĂ©er des structures de boĂ®te fonctionnelles. La base du support est longue de 35cm (comme le support) et est large de 29,5cm comme les arrĂŞtes Ă  dent des cĂ´tĂ©s.

Capture d’écran 2023-03-04 à 18.47.22.png

Pour créer la pièce qui bloque l'ordinateur/livre sur le support, il suffit d'utiliser un rectangle (ici 20cm de longueur et 2,5cm de largeur) auquel on soustrait un motif de rectangles comme ceux utilisés précédemment.

Capture d’écran 2023-03-04 à 18.54.52.png

On soustrait ensuite ce même motif de rectangle au support. En ajoutant quelques millimètre de marge, l'assemblage des deux pièces pourra être fonctionnel.

Capture d’écran 2023-03-04 à 19.00.51.png

La modĂ©lisation sur FreeCAD est prĂŞte. 

Capture d’écran 2023-03-04 à 19.02.54.png


Impression 3D


Mon projet en 3D est de modéliser un plectre/médiateur. Cet objet a 4 courbes et n'est en fait pas si évident à réaliser mais voici comment j'ai fait.

Tout d'abord, j'ai utilisé un cercle de 5 cm de rayon, ce sera la hauteur du plectre.

Capture d’écran 2023-03-25 à 10.57.24.png

Ensuite, j'ai utilisé des tubes de la même hauteur que mon cercle pour découper la forme du plectre. Avec l'option cut, cette partie se fait facilement. Les tubes sont placés symétriquement par rapport à l'axe x pour que le plectre soit lui aussi symétrique. Les tubes ont bien sûr la même dimension.

Capture d’écran 2023-03-25 à 11.26.12.pngCapture d’écran 2023-03-25 à 11.26.12.pngCapture d’écran 2023-03-25 à 11.26.26.pngCapture d’écran 2023-03-25 à 11.26.26.png

Le cut crée malheuresement des coins pointus donc il faut les adoucir avec la fonction fillet. Pour ça, il suffit de sélectionner l'objet sur lequel on utilise le fillet puis quelle arrête sera arrondie. Le diamètre doit être grand si l'on veut éviter des bosses sur les coins.

Capture d’écran 2023-03-25 à 11.50.34.pngCapture d’écran 2023-03-25 à 11.50.34.pngCapture d’écran 2023-03-25 à 11.50.38.pngCapture d’écran 2023-03-25 à 11.50.38.png

Après toutes les opérations, nous avons la base du plectre, mais celle-ci est plutôt fine( 1 mm ) et nécessite deux couches en plus pour ajouter de la densité.

Capture d’écran 2023-03-25 à 11.50.50.png

Pour faire la couche supplĂ©mentaire, on peut utiliser des formes gĂ©omĂ©triques et les assembler. Encore une fois, il faudra adoucir les coins avec la fonction fillet. Ici, j'ai utilisĂ© un cercle et trois rectangles. La couche supplĂ©mentaire peut ĂŞtre copiĂ©e et collĂ©e juste en dessous du plectre pour que son Ă©paisseur soit de 3 mm au moins. Il faut pour cela crĂ©er un compound avec les figures gĂ©omĂ©triques utilisĂ©es.

Capture d’écran 2023-03-25 à 21.52.15.pngCapture d’écran 2023-03-25 à 21.52.15.pngCapture d’écran 2023-03-25 à 21.52.21.pngCapture d’écran 2023-03-25 à 21.52.21.png


Pour


l'impression, il faudra prendre soin de sĂ©lectionner une Ă©paisseur assez importante pour Ă©viter toute casse du plectre (surtout en vue du support qu'il y aura). 

SĂ©ance 6: Changements drastique du projet


RĂ©servoir en PMMA


Après l'Ă©chec de l'impression 3D du reservoir et en vue du temps restant pour prĂ©senter notre projet. Nous avons dĂ©cidĂ© de simplifier quelques aspects du projet. Le rĂ©servoir d'eau prĂ©vu sera destinĂ© Ă  une plante du Fablab. 

Le pot fait 13,5 centimètres de diamètre. Le rĂ©servoir est de 18,5 centimètres en largueur et en longueur. Pour pouvoir dès Ă  prĂ©sent le construire, nous avons pensĂ© un rĂ©servoir carrĂ© qui sera calĂ© sur le pot : la face haute du rĂ©servoir tient sur le pot. Le rĂ©servoir est en PMMA. Nous avons dĂ©jĂ  dĂ©coupĂ© dans l'atelier l'extĂ©rieur de ce premier:

WhatsApp Image 2023-03-08 at 17.31.19.jpegWhatsApp Image 2023-03-08 at 17.31.20.jpeg

A la prochaine séance, nous découperons le reste de la structure de notre réservoir afin de l'adapter selon les pièces électroniques qui seront utilisés : ainsi si certaines pièces ont besoin d'être abriter de l'eau, le couvercle pourra être ajusté pour laisser passer les fils des appareils.


Programme de l'Arduino


En langage naturel, nous voulons que le code opère plusieurs opĂ©rations. Nous avons ensuite utilisĂ© Chat GPT pour traduire le code du langage naturel en code C. Des modifications ont Ă©tĂ© effectuĂ© sur celui-ci. 

mesurer le niveau d’eau du réservoir avec le Watersensor
si le réservoir est vide : 
	faire clignoter le LCD en rouge
sinon :
	mesurer le niveau d’humidité 
	si le niveau d’humidité de la plante est en dessous de 400:
      ouvrir le relai
      attendre 30 secondes 
      fermer le relai
refaire le programme toute les 24h
const int waterSensorPin = A0;
const int relayPin = 2;
const int ledPin = 3;

void setup() {
  pinMode(relayPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int waterLevel = analogRead(waterSensorPin);
  if (waterLevel < 200) {
    // Si le réservoir est vide, faire clignoter la LED rouge
    blinkRedLED();
  } else {
    // Si le réservoir n'est pas vide, mesurer le niveau d'humidité
    int humidityLevel = analogRead(A1);
    Serial.println(humidityLevel);
    if (humidityLevel < 400) {
      // Si le niveau d'humidité est faible, ouvrir le relai, attendre 30 secondes et fermer le relai
      digitalWrite(relayPin, HIGH);
      delay(60000);
      digitalWrite(relayPin, LOW);
    }
  }
  // Refaire le programme toutes les 24 heures
  delay(86400000);
}

void blinkRedLED() {
  digitalWrite(ledPin, HIGH);
  delay(500);
  digitalWrite(ledPin, LOW);
  delay(500);
}


SĂ©ance 7 : souder

WhatsApp Image 2023-03-16 at 19.10.06.jpeg

WhatsApp Image 2023-03-16 at 19.10.07-2.jpeg

WhatsApp Image 2023-03-16 at 19.10.07-3.jpeg

WhatsApp Image 2023-03-16 at 19.10.07.jpeg

WhatsApp Image 2023-03-16 at 19.10.08.jpeg

WhatsApp Image 2023-03-16 at 19.10.13.jpeg

SĂ©ance 8 : Coller et graver


Coller


Nous avons coller les morceaux de Plexi découpés lors des dernières séances. Dans la première photo, ceux sont les face intérieures qui ont été collées et scotcher autour d'un morceau de polystyrène découpé à cet usage. Dans la deuxième photo, ceux sont les face extérieures qui ont été de même collées et fixées. Ce travail a été fait avant la séance.

WhatsApp Image 2023-03-16 at 19.10.15.jpegWhatsApp Image 2023-03-16 at 19.10.14.jpeg

Pour le collage, nous avons utilisé comme colle du PMMA dissolu dans de l'acétone. Ainsi, lorsque l'acétone sèche, il ne reste que du PMMA entre les parois. Le temps de pose pour le collage est un peu long ( 6H ) mais le résultat est très satisfaisant. La structure est solide et après avoir coller les faces extérieures, intérieures et la base du réservoir, le test d'étanchéité a été réussi. Il y eu seulement un coin à corriger mais la colle empêche bien l'eau de passer.

WhatsApp Image 2023-03-21 at 10.40.42.jpegWhatsApp Image 2023-03-21 at 10.31.22.jpeg


Gravure pour la boîte de l'arduino


WhatsApp Image 2023-03-21 at 12.00.59.jpeg



Séance 9 : montage du réservoir

Le Détecteur de niveau d’eau doit avoir une partie dans l’eau (capteur )et une autre à l’extérieur (relier à l’Arduino).Pour protéger la partie non étanche de tout contact avec l'eau =la coller à l’extérieur pour qu’elle ne se mouille pas .