2020年9月27日日曜日

OpenSCADとUltimaker Curaを使用してGrove Light Sensorのケースを作成する

OpenSCADとUltimaker Curaを使用して、Grove Light Sensorのケースを作成するには以下の手順を実行します。

〇Grove Light Sensorのケース/フタ
フタの部分にはGroveコネクタ用の穴と光センサー用の穴があります。

〇ケースにGrove 部分 Sensorを収納した状態

作成手順

1. OpenSCADで以下のコードを実行して形状を調整し、STLファイルにエクスポートします。

・ケース部分のOpenSCADコード
ケース部分のネジ穴のサイズはGROVE_TEMP_SENSOR_HOLE_RADIUSで調整します。
// Grove Light Sensor
WALL_MARGIN=0.4;
GROVE_LIGHT_SENSOR_W=20;
GROVE_LIGHT_SENSOR_D=20+WALL_MARGIN;
GROVE_LIGHT_SENSOR_SPACE_RADIUS=2;
GROVE_LIGHT_SENSOR_HOLE_RADIUS=1.2; // 1.5
GROVE_LIGHT_SENSOR_H=12;

SHELL_THICK=2;

module grove_light_sensor_case()
{
    difference()
    {
        union()
        {
            translate([-GROVE_LIGHT_SENSOR_SPACE_RADIUS, 0, 0])
            linear_extrude(height=SHELL_THICK){
                square([GROVE_LIGHT_SENSOR_W+GROVE_LIGHT_SENSOR_SPACE_RADIUS*2, GROVE_LIGHT_SENSOR_D]);
            }

            // left wall
            translate([-GROVE_LIGHT_SENSOR_SPACE_RADIUS-SHELL_THICK, -SHELL_THICK, 0])
            linear_extrude(height=GROVE_LIGHT_SENSOR_H-SHELL_THICK){
                square([SHELL_THICK, GROVE_LIGHT_SENSOR_D+SHELL_THICK*2]);
            }

            // right wall
            translate([GROVE_LIGHT_SENSOR_W+GROVE_LIGHT_SENSOR_SPACE_RADIUS, -SHELL_THICK, 0])
            linear_extrude(height=GROVE_LIGHT_SENSOR_H-SHELL_THICK){
                square([SHELL_THICK, GROVE_LIGHT_SENSOR_D+SHELL_THICK*2]);
            }

            // top wall
            translate([-GROVE_LIGHT_SENSOR_SPACE_RADIUS, GROVE_LIGHT_SENSOR_D, 0])
            linear_extrude(height=GROVE_LIGHT_SENSOR_H-SHELL_THICK){
                square([GROVE_LIGHT_SENSOR_D+GROVE_LIGHT_SENSOR_SPACE_RADIUS*2, SHELL_THICK]);
            }

            // bottom wall
            translate([-GROVE_LIGHT_SENSOR_SPACE_RADIUS, -SHELL_THICK, 0])
            linear_extrude(height=GROVE_LIGHT_SENSOR_H-SHELL_THICK){
                square([GROVE_LIGHT_SENSOR_D+GROVE_LIGHT_SENSOR_SPACE_RADIUS*2, SHELL_THICK]);
            }

        }
        union(){
            translate([0, GROVE_LIGHT_SENSOR_D/2, 0])
            linear_extrude(height=SHELL_THICK){
                circle(GROVE_LIGHT_SENSOR_HOLE_RADIUS, $fn=100);
            }
            translate([GROVE_LIGHT_SENSOR_W, GROVE_LIGHT_SENSOR_D/2, 0])
            linear_extrude(height=SHELL_THICK){
                circle(GROVE_LIGHT_SENSOR_HOLE_RADIUS, $fn=100);
            }
        }

    }   

}
grove_light_sensor_case();

・フタ部分のOpenSCADコード
光センサーの穴の直径はLIGHT_SENSOR_DIAMETERで微調整してください。
// grove light sensor lid
GROVE_LIGHT_SENSOR_W=20;
GROVE_LIGHT_SENSOR_D=20;
GROVE_LIGHT_SENSOR_SPACE_RADIUS=2;
GROVE_LIGHT_SENSOR_HOLE_RADIUS=1.5;
GROVE_LIGHT_SENSOR_H=10;

SHELL_THICK=2;

CONNECTOR_OFFEST_D=1;
CONNECTOR_OFFSET_W=4;
CONNECTOR_W=12+0.8;
CONNECTOR_D=5+1; //0.8;

LIGHT_SENSOR_OFFSET_D=4;
LIGHT_SENSOR_DIAMETER=6.5;


module grove_light_sensor_lid()
{
    difference()
    {
        union()
        {
            translate([-GROVE_LIGHT_SENSOR_SPACE_RADIUS-SHELL_THICK, -SHELL_THICK, 0])
            linear_extrude(height=SHELL_THICK){
                square([GROVE_LIGHT_SENSOR_W+GROVE_LIGHT_SENSOR_SPACE_RADIUS*2+SHELL_THICK*2, GROVE_LIGHT_SENSOR_D+SHELL_THICK*2]);
            }

            translate([-GROVE_LIGHT_SENSOR_SPACE_RADIUS, 0, SHELL_THICK])
            linear_extrude(height=SHELL_THICK){
                square([GROVE_LIGHT_SENSOR_W+GROVE_LIGHT_SENSOR_SPACE_RADIUS*2, GROVE_LIGHT_SENSOR_D]);
            }
        }

       translate([CONNECTOR_OFFSET_W, CONNECTOR_OFFEST_D, 0])
       linear_extrude(height=SHELL_THICK*2){
            square([CONNECTOR_W, CONNECTOR_D]);
       }

       translate([GROVE_LIGHT_SENSOR_W-CONNECTOR_OFFSET_W-LIGHT_SENSOR_DIAMETER/2+GROVE_LIGHT_SENSOR_SPACE_RADIUS/2, LIGHT_SENSOR_OFFSET_D+CONNECTOR_D+CONNECTOR_OFFEST_D++LIGHT_SENSOR_DIAMETER/2, 0])
       linear_extrude(height=SHELL_THICK*2){
            circle(LIGHT_SENSOR_DIAMETER/2, $fn=100);
       }
    }
}
grove_light_sensor_lid();


〇OpenSCADの画面(ケース)
 


〇OpenSCADの画面(フタ)
 


2. Ultimaker CuraでSTLファイルを読み込み、スライスしてgcodeを保存します。

3. 3Dプリンターで印刷します


関連情報

・Raspberry Pi ZeroとGrove Base HATを利用してGrove Light Sensorを接続する場合は、以下の記事を参照してください。
Raspberry Pi ZeroとGrove Base HAT for Raspberry Piと光センサーで、明るさを取得する

Groveデバイスまとめ

・そのほかの3Dプリンターを活用した記事は以下を参照してください。
OpenSCADまとめ

0 件のコメント:

コメントを投稿