Category Archives: Robotica
Robodesk (v1.0)
Set di supporti per ventole da 40x40x10mm
Realizzazione di più oggetti tramite stampa 3D FFF
foto
Informazioni generali
Tecnologia: FFF
Materiale: PLA
Filo
Diametro: 1.75mm
Colore: verde
Produttore: http://www.3dfilo.it/
Stampante:
Produttore: Wanhao
Modello: Duplicator 4X
Software di slicing: Slic3r, Repetier-host
Video: https://www.youtube.com/watch?v=kp8xW1DPQy8
Descrizione
Ho realizzato questi supporti per ventole 40x40x10mm qualche tempo fa, per un progetto realizzato per un cliente di Dogma Solutions. Al contrario della maggior parte dei modelli pubblicati in questo sito, non si tratta di oggetti di uso generico, e difficilmente potranno essere riciclati in progetti di terze parti. Ho infatti pubblicato questo materiali come sola dimostrazione: un semplice proof-of-concept a futura memoria dei possibili utilizzi della stampa FFF
Video
modello 3d ventola 40x40x10 mm
[canvasio3D width=”320″ height=”320″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Ventola” objScale=”1.5″ objColor=”555500″ lightSet=”7″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Supporto ventola in posizione centrale con ancoraggi laterali
Modello 3d
[canvasio3D width=”320″ height=”320″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Supporto_Ventola_Centrale..” objScale=”1.5″ objColor=”555000″ lightSet=”7″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Supporto destrorso
Modello 3d
[canvasio3D width=”320″ height=”320″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Supporto_Ventola_DX” objScale=”1.5″ objColor=”555000″ lightSet=”7″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Supporto sinistrorso
Modello 3d
[canvasio3D width=”320″ height=”320″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Supporto_Ventola_SX” objScale=”1.5″ objColor=”555000″ lightSet=”7″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Generatore di fori multipli per griglie ventole
Un semplice script parametrico OpenSCAD in grado di generare un oggetto solido esportabile ed utilizzabile nel proprio sistema CAD per praticare fori idonei a ventole di raffreddamento
Scopo dello script
A volte capita, durante la progettazione di un dispositivo, di dovere aggiungere allo stesso una o più ventole di raffreddamento. Poiché le ventole devono potere soffiare l’aria da/verso l’ambiente esterno, è necessario praticare dei fori sulla superficie del case che si va a disegnare.
Esistono, di norma, due soluzioni:
- Praticare un banale foro circolare di diametro leggermente inferiore a quello del rotore della ventola, predisponendo i necessari fori laterali per potere agganciare una griglia di protezione
- Ricavare una serie di molti, piccoli fori o fenditure di passaggio dell’aria direttamente sulla scocca del case, evitando quindi di dovere prevedere i fori per montare la griglia di protezione, e l’uso della griglia stessa.
Naturalmente, sia per ragioni di costi che di assemblaggio, la soluzione (2) è spesso preferibile. Lo script che segue consente appunto di generare il “negativo” di tali fori/fenditure. Esso costruisce una serie di oggetti solidi di dimensioni e caratteristiche parametriche, che possono essere poi usati per “forare” la superficie del case in questione.
Esempio applicativo
Di seguito un esempio pratico su come utilizzare gli oggetti generati dallo script. Si supponga di dovere praticare dei fori in questo case:
Come prima cosa, è necessario generare gli oggetti con i parametri desiderati
In seguito è sufficiente posizionarli sul case in modo da avere una intersezaione completa con le superfici da forare, e tramite il proprio CAD eseguire una operazione booleana di tipo “difference” o “combine”
L’operazione “difference/combine” va a tagliare la superficie della scocca usando il nostro modello di taglio (in rosso), e come risultato si hanno una serie di oggetti solidi che “tappano” i fori che abbiamo eseguito.
A questo punto è sufficiente rimuovere gli oggetti di foratura e gli eventuali “sfridi” rimanenti dall’operazione “difference/combine”, ed ecco i fori di ventilazione pronti per l’uso.


Lo script
// How large is the fan rotor ? (mm)
RotorDiameter=38;
// How large should each hole be ? (mm)
HolesDiameter=4;
// How much space should be left between each hole, proportionally to the hole size ?
HolesRingsSpacingFraction = 0.4; // [0.1:4.0]
// The height of the generated solids (mm)
Height = 10;
// The number of faces of each hole outer perimeter
Resoultion=20;// [3:100]
// VARIABLES INITIALIZATION
echo(“RotorDiameter=”,RotorDiameter);
echo(“HolesDiameter=”,HolesDiameter);
echo(“Height=”,Height);
echo(“Resoultion=”,Resoultion);
HolesBoundingBox = HolesDiameter*(1+HolesRingsSpacingFraction);
echo(“HolesBoundingBox=”,HolesBoundingBox);
NumberOfRings = RotorDiameter / HolesBoundingBox;
echo(“NumberOfRings=”,NumberOfRings);
OuterRadius = RotorDiameter/2;
echo(“OuterRadius=”,OuterRadius);
RingRadiusStep = HolesBoundingBox;
echo(“RingRadiusStep=”,RingRadiusStep);
difference()
{
for (i=[0:1:NumberOfRings/2])
{
difference()
{
for(j=[0:360/((i*HolesBoundingBox*6/HolesBoundingBox)):360])
{
translate([sin(j)*(i*HolesBoundingBox),cos(j)*(i*HolesBoundingBox),0])cylinder(h=Height,d=HolesDiameter, center = false, $fn=Resoultion);
}
}
}
}
I parametri dello script
Come è possibile notare, in testa allo script sono dichiarare le variabili che regolano il funzionamento dello script:
RotorDiameter=38; // il diametro esterno del rotore della ventola
HolesDiameter=5; // il diametro dei fori da praticare
HolesRingsSpacingFraction = 0.4; // lo spazio che separa un foro dall’altro, in proporzione al diametro del foro stesso
Height = 3; // altezza di estrusione della forma
Resoultion=45; // risoluzione del perimetro dei fori. Il numero rappresenta le faccie de cilindri generati
Gli esempi che seguono dimostrano il funzionamento dello script con diversi valori di questi parameri.
Per un esempio “live” di questo script, fare riferimento a
http://www.thingiverse.com/thing:476061
oppure usare direttamente il “customizer” di Thingiverse a questo indirizzo
http://www.thingiverse.com/apps/customizer/run?thing_id=476061
esempio 1
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_1_1_3_45” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
esempio 2
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_2_05_3_45” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
esempio 3
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_3_1_10_3” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
esempio 4
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_4_04_3_45” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
esempio 5
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_4_05_10_4” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
esempio 6
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_4_05_10_5” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
esempio 7
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Multi_Holes_38_4_05_10_6” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
A heart deep in the shamrock
Realizzazione di un oggetto tramite stampa 3D FFF
foto
Informazioni generali
Tecnologia: FFF
Materiale: PLA
Filo
Diametro: 1.75mm
Colore: bianco
Produttore: http://www.3dfilo.it/
Stampante:
Produttore: Wanhao
Modello: Duplicator 4X
Origine modello: http://www.thingiverse.com/thing:122929
Pubblicato su: http://www.thingiverse.com/make:87670
Video: https://www.youtube.com/watch?v=5yVE1L7wKuI
Software di slicing: Slic3r, Repetier-host
Modello
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”1test_fixed” objScale=”0.5″ objColor=”56000″ lightSet=”3″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Video
Generatore di fori concentrici per griglie ventole
Un semplice script parametrico OpenSCAD in grado di generare un oggetto solido esportabile ed utilizzabile nel proprio sistema CAD per praticare fori/anelli concentrici idonei a ventole di raffreddamento
Scopo dello script
A volte capita, durante la progettazione di un dispositivo, di dovere aggiungere allo stesso una o più ventole di raffreddamento. Poiché le ventole devono potere soffiare l’aria da/verso l’ambiente esterno, è necessario praticare dei fori sulla superficie del case che si va a disegnare. Esistono, di norma, due soluzioni:
- Praticare un banale foro circolare di diametro leggermente inferiore a quello del rotore della ventola, predisponendo i necessari fori laterali per potere agganciare una griglia di protezione;
- Ricavare una serie di molti, piccoli fori o fenditure di passaggio dell’aria direttamente sulla scocca del case, evitando quindi di dovere prevedere i fori per montare la griglia di protezione, e l’uso della griglia stessa.
Naturalmente, sia per ragioni di costi che di assemblaggio, la soluzione (2) è spesso preferibile. Lo script che segue consente appunto di generare il “negativo” di tali fori/fenditure. Esso costruisce una serie di oggetti solidi di dimensioni e caratteristiche parametriche, che possono essere poi usati per “forare” la superficie del case in questione.
Esempio applicativo
Di seguito un esempio pratico su come utilizzare gli oggetti generati dallo script. Si supponga di dovere praticare dei fori in questo case:
Come prima cosa, è necessario generare gli oggetti con i parametri desiderati:
In seguito è sufficiente posizionarli sul case in modo da avere una intersezaione completa con le superfici da forare, e tramite il proprio CAD eseguire una operazione booleana di tipo “difference” o “combine”
Una volta fatto, è sufficiente rimuovere gli oggetti di foratura e gli eventuali “sfridi” rimanenti dall’operazione “difference”, ed ecco i fori di ventilazione pronti per l’uso.
Lo script
/* [FAN FEATURES] */
// How large is the fan rotor ? (mm)
OuterDiameter=38;
// How large is the inner part of the fan rotator ? (mm)
InnerDiameter=5;
/* [RINGS] */
// How many concentric rings should be generated ?
NumberOfRings = 3; // [1:20]
// The height of the extruded rings (mm)
Height = 10;
// The number of faces on each ring perimeter
Resoultion=45; // [3:100]
/* [CONNECTORS] */
// With of the solid connectors that keeps the rings attached to the surface (mm)
ConnectorsWidth=2;
// Generate a pair of solid orthogonal connectors ?
AddOrtogonalConnectors=”YES”; // [YES,NO]
// Generate a pair of solid diagonal connectors ?
AddDiagonalConnectors=”YES”; // [YES,NO]
// VARIABLES INITIALIZATION
echo(“OuterDiameter=”,OuterDiameter);
echo(“InnerDiameter=”,InnerDiameter);
echo(“NumberOfRings=”,NumberOfRings);
echo(“Height=”,Height);
echo(“Resoultion=”,Resoultion);
OuterRadius = OuterDiameter/2;
echo(“OuterRadius=”,OuterRadius);
InnerRadius = InnerDiameter/2;
echo(“InnerRadius=”,InnerRadius);
DeltaRadius = OuterRadius-InnerRadius;
echo(“DeltaRadius=”,DeltaRadius);
RingRadiusStep =DeltaRadius/(NumberOfRings*2-1);
echo(“RingRadiusStep=”,RingRadiusStep);
difference()
{
for (i=[0:2:(NumberOfRings*2-1)])
{
echo(i,” – Outer radius=”,OuterRadius-(RingRadiusStep*(i)));
echo(i,” – Inner radius=”,OuterRadius-(RingRadiusStep*(i+1)));
difference()
{
cylinder(h=Height,r=OuterRadius-(RingRadiusStep*(i)), center = true, $fn=Resoultion);
cylinder(h=Height,r=OuterRadius-(RingRadiusStep*(i+1)), center = true, $fn=Resoultion);
}
}
if(AddOrtogonalConnectors==”YES”)
{
cube(size = [OuterDiameter*1.1,ConnectorsWidth,Height], center = true);
cube(size = [ConnectorsWidth,OuterDiameter*1.1,Height], center = true);
}
if(AddDiagonalConnectors==”YES”)
{
rotate([0,0,45])
{
cube(size = [OuterDiameter*1.1,ConnectorsWidth,Height], center = true);
cube(size = [ConnectorsWidth,OuterDiameter*1.1,Height], center = true);
}
}
}
I parametri dello script
Come è possibile notare, in testa allo script sono dichiarare le variabili che regolano il funzionamento dello script:
- OuterDiameter=38; // il diametro esterno dell’anello più grande
InnerDiameter=5; // il diametro interno dell’anello più piccolo
NumberOfRings = 3; // numero di anelli concentrici da generare
ConnectorsWidth=2; // larghezza dei connettori (vedi sotto) che vengono creati per sostenere gli anelli
Height = 3; // altezza di estrusione della forma
Resoultion=45; // risoluzione del perimetro degli anelli. Il numero rappresenta le faccie degli anelli
AddOrtogonalConnectors=true; // indica se generare o meno i connettori/supporti ortogonali agli assi
AddDiagonalConnectors=true; // indica se generare o meno i connettori/supporti diagonali rispetto agli assi
Gli esempi che seguono dimostrano il funzionamento dello script con diversi valori di questi parameri.
Per un esempio “live” di questo script, fare riferimento a http://www.thingiverse.com/thing:458670, oppure usare direttamente il “customizer” di Thingiverse a questo indirizzo http://www.thingiverse.com/apps/customizer/run?thing_id=458670
Esempio 1
Diametro esterno: 38mm
Diametro interno: 10mm
Numero anelli: 2
Larghezza supporti a croce: 2mm
Modello 1
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”..Concentric_Holes_38_10_2_2.” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 2
Diametro esterno: 38mm
Diametro interno: 10mm
Numero anelli: 3
Larghezza supporti a croce: 2mm
Modello 2
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Concentric_Holes_38_10_3_2..” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 3 – NO SUPPORTI DIAGONALI
Diametro esterno: 38mm
Diametro interno: 10mm
Numero anelli: 3
Larghezza supporti a croce: 2mm
Modello 3
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Concentric_Holes_38_10_3_2_NoDiagonals..” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 4 – NO SUPPORTI ORTOGONALI
Diametro esterno: 38mm
Diametro interno: 10mm
Numero anelli: 3
Larghezza supporti a croce: 2mm
Modello 4
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Concentric_Holes_38_10_3_2_NoOrtho..” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 5
Diametro esterno: 38mm
Diametro interno: 10mm
Numero anelli: 4
Larghezza supporti a croce: 2mm
Modello 5
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Concentric_Holes_38_10_4_2..” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 6
Diametro esterno: 38mm
Diametro interno: 10mm
Numero anelli: 5
Larghezza supporti a croce: 2mm
Modello 6
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Concentric_Holes_38_10_5_2..” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 7
Diametro esterno: 38mm
Diametro interno: 5mm
Numero anelli: 3
Larghezza supporti a croce: 2mm
Modello 7
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”.Concentric_Holes_38_5_3_2..” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 8
Diametro esterno: 38mm
Diametro interno: 7mm
Numero anelli: 5
Larghezza supporti a croce: 2mm
Modello 8
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”..Concentric_Holes_38_7_5_2.” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 9
Diametro esterno: 38mm
Diametro interno: 7mm
Numero anelli: 5
Larghezza supporti a croce: 2mm
Numero faccie: 4
Modello 9
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”..Concentric_Holes_38_5_3_4.” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
Esempio 10
Diametro esterno: 38mm
Diametro interno: 7mm
Numero anelli: 5
Larghezza supporti a croce: 2mm
Numero faccie: 6
Modello 10
[canvasio3D width=”600″ height=”600″ border=”1″ borderCol=”#F6F6F6″ dropShadow=”0″ backCol=”#FFFFFF” backImg=”…” mouse=”on” rollMode=”off” rollSpeedH=”0″ rollSpeedV=”0″ objPath=”Concentric_Holes_38_5_3_6…” objScale=”1.5″ objColor=”56000″ lightSet=”4″ reflection=”off” refVal=”5″ objShadow=”off” floor=”off” floorHeight=”42″ lightRotate=”off” Help=”off”] [/canvasio3D]
NJC Horizontal Photointerrupter
Dal 2012 mi diletto (sia per motivi strettamente professionali, che per interesse personale) nella costruzione di applicativi e moduli per .NET Microframework, ed in particolare per Gadgeteer. Trovo questa tecnologia molto interessante, e svilupparci sopra è semplice e molto rapido.
Uno dei frutti delle mie sperimentazioni, e il “Horizontal Photointerrupter”, un foto-interrutture basato su una forcella a led IR, posta orizzontalmente rispetto alla basetta. Il tutto è stato realizzato al fine di essere utilizzabile nelle versioni 4.1, 4.2, 4.3 del .NET Microframework, e di seguito potete trovare i sorgenti che controllano l’elettronica del modulo, consentendone l’utilizzo direttamente nel desginer di Visual Studio
Aspetto del modulo
Schema elettrico
PCB
Applicazione di test
La solution allegata contiene, oltre ai 3 progetti che declinano il modulo nelle 3 versioni del framework, anche una piccola applicazione di test.
Questa applicazione consente di accendere/spegnere un led quando la forcella IR viene chiusa/aperta.
Il codice è molto semplice, ed illustra il modo d’utilizzo di questo componente.
Schema componenti dell’applicazione di test
Codice di esempio e test
public partial class Program
{
private void ProgramStarted()
{
Debug.Print(“Program Started”);
hpi.InterrupterClosed += hpi_InterrupterClosed;
hpi.InterrupterOpened += hpi_InterrupterOpened;
}
private void hpi_InterrupterOpened(
NJC_HorizontalPhotointerrupter sender,
NJC_HorizontalPhotointerrupter.InterrupterState state)
{
btn.TurnLEDOn();
}
private void hpi_InterrupterClosed(
NJC_HorizontalPhotointerrupter sender,
NJC_HorizontalPhotointerrupter.InterrupterState state)
{
btn.TurnLEDOff();
}
}