Skip to main content

Aurélie LAMARRE

Projet 1 : Porte savon

Introduction :

  • Ce projet a débuté le 14 février 2023 et a une fin estimée fin février 2023.
  • Les objectifs sont les suivants : réaliser un porte savon en 2 parties, d'une part la grille et d'autre part le récipient. Le but est de se familiariser avec la modélisation 2D grâce au logiciel Inkscape, ainsi qu'avec la modélisation 3D en utilisant le logiciel Tinkercad. Ensuite, l'impression se fera avec le logiciel IdeaMaker et il faudra donc déterminer les bons paramètres d'impression.

Journal de bord :

Etape 1 : Modélisation 2D de la grille

Pour la grille j'ai choisi de réaliser un motif de visage de femme tracé en une ligne à la main. Pour dessiner ce motif, j'ai commencé par trouver sur Google image le dessin qui me plaisait le plus, que j'ai ensuite importé au format png dans le logiciel Inkscape. Puis, avec l'outil de dessin à main levée, j'ai repassé les traits afin de créer mon propre dessin. Une fois fait, j'ai supprimé le fichier png.

Afin de corriger certains détails qui n'étaient pas suffisamment arrondis, j'ai utilisé la fonction "Convertir les formes en chemin" afin de manipuler différents nœuds pour avoir les courbes souhaitées. J'ai ensuite mis un cadre rectangulaire autour de mon dessin, avec un rayon de 20 mm au niveau des coins, et après avoir sélectionné les deux objets, je les ai groupé. J'ai fini par régler l'épaisseur des traits ainsi que les dimensions de la grille (123x73mm). J'ai ensuite enregistré le fichier au format svg.

Etape 2 : Modélisation 3D du contenant

Ici il s'agit de procéder à la construction du contenant. Pour cela je me suis connectée sur le logiciel 3D Tinkercad.

La première étape a été d'utiliser un cube auquel j'ai mis les dimensions souhaitées (130x80x30mm). Puis, j'ai réalisé un second cube avec la fonction Perçage, aux proportions légèrement plus réduites afin de creuser le porte savon. Pour que ces deux objets soient bien alignés, je les ai tous deux sélectionnés et cliqué sur le bouton Aligner avant d'utiliser les bonnes commandes pour bien centrer ces objets. J'ai aussi donné le bon rayon de coins à la forme ayant permis de creuser le trou.

J'ai ensuite souhaité importer ma grille, mais j'ai cependant été confrontée à un problème. En effet, il se trouve que lors de mon importation le remplissage de mon motif était inversé : les lignes étaient creuses et le fond était rempli. La solution a été la suivante : je suis retournée sur Inkscape, ai enregistré mon fichier au format png avant de le réimporter sous ce nouveau format dans Inkscape. Puis, j'ai utilisé la fonction "Vectoriser un objet matriciel". Un fois fait, j'ai supprimé le motif initial pour garder seulement le nouveau format matriciel généré, avant d'enregistrer ce fichier au format svg.

Cette manipulation m'a permis d'avoir ma grille telle que je la souhaitais dans Tinkercad

Pour une question pratique j'ai finalement enlevé temporairement les rayons du trou afin de créer les supports sur lesquels la grille va reposer. J'ai crée 6 petits bâtonnets en sélectionnant la forme souhaitée sur le menu de droite (cf capture), et afin de bien les aligner j'ai une nouvelle fois utilisé la fonction Aligner. 


J'ai ensuite remis les rayons, disposé la grille sur le contenant et créé le tunnel via lequel l'eau accumulée dans le contenant pourra être vidée. Pour cela j'ai utilisé la forme cylindre, avec la fonction Perçage et je l'ai disposée comme souhaité.

Puis, j'ai souhaité apporter un élément supplémentaire en inscrivant le mot "Savon" de façon creusée sur le contenant. J'ai utilisé l'élément Texte, inscrit mon mot et utilisé la fonction Perçage avant de bien le disposer sur la paroi.

Voici le rendu final : 

Etape 3 : Choix des paramètres d'impression

J'ai exporté cette modélisation au format stl. La fenêtre d'IdeaMaker raise 3D E2 s'est ouverte. Dans le menu "tabulation" j'ai pu inscrire les paramètres d'impression : 

  • Hauteur de couche : 0,25 mm, cela me semble correct pour un projet de ce type
  • Coque : 2,5 pour que les parois soient un minimum solides
  • Densité de remplissage : 10% car les formes ne sont pas "fragiles" et ne nécessitent pas de rigidité de structure particulière.
  • Générer des supports : aucun car les objets imprimés ne sont pas trop "sensibles"
  • Aide à l'adhérence : aucun car ce n'est pas nécessaire pour les objets imprimés non plus

Etapes à venir :

Impression du porte savon



Partie 2 : 

Notes du 06/03/2023 :

  • Analogique vs numérique
  • Arduino
  • Loi d'Ohm : U = R*I
  • Dans une pile : potentiel positif et potentiel négatif, il faut que le circuit soit fermé
  • Code : digitalwrite : je vais écrire en numérique = en 0 ou 1, ou état haut et état bas
  • Ajout de led = ajout de resistance, entre 300 et 1000 Ohm
  • #define LED_A 10
    #define LED_B 8

    int compteur = 0;

    void setup()
    {
      Serial.begin(9600);
      
      pinMode(LED_A, OUTPUT); // déclaration de la pin 10 comme sortie
      pinMode(LED_B, OUTPUT); // déclaration de la pin 8 comme sortie

    }

    void loop()
    {
      Serial.print("Debut de la boucle ");
      Serial.println(compteur);
      
      digitalWrite(LED_A, HIGH);
      delay(1000); // ne rien faire pendant 1000ms
      digitalWrite(LED_A, LOW);
      delay(1000); // ne rien faire pendant 1000ms
      
      digitalWrite(LED_B, HIGH);
      delay(1000); // ne rien faire pendant 1000ms
      digitalWrite(LED_B, LOW);
      delay(1000); // ne rien faire pendant 1000ms
      
      compteur++; // incrémentation du compteur
    }

  • Bouton : valeur LOW = on a appuyé sur le bouton
  • #define BTN 8
    #define LED 10

    void setup()
    {
      pinMode(BTN, INPUT_PULLUP);
      
      Serial.begin(9600);
      
      pinMode(LED, OUTPUT); // déclaration de la pin 10 comme sortie 
    }

    void loop()
    {
      if( digitalRead(BTN) == LOW )
      {
        Serial.println("Button pressed");
        
           if(digitalRead(LED))
        {
          digitalWrite(LED,LOW);
        }
        else 
        {  
          digitalWrite(LED, HIGH);
        }  
      }  
      delay(100);
    }

  • A retenir pour la syntaxe d'une condition :
    • if(condition vérifiée) {
      • instructions()
      • }