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 finalisé le prototype nous permetant de mesure le poid des objets. En effet, pour fairee notre mine nous avons fais face a un problem, le catpeur ne mesurait pas correctement le poud des objet. C'etait notament du a la surface du capteur qui est toute petit ce qui entraine 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 qui entrainais pour nous une mauvaise mesure. POur palier a ce probleme nous avons donc decidé de trouve un pilier qui fait pile la taille du capteur pour pouvoir posé l'objet sur ce pilier et ensuite pose le pilier sur le cpateur qui lui contrairement a l'objet prendrais appuis que sur le capeur et non sur le support du capteur. Cependant dans cette sceance nous avons decide de ne pas lancer l'impression de ce pilier 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:
De
Je pense qque les plus aguerie vu que sur notre schema il y a un compartiment pour relacher quelque chose, le fameux "reservoir" ( en addition,bvas a droite). Ceependant qui dit quelque chose a rejter dit mecanisme qui permet d'expule quelque chose ! ET nous pensionsavons ajouterpensez 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 permettantqui 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 propulserbien desejecte confettis.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:
Malheureusement, le moteur s'avère être trop faible pour pouvoir propulser quoique ce soit meme en le calibrant au max de tour.
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);
}
PourMalheureusement, 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 séprochaine sceance.
Séance 6,6
Des le debut de cette sceance nous allonsavons finaliserdonc notrechercher conceptiona structuraltrouve un moteur qui pouvais realise nos reves, car sinon sans lui adiaux l'idee de pouvoir relacher des confeties et allonsautant chercherdire qu'un mine sans confetie c'est bien triste ! Heuresement, nous avons trouver ce tant attendu moteur. C'etait un meilleur: moyen
dont voici une propulsion.photo:
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é !
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.