Groupe B4
Nom et Prénom: Emile WHEWELL Paul BELLENGER Lucien FIQUET Gabriel WERNAIN
Cursus: CMI-PHY-B
Séance 1
Notre première séance du Projet FabLab consistait à nous faire découvrir ce qu'etais un fablab.
Pour cela nous avons notamment visité les différentes salles de ce lieux. Il y en avait une sallepour :
- les imprimantes 3D, compose d'une dizaine d'impriment 3D ainsi qu'un ordinateur pour pouvoir imprime avec du plastique nos projet les plus fou ! Vu que l'avantage avec les impriment 3d c'est qu'il est tres simple de cree des objets assez complexe vu que l'impression 3d est un méthode de création constructif et non destructif. Soit une technologie qui va créé l'objet directement en déposant de la matière ou l'objet en a besoin et non une technologie qui enlevé de la matière a une pièce de cette même matière pour avoir la forme de l'objet.
- la Menuiseries, composé de tout un tas d'objet de menuiserie en tout genre histoire de pouvoir plus ou moins realise ce qu'on de l'ors qu'on travaille sur du bois.
- l'électronique, composer principalement de graveur pour carte mère. Cette salle est d'autant plus bluffant que vu le prix des graveur de carte mère a laide de laser on pourrait s'attendre a ne pas trouver de telle objet dans ce fablab et pourtant si ! Il y en a un, un graveur qui grave les cartes mères au laser ! Soit une machine a une centaine de millier d'euro.
- la découpe, cette salle est composé de deux découpeuse laser. Des objets impressionnant, des objets capable de grave découper du boit en quelque second. Ce qui est bien pratique pour construire des botes ou gravé des image.
Et notre professeur, Vincent Dupuis, nous a aussi expliqué d'où venait le FabLab. Il vient d'un professeur du MIT, nommé Neil Gershenfeld qui a crée le concept du fablab et en a même fait un cours en ligne gratuit la fab academie. Il nous a aussi expliqué l'essence du fablab. Le but d'une telle chose et de permettait a n'importe qui moyen un certain savoir faire de pouvoir crée ce qu'il veux en theorie. De plus, une des choses central dans un tel projet c'est de devoir quand on fait un projet renseigne un wiki de telle sorte que si jamais d'autre personne par la suite veulent refaire la meme chose que nous qu'il puissent le faire grâce a notre documentation qu'on aura laisser en axé libre.
En dernier le professeur nous a aussi expliqué comment allé ce déroulement les séances lors de ce semestre.
Séance 2
Durant cette séance, on a appris à utiliser des logiciels de modélisations (Inkscape, OpenScad, Freecad,...) pour s'en servir afin de concevoir des objets avec l'aide d'imprimante 3D (logiciel 3D) ou/et de découpeuses lasers (logiciel 2D).
Je précise ici pour ne plus avoir a le précise, mais tout les logiciels qui vont être présente par la suite sont open source. En effet, notre professeur nous a fait vivement fait la recommandation de tel logiciels, qui sont d'après lui mieux
- pour leur plus long expérience de vie. Nous garantissant ainsi de nous former sur des logiciel qui existera pour "toujours", ce qui est bien pratique car nous serons probablement amené a réutiliser ces logiciels pendant nos 5 ans d'étude, voir nos 8 ans si nous souhaitons faire un doctorat
- et pour 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, et il en existe plein mais un qui ma paru meilleur que les autres: Joplin si jamais cela vous intéresse)
Dans un premier tps nous avons pris en main un logiciel, qui s'appelé inkscap. C'est un logiciel qui permet de faire des fichier 2D pour par la suite découper ou gravé a la découpeuse 3D.laser. ILIl ressemble beaucoup a un logiciel de dessin classique. Ci-joint une photo du logiciel
Par la suite on a pris un main un logiciel, nommé Openscad qu'on a grandement apprécié mais comme tout notre classe a vrai dire. En effet, c'est un logiciel de modélisation 3d, sauf que contrairement au logiciel classique il marche comme un logiciel de programmation ! Ce qui fait qu'il est très simple a prendre en main ! et il est plus simple de faire des choses complexe dessus. Ci-dessous une photo de l'ecran de openSCAD.
Après ça on a pris en main un autre logiciel de modélisation 3d, FreeCAD, mais cette fois a mon titre personnel je le trouve bcp moins pratique. En effet, il ressemble plus a un logiciel de 3d classique, sans la programmation. Même si notre professeur nous a affirmé qu'on pouvait programmer en 3 d aussi dessus. Ci-dessous un photo du logiciel
Pour finir la scéance on a eu des explications sur comment marche les impriment 3d ainsi que sur comment marche les découpeuses lasers. Découpeuses qui sont d'une rapidité c'est bluffant! On a eu une démonstration, mais pas temps de voir grand chose car elle découpait ce qu'on lui demandai en moins de 10s !!!
(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 intéressant comment les programmées. Ce qui est fascinant car cela peut nous permettre de le faire cher nous et de nous faire nos propre projet tout seul, facilement. Moyennent tout de même en acheter une. De plus, comme pour les autres logiciels, celui pour programmé les Arduino est open source, donc pas besoin d’acheter le logiciel.
Pour finir, on a vu comment utilisé les impriment 3d dans le cadre du fablab a Sorbonne université. Et certain on profité de cela pour lancer leur propre impression de lors projet personnel. Objet qu’il avait réalisé, sur les logiciels qu’on avait vu au dernier cours. On a notamment eu le droit a l'impression d'une réplique d'une rame de RER
Séance 4
Durant cette séance, nous avons commencé à chercher pour notre projet. Nous avons opté pour un détecteur de force qui relâche quelque chose à partir d'une valeur seuil. Soit en d'autre mot une mine ! En effet, notre détecteur de force détecterai le poids qui est on le rappel une force (P=mg avec g=10 m/s^-2). On aurait donc un balance qui a partir d'un poids critique lâcherai des confettis, de l'eau ou bien de l'huile.
Nous avons fait un prototype, dont voici une photo
Pour ce system nous avons utilisé un capteur Grove - Round Force Sensor (FSR402), qui fonctionne grâce a deux plaque conductrice sépare par un espace d'une épaisseur h, et tout l'astuce tient en le faite que lorsque qu'on applique un force F sur ce capteur l'épaisseur h diminue, diminuant ainsi la résistance entre les deux plaque conductrice, c'est cela que le capteur capte et c'est aussi cela que renvoi le capteur.
Ceci entraine que les valeurs de sortie ne sont pas des newtons ou de kg, mais cela n'est pas grave car la valeur de sortie dépend quand même des newton. On a donc simplement a nous même calibre ce capteur.
Pour avoir le code qui fait fonctionne le Round Force Sensor, nous avons chercher sur internet. Nous l'avons trouve sur le site simple duino
/* 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) notre prototype (de plaque pour permettre de poser des objets et les mesurer) de notre balance. (Nous avons aussi commencé à conceptionner notre boite via l'imprimante 3D.)
On peut voir ci-dessous un schéma de la version finale. On remarquera que le capteur ce trouve en bas du cylindre. Ceci permet d'après nos expériences d'avoir une mesure plus précise. En effet, le pilier ayant un diamètre exactement égale au diamètre du capteur, il permet de mettre tout le poids de l'objet sur le capteur et donc de réellement capté tout le poids de l'objet.
Vu qu'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'aide d'une hélice des confettis. Pour cela nous sommes aller dans un premier temps chercher des moteurs dans le fablab pour voir si il possédait des moteurs susceptible de nous intéressé.
Dans un premier temps nous avons trouvé ce moteur :
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);
}
Séance 6
Dans cette séance nous avons voulu découper dans un premier temps la boite. Cependant, nous avons rencontre plein de problème pour découper cette boite. En effet, pour la faire a la bonne taille on devait la découper en plusieurs fois. Sauf que problème quand on découpait en plusieurs fois c'est que la découpeuse ne faisait pas exactement la même taille ce qui nous empêchais d'assemble correctement la boite.
Pour faire le model de la boite, nous avons utilise ce logiciel en ligne : Make A Box: Generate Laser Cutter Templates for Enclosures! En effet, ce logiciel nous a été conseiller par le prof car il permet d'avoir rapidement un model de boite de n'importe quel taille.
Séance 7
Lors de cette séance, nous avons réussi des les premières minutes (et oui en seulement 10 minute !!) a faire cette boite dont nous avons eu tellement de mal a faire.
dont voici une photo :
Cependant le soucis avec cette boite c'est la taille. En effet, les est trop petit, pour un raison assez simple c'est que une boite de la taille qu'on avait prévu de découpe au départ est trop grande pour la découpeuse laser du fablab on a donc du crée une boite plus petite. On a donc du pour remédier a ce problème réimprimé notre pilier, pour un pilier plus petit (6,3 cm de haut contre X) et nous allons découper aussi une autre boite plus petit, pour y mettre les confettis et le moteur a propulsion des confettis.
De plus, lors de cette séance nous avons voulu calibre notre capteur de force. Pour cela nous avons pris une balance et deux bouteille d'eau ainsi que le système pilier plus capteur.
tant vers 600
Séance 8
Pour cette séance nous voulions commencer par refaire le pilier. En effet, celui que nous avions fait la séance précédant a eu un défaut de fabrication. Ce qui a fait qu'il a cassé. Pour ne pas perdre de temps a réimprime en trois D un nouveau pilier, nous avons pris la décision de découper le pilier trop grand que nous avions pour qu'il soit a la bonne taille. Pour cela, nous avons utilise une simple scie a bois classique.
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 :
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);
};
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();
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.