Skip to main content

Groupe B4

Nom et Prénom: Emile WHEWELL Paul BELLENGER Lucien FIQUET Gabriel WERNAIN

Cursus: CMI-PHY-B

Séance 1

Pour notre Première séance du Projet FabLab consistait à nous faire découvrir les lieux, nous avons notamment visité les différentes salles. Il y avait la salle à imprimantes 3D, la salle à Menuiseries, la salle électronique et la salle à découpe. Notre professeur Vincent Dupuis nous a aussi expliqué l’origine du FabLab mais aussi le déroulement des séances lors de ce semestre.

WhatsApp Image 2024-02-04 at 22.05.05_f4dccf3a.jpgSalle à imprimantes 3D

WhatsApp Image 2024-02-04 at 22.05.04_dfe94c6a.jpgHall Principale

WhatsApp Image 2024-02-04 at 22.05.04_a8e7fa89.jpgCôté détente

Séance 2

Durant cette séance, on a appris à utiliser de nouveaux moyens de conceptions grâce à des logiciels de modélisations (Inkscape, OpenScad, Freecad,...) pour s'en servir afin de concevoir des objets avec l'aide d'imprimante 3D.

En effet, de la modélisation logicielle au fonctionnement de l'imprimante et de ses paramètres, Vincent Dupuis nous a tout passé en revue. 

Dans un premier tps nous avons pris en main un logicie, s'appelant: inkscape

C'est un logiciel open source, nous garantissant ainsi de ce forme sur un logiciel qui existera pour toujour, ce qui est bien pratique car nous serons probablement amené a réutiliser ce logiciel pendant nos 5 ans a la fac voir nos 8 ans si comme dans mon cas on souhaite faire un doctorat. Je précisse pour ne plus avoir a le pressise mais tout les logiciels qui vont être présente par la suite sont open source. En effet, notre professeur nous a fait vivement la recommzndatio' des logiciels open source, qui sont d'après lui mieux par leur plus long expérience de vie, et par le faite qui ne récupère pas vos données personnelles. (Sans lien reel avec le cours, mais par la suite j'ai cherché des logiciels de note open source comme j'ai été convaincu par mon professeur, et il existe joplin si jamais cela vous intéresse)


Par la suite on a pris un main un logiciel, nommé Openscad que j'ai grandement apprécié mais comme tout notre classe a vrai dire. En effe, c'est un logiciel de dessin trois d,sauf que contrairement au logiciel de dessin trois d, il marche comme un logiciel de programmation ! Ce qui fait qu'il est très simple a prendre en main !!!


Après ça on a pris en main un autre logiciel de dessin trois d, FreeCAD, mais cette fois a mon titre personnel je le trouve bcp moins pratique. En effet, il ressemble plus a un logiciel de trois 3 classique, sans la programmation. Même si notre proffesseur nous a affirmé qu'on pouvait programmer en 3 d aussi dessus.


Pour finir la scéance on a eu des explications sur comment marche les inproment 3 d ainsi que sur comment marche les ducupeuse laser.es decupeusz laser sont d'une rapidité c'est bluffant! On a eu un demo, mais pas tps de voir grand chose car elle découpait ce qu'on lui demandai en moins de 10s !!!
IMG20240205121056.jpg

(Impression 3D d'un projet)

Séance 3

Lors de cette séance, nous avons eu un premier contact avec des technologies "emportées", à savoir des cartes arduino. Nous avons dû apprendre à effectuer des programmes basiques sur celles-ci, comme les faire clignoter.

Dans ce cours nous avons vu dans un premier temps, comment marchait les cartes arduino. Après nous avons vu le plus interessant comment les programmées. Ce qui est fascinant car cela peut nous permettre de le faire cher nous et de nous faire notre propre projet tout seum moyennent en achète une. Vu que comme dans le dernier cours le logiciel arduino et open source, donc pas besoin d’acheter lorsque logiciel de programmation.

De plus, on a vu comment utilisé les impriments 3d dans le cadre du fablab a Sorbonne université. Et certain on profité de cela pour lancer leur propre impression de lors objet qu’il avait réalisé, sur les logiciels qu’on avait vu au dernier cours.

                                     Séance 4

Durant cette séance, nous avons commencé à chercher notre projet. Nous avons opté pour une sorte de détecteur de force qui relache quelque chose à partir d'un seuil. Nous avons donc fait une sorte de prototype sur papier et avons testé le capteur à force avec l'arduino. Il nous reste à comprendre les unités de ce capteur car celle-ci ne sont pas en SI.

En effet, ci-dessous est un prototype de notre appareil. Nous pensions avoir 3 partie dans notre appareil, le capteur, l'arduino et un reservoir qui relache une chose quelconque.

IMG_0404.jpg

Pour le capteur, nous avons chercher sur internet le code permettant de l'utiliser.

/* How to use a Force sensitive resistor to fade an LED with Arduino
   More info: http://www.ardumotive.com/how-to-use-a-force-sensitive-resistor-en.html
   Dev: Michalis Vasilakis // Date: 22/9/2015 // www.ardumotive.com  */

//Constants:
const int ledPin = 3;     //pin 3 has PWM funtion
const int sensorPin = A0; //pin A0 to read analog input

//Variables:
int value; //save analog value


void setup(){
    
  pinMode(ledPin, OUTPUT);  //Set pin 3 as 'output'
  Serial.begin(9600);       //Begin serial communication

}

void loop(){
  
  value = analogRead(sensorPin);       //Read and save analog value from potentiometer
  Serial.println(value);               //Print value
  value = map(value, 0, 1023, 0, 255); //Map value 0-1023 to 0-255 (PWM)
  analogWrite(ledPin,255-value);          //Send PWM value to led
  delay(100);                          //Small delay
  


Séance 5

Durant cette séance, nous avons en quelque sorte finalisé le(le) notre prototype nous(de permetantplaque pour permettre de mesure le poidposer des objets.objets Enet effet, pourles faireemesurer) de notre minebalance. nous(Nous avons faisaussi facecommencé aà conceptionner notre boite via l'imprimante 3D.)

On peut voir ci-dessous un problem,schéma le catpeur ne mesurait pas correctement le poud des objet. C'etait notament du ade la surface duversion capteurfinale. quiOn est toute petit ce qui entraineremarquera que lorsqque l'on voulais pesé les objets une partie de l'objet prenais appuis sur a la fois le capteur mais aussi sur le support sur le quel etait posé le capteur ce quitrouve entrainaisen pourbas nousdu cylindre. Ceci permet d'après nos expériences d'avoir une mauvaisemesure mesure.plus POurprécise. palierEn aeffet, cele problemepilier nousayant avonsun doncdiamètre decidéexactement égale au diamètre du capteur, il permet de trouvemettre untout pilierle quipoids fait pile la taille du capteur pour pouvoir poséde l'objet sur cele piliercapteur et ensuitedonc posede réellement capté tout le pilierpoids surde lel'objet. cpateur

qui

*IMG_0406.jpg

lui

Vu contrairementqu'on rappel que notre objet n'est pas une simple balance mais un mine ! Nous avons voulu rajouter a notre projet un moteur pour pouvoir éjecter a l'objetaide prendraisd'une appuishélice quedes surconfettis. Pour cela nous sommes aller dans un premier temps chercher des moteurs dans le capeurfablab etpour nonvoir sursi leil supportpossédait dudes capteur.moteurs Cependantsusceptible dansde cettenous sceanceintéressé. 

Dans un premier temps nous avons decide de ne pas lancer l'impression detrouvé ce piliermoteur cette sceance mais de la lancer pendant l'entre sceance 5 et 6. En effet, pour cette sceance nous avions un feutre sous la main qui reussi a correctement remplie le cahier des charge du piler sans necessité le temps dd'impression du pilier. (pour les lecteurs attentif qui ce demende pourquoi un pilier et pas une piece faisait la taille du capteur au niveau de la base mais avec une faible hauteur? La reponse est simple, nous projetons de mettre ce pilier dans la boite, or la boite sera haut il faut donc un pilier a ca hauteur !)

Pendant cette sceance nous avons aussi, mis de l'ordre dans nos idée a propos de comment nous devrions arranger les composant de notre mine dans ca boite. Voici si dessous un schema de notre idée:


IMG_0406.jpg


:

 

Je pense qque les plus aguerie  vu que sur notre schema il y a un compartiment pour relacher quelque chose, le fameux "reservoir" ( en bvas a droite). Ceependant qui dit quelque chose a rejter dit mecanisme qui permet d'expule quelque chose ! ET nous avons pensez a deux chose: soit un systemen daiment qui tiendrais ferme une trap et qui pourrais souvrir grave a un courant electrique. ou et c'est cette idee qui a a ete garde un moteur qui ferai tourner une helice nous permetant d'ejecter des confetie grace a la force elolienne. Pour faire cela nous avons donc cherche quel moteur il y avait dans le fablab. 

Notre premier choix etait un moteur assez gros mais qui nous garrentissait une grande puissance et donc de bien ejecte nos confetie. Cependant nos reves ce sont bien vite envole, et oui helas pour que ce moteur nous confere une grande puissance il lui fallais une grande puiisance. Et c'est la que cela coincais. L'arduindo pouvais certe lui fournir aassez de tension a ce moteur mais pas asser d'intensité et vu P=UI le moteur loptenanis donc pas la puissance necessaire, nous avons donc du changer de moteur.

Nous avons pris a la place un cerveau moteur, dont le schema de fonctionnement et si dessous:  

IMG_0409.jpg

Malheureusement, le moteur s'avère être trop faible pour pouvoir propulser quoique ce soit même en le calibrant au maximum de sa puissance.

En cherchant sur internet, nous avons trouver le code relier au servomotor.

#include "Servo.h"

Servo servo; // création de l'objet "servo"

void setup() {
   servo.attach(10); // attache le servo au pin spécifié
}

void loop() {
   servo.write(1000); // demande au servo de se déplacer à cette position
   delay(100);  
}

Malheureusement,

 le

moteur s'avère être trop faible pour pouvoir propulser quoique ce soit meme en le calibrant au maximun de ca puissance. Nous avons du encore un fois changer, mais cette fois nous avions pas encore de nouveau candidat mais nous allions cheercher pendant la prochaine sceance. 

Séance 6

Desnous leallons debutfinaliser notre conception structural et allons chercher un meilleur moyen d'utiliser une propulsion.

Séance 7

Lors de cette sceanceséance, nous avons doncréussi chercherdes les premières minutes (et oui en seulement 10 minute !!) a trouvefaire uncette moteurboite qui pouvais realise nos reves, car sinon sans lui adiaux l'idee de pouvoir relacher des confeties et autant dire qu'un mine sans confetie c'est bien triste ! Heuresement,dont nous avons trouvereu cetellement tantde attendumal moteur.a C'etait un :faire. 

dont voici une photo: 

Pendant la mise en pratique du code (que nous avions trouvé sur:), noous avons rencontré un probleme, le moteur ne ce mettais pas en route quand l'arduino lui disais de ce mettre en route ! POur esseye de comprendre d'ou venais le probleme nous avons pris la  tension de soritie de l'arduino avec un multimetre, et c'est comme ca qu'on a decouvert que le probleme vanais de arduino elle meme un des ports etait cassé ! IMG_20240318_092258.jpg

 

Projet personnel Paul Bellenger

 

Projet personnel Lucien Fiquet

Pour mon projet, j'ai décidé de faire un objet assez commun mais pas trop facile non plus. Un avion m'a paru une bonne idée sur un coup de tête et j'ai commencé à écrire le programme sur OpenSCAD.

En commençant, je suis parti du plus facile vers le plus dur pour faire quelques ajustements à la fin.

$fn=50;

module base (){
rotate([0,90,0])cylinder(10,1,1);
translate([10,0,0])rotate([0,90,0])cylinder(3.5,1,0.6);
translate([13.5,0,0])rotate([0,90,0])cylinder(0.2,0.6,0.5);
translate([13.7,0,0])rotate([0,90,0])cylinder(0.1,0.5,0.1);
translate([-0.8,0,0])rotate([0,90,0])cylinder(0.8,0.7,1);
translate([5,1.7,0])rotate([0,90,0])cylinder(2,0.5,0.4);
translate([5,3.1,0])rotate([0,90,0])cylinder(2,0.5,0.36);
translate([5,-1.7,0])rotate([0,90,0])cylinder(2,0.5,0.4);
translate([5,-3.1,0])rotate([0,90,0])cylinder(2,0.5,0.36);
};

translate([0,0,0.5])polyhedron(
    points=[[0.3,0,3], [0,0.5,0.3], [0,-0.5,0.3], [4,0,0.5]],
    faces=[[0,2,1],[1,2,3],[3,0,1],[2,0,3]]
         );

 module wings (){         
 translate ([5.5,0,0.3])polyhedron(
     points=[[-1,7,0], [-2,0.5,0.5], [-2,0.5,-0.3], [5,0,0]],
     faces=[[0,1,2],[1,3,2],[3,1,0],[3,0,2]]
              );       
  translate ([5.5,0,0.3])polyhedron(
     points=[[-1,-7,0], [-2,-0.5,0.5], [-2,-0.5,-0.3], [5,0,0]],
     faces=[[1,0,2],[1,2,3],[0,1,3],[0,3,2]]
              ); 
 };
module swings(){
translate ([0,0,0])polyhedron(
     points=[[0,-2.5,0], [0,0.5,0.5], [0,0.5,-0.3], [4,0,0]],
     faces=[[1,0,2],[1,2,3],[3,0,1],[3,2,0]]
              );
translate ([0,0,0])polyhedron(
     points=[[0,2.5,0], [0,0.5,0.5], [0,0.5,-0.3], [4,0,0]],
     faces=[[0,1,2],[1,3,2],[1,0,3],[3,0,2]]
              );
};
//translate ([30,0,0])polyhedron(
     //points=[[1,0,4], [0,0.5,0.3], [0,-0.5,0.3], [4,0,1]],
    // faces=[[0,1,2],[1,2,3],[3,0,1],[3,0,2]]
            //  ); 
//translate([30,0,0])cube([4,4,25],center=true);              
//translate([30,7,0])cube([4,4,25],center=true);  
base();
wings();
swings();

J'ai donc d'abord commencé par le module que j'ai appelé "base", pour simuler le corps de l'avion avec une succession de cylindre pour y donner forme, auxquels j'ai plus tard rajouté des moteurs se situant sous les ailes.

Ensuite est venue la partie compliquée, j'ai utilisé la fonction "polyhedron" pour les ailes ce qui s'est révélé être une torture. Pour l'utiliser il faut définir une combinaison de points formants les sommets de la figure, puis définir les faces en fonction des sommets auxquelles elles sont jointes. Mais après cela, il faut également vérifier que les sommets sont définis dans le sens horaire de la face, sans quoi on peut avoir un aperçu mais pas de rendu car c'est comme si la face était à l'envers.

Et je m'estime heureux car je n'ai fait que des formes à quatre sommets et quatre faces, simplifiant ainsi la chose pour les ailes. Celles-ci sont divisées en trois groupes : les deux principales définies dans le module "wings", les deux horizontales arrières définies dans le module "swings" pour "small wings" car j'ai oublié l'existence du mot aileron et la dernière définie hors module car je n'avais plus de nom.

 

Ce qui nous donne ce résultat : 

image.pngimage.pngimage.png

Cela ne paye pas de mine et nécessitera un peu de support au niveau des ailes, mais je suis plutôt satisfait du résultat.

 

Projet personnel Gabriel Wernain

 

Projet personnel Emile Whewell

Pour mon projet personnel, j'avais deux idées en tête qui m'était venue. La première était de faire une figurine d'un personnage, celui-ci était Perfect Cell. Mais je vite appris que le projet devais se faire par sois-même et non par une copy de fichier pris sur internet. J'ai donc opté pour mon deuxième choix qui était une épée lourde pris du manga Berserk.

$fn=100;
module Nuts(){
    rotate([90,0,0])translate([0,0,3])cylinder(7,1,1);
        translate([0,-25,0])cube([12,30,2.5],center=true);
    rotate([90,0,0])translate([0,0,2])cylinder(1.5,1.5,1) ;
    
};

module af1(){;
    translate([1,5,0])rotate([0,0,35])cube([2,5,31], center = true);
    translate([1,-5,0])rotate([0,0,145])cube([2,5,31], center = true);
    translate([-1,5,0])rotate([0,0,-35])cube([2,5,31], center = true);
    translate([-1,-5,0])rotate([0,0,-145])cube([2,5,31], center = true);
    
};

module mamads(){;
    translate([0,-25,0])rotate([90,90,0])af1();
    translate([0,-50,0])rotate([90,90,0])af3();
};

difference(){
    Nuts();
    mamads();
};

module af2(){;
    translate([1,0,-7.7])rotate([0,-55,0])cube([2,5,2], center = true);
    translate([-1,0,-7.7])rotate([0,55,0])cube([2,5,2], center = true);    
};
module af3(){;
    translate([2.5,4,-9])rotate([45,0,-25])cube(8, center = true);
    translate([-2.5,4,-9])rotate([45,0,25])cube(8, center = true);
    translate([2.5,-4,-9])rotate([45,0,25])cube(8, center = true);
    translate([-2.5,-4,-9])rotate([45,0,-25])cube(8, center = true);
};

image.png

Je n'ai pas totalement finit au niveau de la pointe et au niveau du manche. Il faudrait que la pointe soit un peu plus "penché" et que le manche ai plus de details.

 

Au final j'ai trouvé un moyen de rendre l'épée plus pointue et donner au manche plus de details.

 

$fn=100;
module Nuts(){
    rotate([90,0,0])translate([0,0,2])cylinder(8,0.9,0.9);
        translate([0,-25,0])cube([12,30,2.5],center=true);
    rotate([90,0,0])translate([0,0,1])cylinder(
    1.5,1.4,1) ;
    
};

module af1(){;
    translate([1,5,0])rotate([0,0,35])cube([3,5,31], center = true);
    translate([1,-5,0])rotate([0,0,145])cube([3,5,31], center = true);
    translate([-1,5,0])rotate([0,0,-35])cube([3,5,31], center = true);
    translate([-1,-5,0])rotate([0,0,-145])cube([3,5,31], center = true);
    
};

module mamads(){;
    translate([0,-25,0])rotate([90,90,0])af1();
    translate([0,-50,0])rotate([90,90,0])af3();
};


difference(){
    Nuts();
    mamads();
};

module af2(){;
    translate([1,0,-7.7])rotate([0,-55,0])cube([2,5,2], center = true);
    translate([-1,0,-7.7])rotate([0,55,0])cube([2,5,2], center = true);    
};
module af3(){;
    translate([2.5,4,-9])rotate([45,45,-25])cube(9, center = true);
    translate([-2.5,4,-9])rotate([45,-45,25])cube(9, center = true);
    translate([2.5,-4,-9])rotate([45,45,25])cube(9, center = true);
    translate([-2.5,-4,-9])rotate([45,-45,-25])cube(9, center = true);
};

module manche(){;
   rotate([90,0,0])translate([0,0,2.5]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,3.6]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,4.7]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,5.8]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,6.9]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,7]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,8.1]) cylinder(h=1,r1=1,r2=1);
    rotate([90,0,0])translate([0,0,9.2]) cylinder(h=1,r1=1,r2=1);
};
manche();

image.png

Maintenant que j'ai finis mon projet personnel en 3D, il me reste plus qu'a l'imprimer.

Je me suis aussi attaqué a mon projet en 2D qui consistait à utiliser l'application InkScape. Je me suis permis de decalquer une image que j'ai trouver sur internet et je n'ai donc plus qu'à utiliser la découpeuse laser.

image.png