# Sarah Aouchiche

Sarah Aouchiche

***M1 Management de l'Innovation - FSI SU***

**<sarah.aouchiche@etu.sorbonne-universite.fr>**

##### <span style="text-decoration: underline;">Première étape: Découverte de PrusaSlicer</span>

##### <span style="text-decoration: underline;">16/12/2025:</span>

Dans le cadre de cette unité d’enseignement, cette première séance était consacrée à une découverte du prototypage numérique. Elle nous a permis de nous familiariser avec l’environnement du FABLAB, ainsi qu’avec les outils essentiels de l’impression 3D, notamment le logiciel PrusaSlicer.

Étant donné que nous étions à quelques jours de Noël, j’ai souhaité imprimer un objet en lien avec cette période festive. Mon premier choix s’est donc porté sur une boule de Noël à l’effigie du Grinch, à partir d’un fichier STL trouvé en ligne.

J’ai ensuite importé le fichier STL dans PrusaSlicer afin de régler les paramètres d’impression (taille, durée, supports, etc.) puis je l’ai exporté en G-code pour lancer l’impression.

Cependant, lors de la préparation, un message est apparu en bas de l’écran :  
« Attention : problème de stabilité de l’impression détecté ».  
N’ayant pas prêté attention à cet avertissement, j’ai tout de même lancé l’impression.

*[![Capture d'écran 2026-01-16 014137.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-01/scaled-1680-/capture-decran-2026-01-16-014137.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-01/capture-decran-2026-01-16-014137.png)*

Malheureusement, au bout d’environ 2 minutes, le fil de PLA s’est décollé du plateau, ce qui a entraîné l’échec de l’impression. J’ai donc dû arrêter la machine.

Suite à cet échec, j’ai décidé de choisir un nouvel objet avec une base plus stable afin d’éviter le même problème. Mon choix s’est porté sur un jeton de caddie en porte clef.

##### <span style="text-decoration: underline;">09/01/2026:</span>

J'ai importé le fichier STL <span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;">trouvé en ligne </span>dans PrusaSlicer. J’ai ensuite ajusté les différents paramètres:

- la hauteur de couche,
- le taux de remplissage,
- la vitesse d’impression,
- ainsi que l’orientation de la pièce sur le plateau.

[![IMG_1628 (1).jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/img-1628-1.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/img-1628-1.jpg)

<span style="text-decoration: underline;">Etape 2: </span><span style="text-decoration: underline;"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;">programme de l'aimant étoile</span></span>

J’ai réalisé un programme sur **OpenSCAD** afin de modéliser une étoile destinée à devenir une magnette pour frigo.

<div id="bkmrk-j%E2%80%99ai-d%E2%80%99abord-cr%C3%A9%C3%A9-de">J’ai d’abord créé des variables pour l’épaisseur de l’étoile et pour les dimensions de l’aimant. L’idée était de mettre tous les chiffres importants au même endroit pour pouvoir les modifier facilement sans toucher au reste du code.</div><div id="bkmrk--1"></div><div id="bkmrk--2">[![Capture d'écran 2026-03-03 122116.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/capture-decran-2026-03-03-122116.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/capture-decran-2026-03-03-122116.png)</div><div id="bkmrk--3"></div><div id="bkmrk--4"></div>Ensuite, j’ai dû créer la forme de l’étoile en 2D.  
OpenSCAD ne propose pas directement une “étoile”, donc j’ai dû comprendre comment en dessiner une moi‑même.

J’ai découvert qu’une étoile est juste une suite de points alternés : un point loin du centre (la pointe), un point proche du centre, et on répète…

Le code calcule automatiquement ces points autour du cercle :

<div id="bkmrk--5">[![Capture d'écran 2026-03-03 122319.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/capture-decran-2026-03-03-122319.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/capture-decran-2026-03-03-122319.png)</div><div id="bkmrk-par-la-suite%2C-j%27ai-t">Par la suite, j'ai transformé l'étoile 2D en étoile 3D. Pour ça, j'ai utilisé une commande que j'ai apprise: `linear_extrude`.</div>Elle prend une forme 2D et lui donne de l’épaisseur :

<div id="bkmrk--6">[![Capture d'écran 2026-03-03 122604.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/capture-decran-2026-03-03-122604.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/capture-decran-2026-03-03-122604.png)</div><div id="bkmrk--7"></div><div id="bkmrk-ensuite%2C-j%27ai-ajout%C3%A9">Ensuite, j'ai ajouté un trou pour insérer un aimant. Le but était d’intégrer un aimant à l’intérieur de l’étoile.</div>J’ai donc créé un cube aux dimensions de l’aimant, et je l’ai placé au centre.

Puis j’ai utilisé `difference()`, une commande qui permet de retirer un volume d’un autre.

<div id="bkmrk--8">[![Capture d'écran 2026-03-03 122743.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/capture-decran-2026-03-03-122743.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/capture-decran-2026-03-03-122743.png)</div><div id="bkmrk--9"></div><div id="bkmrk--10"></div><div id="bkmrk-ce-qui-au-final-m%27a-">Ce qui au final m'a donné le code suivant: </div>[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/image.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/image.png)

<span style="text-decoration: underline;">16/01/2026</span>

Lors de l’impression 3D, j’ai volontairement mis l’imprimante en pause au moment où la hauteur atteignait le niveau du logement prévu pour l’aimant. Cela m’a permis de placer l’aimant directement dans la cavité avant la reprise de l’impression. Les couches suivantes ont ensuite recouvert l’aimant, le rendant totalement intégré et invisible dans la pièce finale.

[![IMG_1081.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/scaled-1680-/img-1081.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-03/img-1081.jpg)

30/01/2026

### **Prototypage : ( avec Selma et Mélissa)**

La suite des séances avaient pour but de découvrir le prototypage en utilisant les cartes Arduino.

Plateforme expérimentale : Arduino  
Matériel principal : Arduino Uno

**1. INTRODUCTION**

Cette séance vise l’appropriation d’une plateforme de prototypage microcontrôlée par la mise en œuvre progressive de fonctions fondamentales des systèmes embarqués : génération de sorties numériques, gestion temporelle de l’exécution et interaction capteur–actionneur via acquisition analogique.

**Premier prototype :**

L’objectif est de mettre en œuvre une sortie logique afin de caractériser la commutation de potentiel sur une broche numérique et sa traduction en signal lumineux.

**Dispositif**

- Carte Arduino Uno
- LED intégrée (broche numérique 13)
- Environnement Arduino IDE

**Code**

void setup() {

<span class="Apple-converted-space"> </span>pinMode(LED\_BUILTIN, OUTPUT);

}

void loop() {

<span class="Apple-converted-space"> </span>digitalWrite(LED\_BUILTIN, HIGH);

<span class="Apple-converted-space"> </span>delay(1000);

<span class="Apple-converted-space"> </span>digitalWrite(LED\_BUILTIN, LOW);

<span class="Apple-converted-space"> </span>delay(1000);

}

**Modèle de fonctionnement**

La broche associée à LED\_BUILTIN est configurée en sortie. La boucle principale génère une onde carrée de période 2 s par alternance HIGH/LOW, correspondant à une commutation entre ~5 V et 0 V.

**Observation**

La LED présente un clignotement périodique stable, validant la correspondance entre état logique et émission lumineuse.

[![IMG_2881.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-02/scaled-1680-/img-2881.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-02/img-2881.jpeg)

**Deuxième prototype :**

**Dispositif**

- Carte Arduino Uno
- Deux LED externes
- Deux résistances de limitation de courant
- Breadboard

**Code**

void setup() {

<span class="Apple-converted-space"> </span>pinMode(13, OUTPUT);

<span class="Apple-converted-space"> </span>pinMode(12, OUTPUT);

}

void loop() {

<span class="Apple-converted-space"> </span>digitalWrite(13, HIGH);

<span class="Apple-converted-space"> </span>delay(2000);

<span class="Apple-converted-space"> </span>digitalWrite(13, LOW);

<span class="Apple-converted-space"> </span>digitalWrite(12, HIGH);

<span class="Apple-converted-space"> </span>delay(1000);

<span class="Apple-converted-space"> </span>digitalWrite(12, LOW);

<span class="Apple-converted-space"> </span>delay(500);

}

Les deux LED ne clignotent pas de manière indépendante.  
Le programme exécute les instructions l’une après l’autre à cause de la fonction <span class="s1">delay()</span>, ce qui impose un fonctionnement séquentiel.

**Observation :**

- Le contrôle de plusieurs LED fonctionne correctement.
- Les délais bloquent l’exécution du programme pendant leur durée.
- Cela montre la limite de cette méthode pour contrôler plusieurs actions en même temps. [![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-02/scaled-1680-/cxvimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-02/cxvimage.png)

**Prototype 3 :**

L’objectif est de mettre en œuvre une chaîne d’acquisition analogique et utiliser une grandeur physique (luminosité) comme variable de décision pour le pilotage d’une LED.

**Dispositif**

- Carte Arduino Uno
- Photo-résistance (LDR)
- Résistance de référence (pont diviseur de tension)
- LED + résistance
- Breadboard

**Principe**

- Lecture analogique de la tension issue du capteur
- Comparaison à un seuil expérimental
- Activation ou désactivation de la LED selon la condition lumineuse

**Code**

int capteur = A0; <span class="Apple-converted-space"> </span>// entrée analogique de la photorésistance

int led = 13; <span class="Apple-converted-space"> </span>// LED (interne ou externe)

int seuil = 500;<span class="Apple-converted-space"> </span>// seuil de luminosité (à ajuster)

void setup() {

<span class="Apple-converted-space"> </span>pinMode(led, OUTPUT);

<span class="Apple-converted-space"> </span>Serial.begin(9600); // pour voir les valeurs mesurées

}

void loop() {

<span class="Apple-converted-space"> </span>int valeur = analogRead(capteur); // lecture du capteur

<span class="Apple-converted-space"> </span>Serial.println(valeur);

<span class="Apple-converted-space"> </span>if (valeur &lt; seuil) {

<span class="Apple-converted-space"> </span>digitalWrite(led, HIGH);<span class="Apple-converted-space"> </span>// sombre <span class="s1">→</span> LED allumée

<span class="Apple-converted-space"> </span>} else {

<span class="Apple-converted-space"> </span>digitalWrite(led, LOW); <span class="Apple-converted-space"> </span>// lumineux <span class="s1">→</span> LED éteinte

<span class="Apple-converted-space"> </span>}

<span class="Apple-converted-space"> </span>delay(200);

}

**Observation**

La variation d’éclairement modifie continûment la valeur mesurée ; la LED change d’état lorsque le seuil est franchi, établissant une boucle perception–décision–action.

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-02/scaled-1680-/P2Yimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2026-02/P2Yimage.png)

Les résultats obtenus lors de ces exercices mettent en évidence la correspondance entre modèle logiciel et comportement matériel. L’usage de temporisations bloquantes simplifie l’implémentation mais limite l’indépendance temporelle des actionneurs. L’intégration d’un capteur analogique démontre la capacité du système à fermer une boucle de contrôle élémentaire dépendante de l’environnement.

<div aria-label="Page Section Options" class="pointer-container" id="bkmrk-%C2%A0-5" refs="pointer@pointer" tabindex="-1"><div class="pointer flex-container-row items-center justify-space-between p-s anim is-page-editable"><div class="flex-container-row items-center gap-s" refs="pointer@mode-section"><button class="text-button icon px-xs" title="Permalink mode, Press to show include tag"><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button><div class="input-group"> <button class="button outline icon" title="Copy Link" type="button"><svg class="svg-icon" data-icon="copy" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button></div></div><svg class="svg-icon" data-icon="edit" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></div></div>