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

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 auaux saisonsaisons 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

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 wordWord » 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’airair.

malheureusement

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

Malheureusement, lorsque nous avons Ă©crit notre premier programme, les emplacements de texte n'avaient pas bien Ă©tĂ© paramètresparamĂ©trĂ©s et les mesures s'affichaient en tout petit et tendaient Ă  se superposer. Toutefois, le programme ci-dessus prend quand Ă  lui dĂ©jĂ  en compte la taille des caractères et leur emplacement et, donc, en l'utilisant les donnĂ©es devraient s'affichaient plus grandes et bien une en dessous de l'autre .

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

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

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 suivantesuivante, ,il suffit d’entrer un code pour une forme particulière que l’on souhaite dessiner en 3 D3D (cela fonctionne aussi pour les objets en 2 D2D )pour que le logiciel la dessinedessine. .On peut trouver ce code sur : https://openscad.org/cheatsheet/ .On peut ainsi dessiner un cubecube, 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 cutCut (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 )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

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. On a ensuite insĂ©rĂ© au programme des valeurs seuils Ă  partir desquelles l'arroseur automatique devrait se mettre en route .(car plante trop sĂ©che). 

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

eau_test.png

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

SĂ©ance 5 : soudureSoudure et testTest de la pompe


Soudure de la pompe :


La première pompe que nous avions l'intention d'utiliser n'avait pas de terminaisons adaptĂ©es pour la connecter au relais .Il a fallut la souder Ă  des câbles adaptĂ©s. 

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, etpuis 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


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);
}

Voici les tests de la pompe en cours de réalisation .

Nous avons utilisĂ© une bredboard pour faciliter les branchements lors des tests .

 

SĂ©ance 6: Changements drastique du projet

SĂ©ance 6: Changements drastique du projet


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

SĂ©ance 6: Changements drastique du projet

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 : Soudures

SĂ©ance 7 : Soudures

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 : Collage et gravure

SĂ©ance 8 : Collage et gravure


Collage


Nous avons coller les morceaux de Plexi découpés lors des dernières séances. Dans la première photo, ceux sont les faces intérieures qui ont été collées et scotchées 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

Pour pallier aux problèmes d'étanchéité nous avons renforcé les liens entre nos différentes planches avec de la colle forte:

Notre réservoir est ainsi étanche :

Document 9_1.jpg

Il ne reste plus qu'à ajouter le couvercle du réservoir .


Gravure pour la boîte de l'arduino

Nous avons voulu personnalisĂ© notre Projet en nommant notre plante et en lui crĂ©ant une boĂ®te pour l’argĂĽons qui se ferme avec une gravure par dessus indiquant le nom de notre plante . 

Nous avons dessinĂ© un petit design de feuille sur Procreate : 

C1F97738-3E39-41D5-95D7-056B3B69722D.jpeg


Nous l’avons vectorisĂ© sur Inskcape , puis rajouter le nom de notre plante . 
Voici le rĂ©sultat:  

WhatsApp Image 2023-03-21 at 12.00.59.jpeg

Nous l’avons ensuite graver et dĂ©couper sur le couvercle de notre boĂ®te pour l'Arduino. 
Nous y avions Ă©galement noter nos noms mais malheureusement ceux-ci ne sont pas très bien gravĂ©s. 
Voici le couvercle final gravé:

Document 6_1.jpg

Nous nous sommes ensuite rendu compte que la boite était trop petite pour contenir l'arduino et la pompe et qu'il était plus efficace de les placer dans la même boite et le matériel utilisé ne correspondait également pas au bon ce qui a endommagé notre gravure :

Document 3_1.jpgDocument 3_2.jpg

Nous avons ainsi redimensionner notre boite et utiliser le bon matĂ©riel  :

Document 8_4.jpg

Nous avons procédé de la même manière que précédemment :

0a076937-8b9c-487b-b32f-a73bb595cd2b.jpg

Séance 9 : Montage du réservoir

Séance 9 : Montage du réservoir



Programme final du réservoir : (le temps au bout duquel le mécanisme se réactive est mis a 1s pour des raisons de démonstration, mais la valeur conseillé pour une utilisation réelle est de 24h, la valeur en millisecondes est indiqué dans les notes entre parenthèses)

// Librairies pour fonctionner la barre de LED
#include "Adafruit_NeoPixel.h"
#ifdef __AVR__
#include <avr/power.h>
#endif



//Toutes les constantes utilisés dans le programme
#define EAU  A1
#define RELAIS  A3
#define LED  A0
#define HUMIDITE  A2
#define TEMPS  10000 // temps au bout duquel le mécanisme se réactive (86400000)
#define TEMPS_RELAIS  30000 // temps d'ouverture du relais en ms 1min <=> 100 mL d'eau

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(10, LED, NEO_GRB + NEO_KHZ800);

//Fonctions utilisés dans le programme
void LED_verte() { //Allumer la barre de LED en vert
  for (int i = 0; i < 10; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 255, 0));
    pixels.show();
  }
}

int LED_rouge(int temps){ //Faire clignoter la barre de LED en rouge
  for (int j = 0; j < (temps / 1000); j++) {
    
    for (int i = 0; i < 10; i++) {
      pixels.setPixelColor(i, pixels.Color(255, 0, 0));
      pixels.show();
    }
    delay(500);

    for (int i = 0; i < 10; i++) {
      pixels.setPixelColor(i, pixels.Color(0, 0, 0));
      pixels.show();
    }
    delay(500);
  }
}


//Programme principal
void setup() {
  pinMode(RELAIS, OUTPUT);
  digitalWrite(RELAIS, LOW);
  
  pixels.setBrightness(255);
  pixels.begin();
}

void loop() {
  int niveau_eau = analogRead(EAU);

  // Si le réservoir est vide, faire clignoter la LED rouge
  if (niveau_eau > 800) {
    LED_rouge(TEMPS);
    
  } 

  // Si le réservoir n'est pas vide, mesurer le niveau d'humidité
  else {
    LED_verte();
    int niveau_humid = analogRead(HUMIDITE);
    
    // Si le niveau d'humidité est faible, ouvrir le relai, attendre TEMPS_RELAIS et fermer le relai
    if (niveau_humid < 400) {
      digitalWrite(RELAIS, HIGH);
      delay(TEMPS_RELAIS);
      digitalWrite(RELAIS, LOW);
      delay(TEMPS - TEMPS_RELAIS) ;
    }
  }
}

On as placé le capteur d'eau dans le réservoir, qu'on cale avec de la colle chaude :

fbaa4785-2a57-4bf1-8744-d9bb72001ff6.jpg

On as fini d'étanchéifier, le réservoir avec de la colle chaude.

bb68f3ba-5789-4320-9184-f28e1afd9352.jpg

Des dernières impressions 3D, on été réalisé pour améliorer le projet. Il s'agit d'un entonnoir pour améliorer le versement de l'eau dans le réservoir, et d'une partie pour aider le tuyau à se planter dans le sol.Screenshot 2023-04-03 10.02.39.png

Le projet est donc finie :

b2b468b0-0f71-42dd-9d70-5fdb1897ec66.jpg

b7a3b128-1a05-48de-a596-427b37960b4d.jpg

387c2203-cacd-4878-8e63-8acee354b259.jpg


Projets personnels :

Projet perso Pola

Projet Perso : Pola

Projet 2D : 

Objectif 

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

ModĂ©lisation 

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

metier-a-tisser.svg

Gravure du bois

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

Bonus : au cœur de l'action .

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


Projet 3D : 

Objectif 

Modéliser puis réaliser un organisateur d’aiguilles à tricoter. ( Sachant qu'il y as 5 aiguilles de 2 mm de diamètre, 10 aiguilles de 2,5 mm de diamètre, 5 aiguilles de 3 mm de diamètre, 5 aiguilles de 3,5 mm de diamètre et 5 aiguilles de 4 mm de diamètre). Le séparateur sera ensuite collé sur une plateforme avec des trous pour pouvoir être cousus sur une pochette, pour rendre le tout pratique.

ModĂ©lisation 

Screenshot 2023-03-25 15.59.33.png

Screenshot 2023-03-25 16.37.13.png

Screenshot 2023-03-25 21.11.02.png

organisateur.stl


Impression 3D


Projet Perso Menouha Rachel

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.

Voici le fichier :

Gravure Dessin 2D.svg

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ées afin qu'elles forment les deux blocs de base de mon piano .

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

J'ai ensuite rattaché les deux blocs afin que mon objet ressemble plus à un piano .

J'ai également ,en utilisant encore une fois un cube réalisé la première pédale de mon petit piano :

Voici ce que ça a donné :

01071A87-7E40-4E52-9E36-E5D1394DCF0B.jpeg

Afin de ne pas perdre de temps à refaire deux autres pédales j'ai utilisé l'option collage comme expliqué dans l'image ci-dessous :

68EB789C-4D95-4F78-AB94-CED3139A68FA.jpeg

J'ai obtenu ceci:

IMG_9006.jpg

J'ai ensuite vidé mon cube noire servant de support au clavier du piano afin de pouvoir créer les touches de mon piano et les y placer :

Pour cela je me suis servie de l'outil vider un élément :

IMG_9007.jpg

J'ai obtenu ceci :

IMG_9009.jpg

J'ai ensuite commencé à réaliser mon clavier :

Pour cela j'ai créé des blocs de touches blanches que je copiais collais un à un en les sélectionnant en bloc .

IMG_9041.jpg

Pour déplacer et modifier la taille et le position des éléments il suffit de se servir des petites flèches qui s'affichent autour de notre objet quand on le sélectionne .

05431EE3-6266-495D-8089-7E540C2E2230.jpeg

J'ai procédé de la même manière pour les touches noires .

IMG_0816.jpg

J'ai ainsi obtenu mon clavier :

J'ai également ajouté 2 cubes pour les bords de mon piano :

IMG_9050.jpg

Me rendant compte que le cube vidĂ© rendait difficile mes manipulations avec l'Apple Pencil j'ai pensĂ© qu'il serait plus simple d'utiliser simplement  un support de clavier noire Ă  l'aide d'un cube que j'ai aplati :

J'ai ensuite rallier le clavier au piano :

Voici le résultat final de ma conception 3D:

IMG_9051.jpg


Impression 3D 

J'ai tout d'abord exporté mon fichier au format stl puis enregistrer sur ma clé USB :

Le voici ci-joint :

J'ai branché ma clé à l'ordinateur de la salle d'impression 3D .

J'ai ouvert mon fichier dans le logiciel Idea Maker :

IMG_9080.jpg

Imprimer l'objet ainsi risque de ne pas bien fonctionner du aux supports nécessaires :

J'ai décidé de le renverser afin que moins de support soit nécessaire :

Pour cela ,j'ai utilisé l'outil rotation :

IMG_9082.jpg

J'ai ensuite configuré les paramètres de mon impression afin de régler la hauteur de couche ,le pourcentage de remplissage ...de mon objet :

IMG_9083.jpg

J'ai ensuite décidé d'estimer le résultat de mon impression :

IMG_9084.jpg

J'ai ensuite choisi une imprimante ,sĂ©lectionnĂ© un fil que j'ai choisi (orange )et j'ai lancĂ© mon  impression :

Voici l'imprimante en action :

IMG_9077.jpg

IMG_9079.jpg

Voici mon objet finalement imprimé :

06013EF9-14FF-4546-82C6-E52F04F89657.jpeg



Projet perso Alexandre :

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

WhatsApp Image 2023-03-31 at 15.48.57.jpeg

Voici le rendu final après la découpé Freecad m'a joué des tours, des ajustements sur la structure ont dû être fait mais sinon le principe reste le même.

Au lieu d'avoir la base de l'ordi qui se glisse dans les deux autres planches, celle-ci s'emboîte dans les deux équerres sur le côté. J'ai aussi rajouter deux planches qui s'emboîtent avec les deux équerres pour rajouter de la stabilité à l'objet. J'ai aussi rajouter de la colle chaude pour remplir les trous.

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.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.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.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). 

WhatsApp Image 2023-03-31 at 18.19.30.jpeg

Voici le rĂ©sultat final ! 

Malheureusement, les dimensions surtout la hauteur ne sont plus homogènes à l'impression. Cependant, le plectre fonctionne et ne casse pas, finalement cela le rend plus joli !