Rep Price : Différence entre versions
Ligne 42 : | Ligne 42 : | ||
== Expérimentations == | == Expérimentations == | ||
+ | |||
+ | J'ai tout d'abord tenté de réalisé un disque en utilisant la RepRapPrussa de PiNG ainsi qu'openScad pour créer la forme initiale. | ||
+ | |||
+ | <code>rayonDisque=60.5; | ||
+ | paroi = 0.5; | ||
+ | $fn = 75; // pour affiner les contours (nbr de facettes) dans tout le prog | ||
+ | |||
+ | |||
+ | // méthode pour construire les 11 pistes | ||
+ | module piste(rayon){ | ||
+ | |||
+ | translate([0,0,3]){ | ||
+ | difference(){ | ||
+ | cylinder(r=rayon, h=2); | ||
+ | cylinder(r=(rayon-paroi), h=2.1); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | // on tire des valeurs aléatoires entre 0 et 360 degré | ||
+ | randomVal = rands(0, 360, 6, rayon); | ||
+ | randomVal2 = rands(0, 360, 6, rayon+2); | ||
+ | |||
+ | // je place des dents de façon aléatoire | ||
+ | for( i = [0 : 5]){ | ||
+ | dents(rayon, randomVal[i]); //dent d'un côté de la piste | ||
+ | dents(rayon-1.4, randomVal2[i]); //dent de l'autre côté | ||
+ | echo(randomVal[i]); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | module dents(xPos, angle){ | ||
+ | color([255,0,0]){ | ||
+ | rotate(a=[0,0,angle]){ | ||
+ | translate([xPos, 0, 3]){ | ||
+ | cube([1.4, 1, 2]); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | echo( "Random Vector: ",angle, "xPos: ", xPos); | ||
+ | } | ||
+ | |||
+ | |||
+ | //---------------------------------------------------------- | ||
+ | |||
+ | difference(){ | ||
+ | union(){ | ||
+ | // le disque principal | ||
+ | cylinder(r=rayonDisque,h=3); | ||
+ | |||
+ | // l'anneau extérieur | ||
+ | translate([0,0,3]){ | ||
+ | difference(){ | ||
+ | cylinder(r=rayonDisque, h=2); | ||
+ | cylinder(r=(rayonDisque-2.4), h=2.1); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // l'anneau intérieur | ||
+ | translate([0,0,3]){ | ||
+ | difference(){ | ||
+ | cylinder(r=26.7, h=2); | ||
+ | cylinder(r=(26.7-2.4), h=2.1); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // on execute la méthode piste avec une boucle | ||
+ | for (i = [58.1 : 2.9 : 29.59]) { | ||
+ | piste(i); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | // les perçage du milieu | ||
+ | union(){ | ||
+ | cylinder(r=3.2, h=8, center=true); | ||
+ | translate([21, 0, 0]){ | ||
+ | cylinder(r=1.3, h=8, center=true); | ||
+ | } | ||
+ | translate([0, 21, 0]){ | ||
+ | cylinder(r=1.3, h=8, center=true); | ||
+ | } | ||
+ | translate([-21, 0, 0]){ | ||
+ | cylinder(r=1.3, h=8, center=true); | ||
+ | } | ||
+ | translate([0, -21, 0]){ | ||
+ | cylinder(r=1.3, h=8, center=true); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </code> |
Version du 20 décembre 2012 à 15:39
fabrication de disque pour platine jouet de type Fisher Price avec boîte à musique.
Contributeur·ice·s
Statut du projet
experimental
Statut de la publication
License
GPL v3.0
Inspiration
Fichiers source
Machines
Matériaux
Lien
Sommaire
Concept
Au début des années 1970, Fisher Price met en vente son magnifique 'record player': tourne disque qui permet de lire des chansons au doux son mécanique des lames métalliques de la boite à musique embarquée dans le bras de lecture.
https://fr.wikipedia.org/wiki/Bo%C3%AEte_%C3%A0_musique
Parmi les petites ritournelles présentes sur les disques, on trouve des tubes intemporels pour les nenfants: vive le vent, souris verte et autres hymnes enfantins.
Pour Rep Price l'idée est de pouvoir produire de nouveaux disques sur lesquels serait imprimée les talents d'aujourd'hui: britney spears, justin bieber ou encore laurent voulzy.
(À noter que fisher price réédite ses record player pour la Noél 2012 ! c'est dire la puissance intemporelle de ces petites machines : http://www.perpetualkid.com/fisher-price-record-player.aspx)
Comme les idées sont dans l'air, et que les inventions ne sont pas issues de l'esprit de quelques génies romantiques mais de travaux collectifs et d'échanges entre 'bidouilleurs', catalysé aujourd'hui par Internet (l'Histoire cependant retiendra un nom pour la postérité c'est plus simple pour les manuels scolaires), le jour ou j'ai décidé de graver mon premier disque pour le Record Player, un type à mis cette vidéo en ligne : http://hackaday.com/2012/05/24/fisher-price-record-player-plays-stairway-to-heaven/
Le travail était fait, le charme brisé. Tout de même fred27 a partagé une documentation pour réaliser à son tour un magnifique disque, ici sur intstructables: http://www.instructables.com/id/Custom-records-for-a-70s-toy-record-player/?ALLSTEPS
Merci à lui !
Mais heureusement pour nous, fred27 a donné de quoi faire tout ça en utilisant un logiciel propriétaire fonctionnant sur vindoze !!
Super, tout n'était donc pas perdu pour nous, il nous restait à faire une version libre pour les mellowmans amateurs de pingouins.
Expérimentations
J'ai tout d'abord tenté de réalisé un disque en utilisant la RepRapPrussa de PiNG ainsi qu'openScad pour créer la forme initiale.
rayonDisque=60.5;
paroi = 0.5;
$fn = 75; // pour affiner les contours (nbr de facettes) dans tout le prog
// méthode pour construire les 11 pistes
module piste(rayon){
translate([0,0,3]){ difference(){ cylinder(r=rayon, h=2); cylinder(r=(rayon-paroi), h=2.1); }
} // on tire des valeurs aléatoires entre 0 et 360 degré randomVal = rands(0, 360, 6, rayon); randomVal2 = rands(0, 360, 6, rayon+2);
// je place des dents de façon aléatoire for( i = [0 : 5]){ dents(rayon, randomVal[i]); //dent d'un côté de la piste dents(rayon-1.4, randomVal2[i]); //dent de l'autre côté echo(randomVal[i]); }
}
module dents(xPos, angle){ color([255,0,0]){ rotate(a=[0,0,angle]){ translate([xPos, 0, 3]){ cube([1.4, 1, 2]); } } } echo( "Random Vector: ",angle, "xPos: ", xPos); }
//----------------------------------------------------------
difference(){ union(){ // le disque principal cylinder(r=rayonDisque,h=3);
// l'anneau extérieur translate([0,0,3]){ difference(){ cylinder(r=rayonDisque, h=2); cylinder(r=(rayonDisque-2.4), h=2.1); } }
// l'anneau intérieur translate([0,0,3]){ difference(){ cylinder(r=26.7, h=2); cylinder(r=(26.7-2.4), h=2.1); } }
// on execute la méthode piste avec une boucle for (i = [58.1 : 2.9 : 29.59]) { piste(i); }
} // les perçage du milieu union(){ cylinder(r=3.2, h=8, center=true); translate([21, 0, 0]){ cylinder(r=1.3, h=8, center=true); } translate([0, 21, 0]){ cylinder(r=1.3, h=8, center=true); } translate([-21, 0, 0]){ cylinder(r=1.3, h=8, center=true); } translate([0, -21, 0]){ cylinder(r=1.3, h=8, center=true); } } }