Skip to main content

Projet_prototypage_groupe_Haji_Hamoudi_Ben Aboubou

MU5MN045 - PROTOTYPAGE - 2024/2025

ImĂšne HAMOUDI & Wissal HAJI & Omayma BEN ABOUBOU

PREMIERE SEANCE - ARDUINO - Vendredi 07 Février 2025
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

Capture d’écran 2025-02-07 à 11.24.16.png
------
#define LED 6

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED as an output.
pinMode(LED, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Capture d’écran 2025-02-07 à 11.24.04.png
----
#define BOUTON 2

void setup() {
pinMode(BOUTON,INPUT);
Serial.begin(9600);
}

void loop() {
int etat_bouton = digitalRead(BOUTON);

if (etat_bouton == 1){
Serial.println("Bouton pressé");
}

delay(100);
}
Capture d’écran 2025-02-07 à 11.42.40.png
Capture d’écran 2025-02-07 à 11.44.49.png
-----
#define POT A0

void setup() {
pinMode(POT,INPUT);
Serial.begin(9600);
}

void loop() {
int valeur = analogRead(POT);
Serial.print("valeur du potentiomĂštre : ");
Serial.println(valeur);


delay(2000);
}
Capture d’écran 2025-02-07 à 11.59.07.png
Capture d’écran 2025-02-07 à 12.00.10.png
----
documentation capteur

#include "Seeed_SHT35.h"
#define LED 6

/*SAMD core*/
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SDAPIN 20
#define SCLPIN 21
#define RSTPIN 7
#define SERIAL SerialUSB
#else
#define SDAPIN A4
#define SCLPIN A5
#define RSTPIN 2
#define SERIAL Serial
#endif

SHT35 sensor(SCLPIN);


void setup() {
pinMode(LED, OUTPUT);
SERIAL.begin(115200);
delay(10);
SERIAL.println("serial start!!");
if (sensor.init()) {
SERIAL.println("sensor init failed!!");
}
delay(1000);
}


void loop() {
u16 value = 0;
u8 data[6] = {0};
float temp, hum;
if (NO_ERROR != sensor.read_meas_data_single_shot(HIGH_REP_WITH_STRCH, &temp, &hum)) {
SERIAL.println("read temp failed!!");
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
} else {
SERIAL.println("read data :");
SERIAL.print("temperature = ");
SERIAL.print(temp);
SERIAL.println(" ℃ ");
if (temp >= 20){
digitalWrite(LED, HIGH);
}

SERIAL.print("humidity = ");
SERIAL.print(hum);
SERIAL.println(" % ");

SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
}
delay(1000);
}
Capture d’écran 2025-02-07 à 15.04.28.png

L'objectif du projet est de mesurer la tempĂ©rature et l'humiditĂ© Ă  l'aide du capteur et d'effectuer des actions en fonction des valeurs obtenues.

  • Si la tempĂ©rature dĂ©passe 20°C, un servo-moteur tourne progressivement.
  • Si l'humiditĂ© dĂ©passe 30%, une LED s'allume.
  • Les donnĂ©es de tempĂ©rature et d'humiditĂ© sont affichĂ©es sur le moniteur sĂ©rie.

#define LED 6
#include "Seeed_SHT35.h"
#include <Servo.h>
int pos = 0;
Servo myservo;

Ce bloc initialise le projet en dĂ©finissant les composants nĂ©cessaires. La ligne #define LED 6 assigne la broche 6 Ă  une LED qui s'allumera en fonction de l'humiditĂ©. Ensuite, les bibliothĂšques Seeed_SHT35.h et Servo.h sont incluses pour gĂ©rer respectivement le capteur de tempĂ©rature/humiditĂ© SHT35 et le servo-moteur. On dĂ©clare aussi une variable pos pour contrĂŽler l'angle du servo et on crĂ©e un objet myservo pour l'utiliser dans le programme.

/*SAMD core*/
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SDAPIN 20
#define SCLPIN 21
#define RSTPIN 7
#define SERIAL SerialUSB
#else
#define SDAPIN A4
#define SCLPIN A5
#define RSTPIN 2
#define SERIAL Serial
#endif

Ce bloc de code adapte le programme en fonction du modĂšle de carte Arduino utilisĂ©. Si une carte SAMD est dĂ©tectĂ©e (comme une Arduino MKR1000 ou Zero), alors les broches I2C (SDA = 20, SCL = 21) sont configurĂ©es en consĂ©quence et la communication sĂ©rie se fera via SerialUSB. Pour une carte classique comme une Arduino Uno ou Mega, les broches utilisĂ©es sont A4 pour SDA et A5 pour SCL, et la communication sĂ©rie passe par Serial.

SHT35 sensor(SCLPIN);


void setup() {
myservo.attach(9);

pinMode(LED, OUTPUT);
SERIAL.begin(115200);
delay(10);
SERIAL.println("serial start!!");
if (sensor.init()) {
SERIAL.println("sensor init failed!!");
}
delay(1000);
}

Dans la fonction setup (), on initialise le matĂ©riel. La ligne myservo.attach(9); relie le servo-moteur Ă  la broche 9. Ensuite, pinMode(LED, OUTPUT); configure la LED en mode sortie pour qu’on puisse l’allumer ou l’éteindre selon l’humiditĂ© mesurĂ©e. La communication sĂ©rie est Ă©tablie avec une vitesse de 115200 bauds pour afficher les donnĂ©es sur le moniteur sĂ©rie. Ensuite, sensor.init() initialise le capteur SHT35, et si l’initiation Ă©choue, un message d’erreur "sensor init failed!!" est affichĂ©. Enfin, un delay(1000); ajoute une pause d'une seconde avant d'entrer dans la boucle principale.


void loop() {
u16 value = 0;
u8 data[6] = {0};
float temp, hum;

Dans la fonction loop(), plusieurs variables sont dĂ©finies pour stocker les mesures du capteur. temp et hum sont des variables float qui enregistreront la tempĂ©rature et l’humiditĂ© respectivement. Les variables value et data[6] sont dĂ©finies mais ne sont pas utilisĂ©es, elles peuvent donc ĂȘtre supprimĂ©es sans affecter le fonctionnement du code.


if (NO_ERROR != sensor.read_meas_data_single_shot(HIGH_REP_WITH_STRCH, &temp, &hum)) {
SERIAL.println("read temp failed!!");
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
} else {

Cette partie de la boucle loop() tente de lire les donnĂ©es du capteur SHT35 en effectuant une mesure unique avec sensor.read_meas_data_single_shot(). Si la lecture Ă©choue (NO_ERROR n'est pas retournĂ©), un message "read temp failed!!" est affichĂ©, et le programme passe Ă  l’itĂ©ration suivante de la boucle sans exĂ©cuter les actions dĂ©pendantes des mesures.



SERIAL.println("read data :");
SERIAL.print("temperature = ");
SERIAL.print(temp);
SERIAL.println(" ℃ ");

Si la lecture du capteur est rĂ©ussie, on affiche la tempĂ©rature mesurĂ©e sur le moniteur sĂ©rie. "temperature = " est imprimĂ© suivi de la valeur de temp, exprimĂ©e en degrĂ©s Celsius ("℃"). Cela permet de surveiller en temps rĂ©el les variations de tempĂ©rature mesurĂ©es par le capteur.


if (temp >= 20){
for (pos = 0; pos <= 360; pos += 1) {
myservo.write(pos);
delay(10);
}
}

Si la tempĂ©rature dĂ©passe 20°C, le servo commence Ă  tourner progressivement. ProblĂšme : la commande myservo.write(pos); permet de donner une position au servo, mais la plupart des servos standards ne peuvent tourner que de 0 Ă  180°. La valeur 360 est donc incorrecte et doit ĂȘtre remplacĂ©e par 180 :


SERIAL.print("humidity = ");
SERIAL.print(hum);
SERIAL.println(" % ");
if (hum > 30){
digitalWrite(LED, HIGH);
}
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
}
delay(1000);
}

Capture d’écran 2025-02-07 à 16.01.29.png


 

Capture d’écran 2025-02-07 à 16.04.44.png

PROJET DE CREATION DE PRODUIT - Vendredi 07 Mars 2025

Consigne : 

Ce wiki décrit le processus de modélisation et d'impression d'un objet en 3D, de la conception à la fabrication. L'objectif est de créer un objet, qu'il soit fonctionnel ou esthétique, en suivant les étapes clés du processus de fabrication additive.

Nous avons suivi une sĂ©ance de formation sur Tinkercad et PrusaSlicer le Lundi 03 Mars 2025, oĂč nous avons appris les bases de la modĂ©lisation et de la prĂ©paration Ă  l'impression. Ce projet est donc une mise en pratique de cette formation.

Choix : Cactus Porte-ClĂ©s

Ce porte-clĂ©s en forme de cactus est conçu pour ĂȘtre placĂ© Ă  l'entrĂ©e d'une habitation. Il permet d'accrocher plusieurs clĂ©s grĂące Ă  ses bras en forme de crochets. Sa base assure une bonne stabilitĂ© sur une surface plane.

prototype 3G.png

        figure 1 : inspiration 

ModĂ©lisation de la piĂšce : 

La modĂ©lisation est rĂ©alisĂ©e Ă  l'aide du logiciel Tinkercad. Plusieurs captures d'Ă©cran du modĂšle avec les dimensions seront insĂ©rĂ©es pour illustrer le processus.

Etapes suivies 

  1. Esquisse : DĂ©finition des dimensions et de la gĂ©omĂ©trie de base du cactus et de sa base.

  2. Extrusion et mise en volume : Transformation de l'esquisse en un objet 3D, avec l'ajout des crochets pour les clĂ©s.

  3. DĂ©tail et optimisation : Ajout de rainures esthĂ©tiques et optimisation de la forme pour une impression stable.

  4. Exportation : Sauvegarde du fichier au format STL

 

 

WhatsApp Image 2025-03-06 at 21.32.49.jpeg.           WhatsApp Image 2025-03-06 at 21.32.20.jpeg

WhatsApp Image 2025-03-06 at 21.33.15.jpeg                   WhatsApp Image 2025-03-06 at 21.33.42.jpeg                           

figure 2 : ModĂ©lisation Tinkercad  

PrĂ©paration Ă  l'impression : 

La prĂ©paration a Ă©tĂ© rĂ©alisĂ©e avec PrusaSlicer. Des captures d'Ă©cran du slicer seront ajoutĂ©es pour illustrer les rĂ©glages.

ParamÚtres utilisés

  • Slicing : Transformation du modĂšle en instructions pour l'imprimante.

  • RĂ©glage des paramĂštres :

    • Hauteur de couche : 0.2 mm

    • Remplissage : 20%

    • TempĂ©rature d'extrusion : 200°C (PLA)

    • TempĂ©rature du plateau : 60°C

    • Vitesse d'impression : 50 mm/s

    • Supports : Aucun (malgrĂ© plusieurs Ă©checs, ils n'ont pas permis d'amĂ©liorer l'impression)

    • AdhĂ©rence au plateau : Jupe ou bordure non activĂ©e

  • GĂ©nĂ©ration du G-code : Enregistrement du fichier prĂȘt Ă  l'impression.

  • Le temps d'impression estimĂ© est de 1h56 en mode normal.


        WhatsApp Image 2025-03-06 at 22.04.21.jpeg   WhatsApp Image 2025-03-06 at 22.04.36.jpeg

figure 3 : Aperçu des rĂ©glages sur Pruseslicer 

Impression : 

WhatsApp Image 2025-03-05 at 14.53.39.jpeg                 WhatsApp Image 2025-03-05 at 14.38.09.jpeg

 

WhatsApp Image 2025-03-05 at 14.38.11 (1).jpeg                    WhatsApp Image 2025-03-05 at 14.53.38 (1).jpeg

 

WhatsApp Image 2025-03-06 at 16.36.14.jpeg

figure 4 : Images de l'imprimante en fonctionnement

89002235-jeu-vidéo-symbole-icône.jpg

VidĂ©o de l'impression en cours 

👉 LIEN VIDEO IMPRESSION 3D

ProblÚmes rencontrés

Nous avons subi plusieurs Ă©checs d'impression (5 au total). L'imprimante a dĂ©tectĂ© un filament coincĂ©, ce qui a gĂ©nĂ©rĂ© un message d'erreur et stoppĂ© l'impression.

WhatsApp Image 2025-03-06 at 10.01.53.jpeg                              WhatsApp Image 2025-03-06 at 10.01.53 (1).jpeg

figure 5 : Tentatives d'impression qui ont échoué

Axes d'amélioration

  • Ajout d'un support pour stabiliser la piĂšce → Échec

  • Assistance du personnel du FabLab pour diagnostiquer le problĂšme → Toujours des erreurs

  • DerniĂšre tentative en cours avec un doublement des dimensions : La piĂšce est actuellement en impression, nous attendons de voir le rĂ©sultat → Échec. 

 

Découpage Laser [Boite à bijoux gravée] - Lundi 31 mars 2025
Objectif 

Notre objectif est de concevoir un objet à l'aide du découpage laser, en y ajoutant une gravure. En tant qu'équipe de jeunes femmes passionnées par les bijoux, nous avons décidé de créer une boßte à bijoux pour les ranger de maniÚre élégante et pratique.

INSPIRATION

IMG_9384.jpg

 

RĂ©alisation 

Nous avons utilisĂ© le site Festi.info pour rĂ©cupĂ©rer un modĂšle de boĂźte et ajuster ses paramĂštres selon nos besoins. AprĂšs avoir dĂ©fini les dimensions et autres rĂ©glages, nous avons exportĂ© le fichier au format .svg.

image.png

Ensuite, nous avons importĂ© ce modĂšle dans Inkscape afin de prĂ©parer la gravure. 
Afin d’obtenir un tracĂ© prĂ©cis, nous avons vectorisĂ© l’écriture en utilisant la fonction "Contour en chemin".
Cette Ă©tape nous a permis d'obtenir une gravure nette et dĂ©taillĂ©e, prĂȘte pour la dĂ©coupe laser.

image.png

RĂ©sultat final : 

IMG_9379.jpgIMG_9378.jpg

 

6761951E-9985-483D-8837-7B2261907934.JPG

▶▶▶ LIEN VIDEO DECOUPE LASER

PROJET FINAL : BoĂźte Ă  bijoux lumineuse - Avril 2025

Introduction & choix du projet

Notre objectif Ă©tait de concevoir un objet personnalisĂ© en combinant plusieurs techniques de fabrication numĂ©rique : dĂ©coupe laser, impression 3D et Ă©lectronique programmable -Arduino.

Au dĂ©marrage du projet, nous avons explorĂ© plusieurs pistespour enrichir notre boĂźte Ă  bijoux :

  • Option 1 : intĂ©grer un Ă©clairage LED automatique Ă  l'ouverture de la boĂźte,

  • Option 2 : ajouter un systĂšme de diffusion musicale qui se dĂ©clencherait Ă  l'ouverture.

AprĂšs rĂ©flexion, nous avons dĂ©cidĂ© d’opter pour l'Ă©clairage LED pour plusieurs raisons :

  • D'un point de vue technique, l'intĂ©gration des LEDs est plus simple et moins encombrante qu'un module sonore.

  • L’esthĂ©tique : la lumiĂšre apporte une ambiance chaleureuse, mettant en valeur les bijoux Ă  l’intĂ©rieur de la boĂźte.

  • La simplicitĂ© d'usage : une lumiĂšre douce est discrĂšte et ne dĂ©range pas l’utilisateur contrairement Ă  une musique automatique qui pourrait devenir gĂȘnante. Les LEDs sont mĂȘme particuliĂšrement utiles pour retrouver facilement ses bijoux la nuit, sans avoir besoin d’allumer une grande lampe ou l’éclairage principal de la piĂšce.

Ainsi, notre choix s’est  orientĂ© vers une solution qui sublime l’objet tout en amĂ©liorant l’expĂ©rience pratique pour l’utilisateur au quotidien.

Réalisation de la boßte à bijoux via découpe laser

 

Conception et montage du circuit Ă©lectrique 

1. Capteur Ultrason HC-SR04
  • VCC â†’ 5V Arduino

  • GND â†’ GND Arduino

  • TRIG â†’ Pin 9 Arduino

  • ECHO â†’ Pin 10 Arduino

2. Ruban LED RGB 5050
  • VCC â†’ 5V Arduino (ou alimentation externe si beaucoup de LEDs)

  • GND â†’ GND Arduino

  • Data IN â†’ Pin 6 Arduino

Liste des composants : 

  1. Arduino Uno

  2. Capteur Ultrason HC-SR04

  3. Ruban LED RGB 5050 

  4. CĂąbles de connexion

WhatsApp Image 2025-04-04 at 15.31.03.jpegWhatsApp Image 2025-04-04 at 15.31.03 (1).jpeg  

 

 WhatsApp Image 2025-04-04 at 16.14.31.jpegWhatsApp Image 2025-04-04 at 16.33.06.jpeg

Lien Vidéo Ouverture Boßte

Lien VidĂ©o tests LEDs 

Fabrication de la plaque en impression 3D

 

WhatsApp Image 2025-04-11 at 14.33.31.jpegWhatsApp Image 2025-04-11 at 14.33.31 (1).jpeg

WhatsApp Image 2025-04-11 at 14.33.31 (2).jpegWhatsApp Image 2025-04-11 at 14.33.32.jpeg

 

WhatsApp Image 2025-04-11 at 14.24.49.jpeg

WhatsApp Image 2025-04-11 at 14.17.10.jpeg

 

Conclusion