〇Grove Temperature Sensorのケース/フタ
フタの部分にはGroveコネクタ用の穴とスリットがあります。
〇ケースにGrove Temperature Sensorを収納した状態
作成手順
1. OpenSCADで以下のコードを実行して形状を調整し、STLファイルにエクスポートします。・ケース部分のOpenSCADコード
ケース部分のネジ穴のサイズはGROVE_TEMP_SENSOR_HOLE_RADIUSで調整します。
// Grove Temperature Sensor
WALL_MARGIN=0.4;
GROVE_TEMP_SENSOR_W=20;
GROVE_TEMP_SENSOR_D=20+WALL_MARGIN;
GROVE_TEMP_SENSOR_SPACE_RADIUS=2;
GROVE_TEMP_SENSOR_HOLE_RADIUS=1.2; // 1.5
GROVE_TEMP_SENSOR_H=10;
SHELL_THICK=2;
module grove_temp_sensor()
{
difference()
{
union()
{
translate([-GROVE_TEMP_SENSOR_SPACE_RADIUS, 0, 0])
linear_extrude(height=SHELL_THICK){
square([GROVE_TEMP_SENSOR_W+GROVE_TEMP_SENSOR_SPACE_RADIUS*2, GROVE_TEMP_SENSOR_D]);
}
// left wall
translate([-GROVE_TEMP_SENSOR_SPACE_RADIUS-SHELL_THICK, -SHELL_THICK, 0])
linear_extrude(height=GROVE_TEMP_SENSOR_H-SHELL_THICK){
square([SHELL_THICK, GROVE_TEMP_SENSOR_D+SHELL_THICK*2]);
}
// right wall
translate([GROVE_TEMP_SENSOR_W+GROVE_TEMP_SENSOR_SPACE_RADIUS, -SHELL_THICK, 0])
linear_extrude(height=GROVE_TEMP_SENSOR_H-SHELL_THICK){
square([SHELL_THICK, GROVE_TEMP_SENSOR_D+SHELL_THICK*2]);
}
// top wall
translate([-GROVE_TEMP_SENSOR_SPACE_RADIUS, GROVE_TEMP_SENSOR_D, 0])
linear_extrude(height=GROVE_TEMP_SENSOR_H-SHELL_THICK){
square([GROVE_TEMP_SENSOR_D+GROVE_TEMP_SENSOR_SPACE_RADIUS*2, SHELL_THICK]);
}
// bottom wall
translate([-GROVE_TEMP_SENSOR_SPACE_RADIUS, -SHELL_THICK, 0])
linear_extrude(height=GROVE_TEMP_SENSOR_H-SHELL_THICK){
square([GROVE_TEMP_SENSOR_D+GROVE_TEMP_SENSOR_SPACE_RADIUS*2, SHELL_THICK]);
}
}
union(){
translate([0, GROVE_TEMP_SENSOR_D/2, 0])
linear_extrude(height=SHELL_THICK){
circle(GROVE_TEMP_SENSOR_HOLE_RADIUS, $fn=100);
}
translate([GROVE_TEMP_SENSOR_W, GROVE_TEMP_SENSOR_D/2, 0])
linear_extrude(height=SHELL_THICK){
circle(GROVE_TEMP_SENSOR_HOLE_RADIUS, $fn=100);
}
}
}
}
grove_temp_sensor();
・フタ部分のOpenSCADコード
スリットの奥行はSLIT_Dで調整できます。
// grove temperature sensor lid
GROVE_TEMP_SENSOR_W=20;
GROVE_TEMP_SENSOR_D=20;
GROVE_TEMP_SENSOR_SPACE_RADIUS=2;
GROVE_TEMP_SENSOR_HOLE_RADIUS=1.5;
GROVE_TEMP_SENSOR_H=10;
SHELL_THICK=2;
CONNECTOR_OFFEST_D=1;
CONNECTOR_OFFSET_W=4;
CONNECTOR_W=12+0.8;
CONNECTOR_D=5+0.8;
SLIT_D=2;
module grove_temp_sensor()
{
difference()
{
union()
{
translate([-GROVE_TEMP_SENSOR_SPACE_RADIUS-SHELL_THICK, -SHELL_THICK, 0])
linear_extrude(height=SHELL_THICK){
square([GROVE_TEMP_SENSOR_W+GROVE_TEMP_SENSOR_SPACE_RADIUS*2+SHELL_THICK*2, GROVE_TEMP_SENSOR_D+SHELL_THICK*2]);
}
translate([-GROVE_TEMP_SENSOR_SPACE_RADIUS, 0, SHELL_THICK])
linear_extrude(height=SHELL_THICK){
square([GROVE_TEMP_SENSOR_W+GROVE_TEMP_SENSOR_SPACE_RADIUS*2, GROVE_TEMP_SENSOR_D]);
}
}
translate([CONNECTOR_OFFSET_W, CONNECTOR_OFFEST_D, 0])
linear_extrude(height=SHELL_THICK*2){
square([CONNECTOR_W, CONNECTOR_D]);
}
translate([0, CONNECTOR_OFFEST_D+CONNECTOR_D+SLIT_D, 0])
linear_extrude(height=SHELL_THICK*2){
square([GROVE_TEMP_SENSOR_W, SLIT_D]);
}
translate([0, CONNECTOR_OFFEST_D+CONNECTOR_D+SLIT_D*3, 0])
linear_extrude(height=SHELL_THICK*2){
square([GROVE_TEMP_SENSOR_W, SLIT_D]);
}
translate([0, CONNECTOR_OFFEST_D+CONNECTOR_D+SLIT_D*5, 0])
linear_extrude(height=SHELL_THICK*2){
square([GROVE_TEMP_SENSOR_W, SLIT_D]);
}
}
}
grove_temp_sensor();
〇OpenSCADの画面(ケース)
〇OpenSCADの画面(フタ)
2. Ultimaker CuraでSTLファイルを読み込み、スライスしてgcodeを保存します。
3. 3Dプリンターで印刷します
0 件のコメント:
コメントを投稿