3D flash led supporto è un progetto che ho realizzato alcuni giorni fa per migliorare l’illuminazione delle foto dei progetti.
Qualche settimana fa ho acquistato un illuminatore led, non il primo e neppure l’ultimo, su un noto portale di vendita materiale elettronico online ( vedi sotto ).
Per realizzare il progetto ho cercato sul sito thingiverse un progetto condiviso da cui partire adattandolo alle mie esigenze.
La ricerca mi ha portato ad un progetto di aprile 2015 “Supporto sport camera” di alezan rilasciato con licenza Creative Commons – Attribution – Share Alike.
Illuminatore led del 3D flash led supporto
L’illuminatore del 3D flash led supporto è un pannello da 48 led ad alta luminosità a 12v denominato “White LED Panel Board 12V 48”
che ad un costo inferiore ai 10€ ha una luminosità elevata mantenendo una temperatura del PCB, in alluminio, bassa in modo che il supporto possa essere realizzato in PLA.
Riprogettazione del 3D flash led supporto in OpenSCAD
Partendo dal progetto indicato sopra ho provveduto a importare gli elementi necessari alla mia esigenza e disegnare i componenti mancanti.
Il componente di fissaggio del 3D flash led supporto è l’asta filettata:
nella quale inserirai la ghiera di fissaggio:
in modo che una volta inserita l’asta nella slitta della macchina fotografica tu possa fissarla con la ghiera in modo da stabilizzare l’attacco e renderlo più solido.
Il 3D flash led supporto mancava della staffa regolabile:
con cui impostare l’inclinazione del piano led ed alla quale fissi il supporto per il pannello da 48 led:
Al 3D flash led supporto manca solo un diffusore della luce o altro filtro, che un esperto fotografo conosce certamente meglio di me, per ottenere effetti unici nelle foto realizzate; ho quindi disegnato un supporto per il filtro da applicare frontalmente:
Il codice openSCAD del 3D flash led supporto
Il 3D flash led supporto è stato disegnato tutto in openSCAD che, come sai, è un cad 3D programmato per cui trovi il codice del progetto condiviso su thingiverse e che puoi leggere di seguito.
module attacco() { difference() { union() { difference() { import("asta_Sport_Cam.stl"); translate([0,0,110]) cylinder(r=10,h=150,center=true,$fn=96); } translate([0,0,35]) sphere(r=7.75,center=true,$fn=96); } translate([0,0,36]) rotate([0,90,0]) giunto(15,2,true); } } module asta() { giunto(13,2,false); difference() { translate([20,0,0]) cube([30,10,7],center=true); rotate([0,0,-30]) translate([30,17.3,0]) rotate([90,0,0]) cylinder(r=1.6,h=50,center=true,$fn=96); rotate([0,0,-30]) translate([30,17.3,0]) rotate([90,0,0]) cylinder(r=3.3,h=15,center=true,$fn=6); } rotate([0,0,-30]) translate([30,17.3,0]) difference() { union() { cylinder(r=5,h=7,center=true,$fn=96); translate([0,10,0]) cube([10,20,7],center=true); } rotate([90,0,0]) cylinder(r=1.6,h=50,center=true,$fn=96); rotate([90,0,0]) cylinder(r=3.3,h=15,center=true,$fn=6); } } module light_support() { difference() { union() { hull() { translate([0,23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=3,center=true,$fn=96); translate([0,-23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=3,center=true,$fn=96); translate([0,23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=3,center=true,$fn=96); translate([0,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=3,center=true,$fn=96); } //holes supports translate([4,23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); translate([4,-23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); translate([4,23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); translate([4,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); } translate([1.5,0,30]) rotate([0,90,0]) cylinder(r=2.9,h=10,center=true,$fn=96); // wire hole translate([1.5,0,-30]) rotate([0,90,0]) cylinder(r=2.9,h=10,center=true,$fn=96); // wire hole translate([1.5,0,15]) rotate([0,90,0]) cylinder(r=2.9,h=10,center=true,$fn=96); // wire hole translate([1.5,0,-15]) rotate([0,90,0]) cylinder(r=2.9,h=10,center=true,$fn=96); // wire hole translate([1.5,15,0]) rotate([0,90,0]) cylinder(r=2.9,h=10,center=true,$fn=96); // wire hole translate([1.5,-15,0]) rotate([0,90,0]) cylinder(r=2.9,h=10,center=true,$fn=96); // wire hole translate([1.5,0,0]) rotate([0,90,0]) cylinder(r=2.9,h=5,center=true,$fn=96); rotate([0,90,0]) cylinder(r=1.9,h=50,center=true,$fn=96); //holes translate([0,23.3,34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); translate([0,-23.3,34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); translate([0,23.3,-34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); translate([0,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); // Air translate([0,16.5,16.5]) rotate([0,90,0]) cylinder(r=6,h=50,center=true,$fn=96); translate([0,-16.5,16.5]) rotate([0,90,0]) cylinder(r=6,h=50,center=true,$fn=96); translate([0,16.5,-16.5]) rotate([0,90,0]) cylinder(r=6,h=50,center=true,$fn=96); translate([0,-16.5,-16.5]) rotate([0,90,0]) cylinder(r=6,h=50,center=true,$fn=96); } } module light_filtermount() { difference() { union() { hull() { translate([0,23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); translate([0,-23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); } hull() { translate([0,-23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); translate([0,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); } hull() { translate([0,23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); translate([0,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); } hull() { translate([0,23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); translate([0,23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=1.5,center=true,$fn=96); } //holes supports translate([4,23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); translate([4,-23.3,34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); translate([4,23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); translate([4,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=4,h=7,center=true,$fn=96); } cube([10,40,64],center=true); //holes translate([0,23.3,34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); translate([0,-23.3,34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); translate([0,23.3,-34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); translate([0,-23.3,-34.5]) rotate([0,90,0]) cylinder(r=1.4,h=50,center=true,$fn=96); } } module giunto(raggio, foro, piolo) { difference() { cylinder(r=raggio,h=7,center=true,$fn=96); cylinder(r=foro-.25,h=50,center=true,$fn=96); } if (piolo) cylinder(r=foro,h=50,center=true,$fn=96); } // Overview module overview() { attacco(); translate([0,0,15]) import("ghiera_Sport_Cam.stl"); rotate([-30,0,0]) translate([0,-18,31]) rotate([0,-90,0]) asta(); translate([0,38,65]) rotate([90,0,90]) light_support(); translate([0,54,65]) rotate([90,0,-90]) light_filtermount(); } module explode() { color("SkyBlue") attacco(); color("DodgerBlue") translate([0,0,60]) import("ghiera_Sport_Cam.stl"); color("DodgerBlue") rotate([-30,0,0]) translate([0,-46.5,81]) rotate([0,-90,0]) asta(); color("CornflowerBlue") translate([0,48,123]) rotate([90,0,90]) light_support(); color("blue") translate([0,74,123]) rotate([90,0,-90]) light_filtermount(); } // MAIN //attacco(); //asta(); //light_support(); //light_filtermount(); overview(); //explode();
Osservando la parte MAIN trovi alcune funzioni commentate:
- attacco();
- asta();
- light_support();
- light_filtermount();
- overview();
- explode();
le prime 4 ti servono per visualizzare i singoli componenti da esportare in formato STL;
le ultime due servono a mostrarti la versione montata ( overview ):
e la corrispondente versione in esploso ( explode ):
A questo punto hai chiaro come è nato e come è stato realizzato il 3D flash led supporto che prossimamente utilizzerò per realizzare le foto pubblicate sul blog.