You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
40 lines
1.5 KiB
/////////////////////////////////////////////////////////////////////////////////
|
|
// Illuminator for LED to keep the UV light away from the photodiode.
|
|
//
|
|
// Author: Maximilian Stiefel
|
|
// Last modification: 29.06.2017
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
// Includes
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Dimesnions
|
|
include <dimensions.scad>
|
|
use <dimensions.scad>
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
// Vars
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
// Action
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
module illuminator()
|
|
{
|
|
translate([glass_slide_width/2 - led_pos_x, 0, led_illuminator_height/2 + 0.01])
|
|
difference()
|
|
{
|
|
cylinder(r = led_illuminator_dia/2 + led_illuminator_thickness, led_illuminator_height, center = true);
|
|
union()
|
|
{
|
|
// Cut out inner cylinder
|
|
cylinder(r = led_illuminator_dia/2, led_illuminator_height + 0.01, center = true);
|
|
// Cut out slot
|
|
rotate([0, 0, led_illuminator_angle + 180])
|
|
translate([led_illuminator_dia/2, 0, -led_illuminator_height/2 - 0.01])
|
|
cube([led_illuminator_dia/2, led_illuminator_slot, led_illuminator_height], center = true);
|
|
}
|
|
}
|
|
}
|
|
|
|
|