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.
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 !!!
(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.
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) 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
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.
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.