2021年12月12日日曜日

マイクロUSBコネクタを持つ太陽光LEDスティックを作る

マイクロUSBコネクタを持つ太陽光LEDスティックを作るには以下の手順を実行します。

〇作成した太陽光LEDスティック

作成手順

1. 必要部品の準備
5Vで光らせることのできる太陽光LEDモジュールとマイクロUSBコネクタを準備します。いずれの部品も秋月電子さんで購入できます。
太陽光LEDモジュール(白色LED) 1×3 5V

マイクロUSBコネクタ 電源供給用

2. 部品のはんだ付け
マイクロUSBコネクタのコネクタ口を上に、端子固定用の足を手前に向けたとき、マイクロUSBコネクタの下の端子の左側を太陽光LEDモジュールの+端子、マイクロUSBコネクタの下の端子の右側を-端子にはんだ付けします。

3. 太陽光LEDモジュールとコネクタを格納するケースとフタをOpenSCADでデザインします。
以下のコードを実行して形状を調整し、STLファイルにエクスポートします。フレームのサイズなど3Dプリンタや設定によって微調整してください。

・ソースコード(ケース)
INNER_MARGIN=0.5;
WALL_THICK=2;
// 内寸
LED_MOD_IW=60+INNER_MARGIN;
LED_MOD_ID=10+INNER_MARGIN;
LED_MOD_IH=2;

USB_GAP=1;
USB_D=8;
USB_W=8;

// 外寸
LED_MOD_EW=LED_MOD_IW+USB_W+WALL_THICK;
LED_MOD_ED=LED_MOD_ID+WALL_THICK*2;

USB_SIDE_D=(LED_MOD_ED-USB_D)/2;


// 底面
translate([0, 0, 0])
linear_extrude(height=WALL_THICK){
    square([LED_MOD_EW, LED_MOD_ED]);
}
// LEDモジュール側の底面ギャップ
translate([USB_W, 0, WALL_THICK])
linear_extrude(height=USB_GAP){
    square([LED_MOD_EW-USB_W, LED_MOD_ED]);
}


// USBと反対側の壁
translate([LED_MOD_EW-WALL_THICK, 0, USB_GAP+WALL_THICK])
linear_extrude(height=LED_MOD_IH){
    square([WALL_THICK, LED_MOD_ED]);
}

// LEDモジュール手前
translate([USB_W, 0, USB_GAP+WALL_THICK])
linear_extrude(height=LED_MOD_IH){
    square([LED_MOD_EW-USB_W, WALL_THICK]);
}
// LEDモジュール奥
translate([USB_W, LED_MOD_ED-WALL_THICK, USB_GAP+WALL_THICK])
linear_extrude(height=LED_MOD_IH){
    square([LED_MOD_EW-USB_W, WALL_THICK]);
}

// USB口手前
translate([0, 0, WALL_THICK])
linear_extrude(height=USB_GAP+LED_MOD_IH){
    square([USB_W, USB_SIDE_D]);
}

// USB口奥
translate([0, LED_MOD_ED-USB_SIDE_D, WALL_THICK])
linear_extrude(height=USB_GAP+LED_MOD_IH){
    square([USB_W, USB_SIDE_D]);
}

〇OpenSCADでのモデル表示(ケース)

・ソースコード(フタ)
INNER_MARGIN=0.5;
TOP_THICK=1;
TOP_H=1;
WALL_THICK=2;
// 内寸
LED_MOD_IW=60+INNER_MARGIN;
LED_MOD_ID=10+INNER_MARGIN;
LED_MOD_IH=2;

USB_GAP=1;
USB_D=8;
USB_W=8;
HOLE_POS_W=2;
HOLE_W=2;
HOLE_D=1;

// 外寸
LED_MOD_EW=LED_MOD_IW+USB_W+WALL_THICK;
LED_MOD_ED=LED_MOD_ID+WALL_THICK*2;

USB_SIDE_D=(LED_MOD_ED-USB_D)/2;

difference(){
    union(){
        // 底面
        translate([0, 0, 0])
        linear_extrude(height=TOP_THICK){
            square([LED_MOD_EW, LED_MOD_ED]);
        }

        // USBと反対側の壁
        translate([LED_MOD_EW-TOP_THICK-WALL_THICK, WALL_THICK, TOP_THICK])
        linear_extrude(height=TOP_H){
            square([TOP_THICK, LED_MOD_ID]);
        }

        // LEDモジュール手前
        translate([USB_W+INNER_MARGIN, WALL_THICK, TOP_THICK])
        linear_extrude(height=TOP_H){
            square([LED_MOD_IW-INNER_MARGIN, TOP_THICK]);
        }
        // LEDモジュール奥
        translate([USB_W+INNER_MARGIN, LED_MOD_ED-WALL_THICK-TOP_THICK, TOP_THICK])
        linear_extrude(height=TOP_H){
            square([LED_MOD_IW-INNER_MARGIN, TOP_THICK]);
        }
    }
    union(){
        translate([USB_W, WALL_THICK+TOP_THICK, 0])
        linear_extrude(height=TOP_THICK){
            square([LED_MOD_IW-TOP_THICK, LED_MOD_ID-TOP_THICK*2]);
        }

        // USB穴手前
        translate([HOLE_POS_W, USB_SIDE_D, 0])
        linear_extrude(height=TOP_THICK){
            square([HOLE_W, HOLE_D]);
        }
        // USB穴奥
        translate([HOLE_POS_W, LED_MOD_ED-USB_SIDE_D-HOLE_D, 0])
        linear_extrude(height=TOP_THICK){
            square([HOLE_W, HOLE_D]);
        }
    }
}

〇OpenSCADでのモデル表示(フタ)

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

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

〇3Dプリンタで印刷したLEDスティックのケースとフタ

関連情報

OpenSCADまとめ

0 件のコメント:

コメントを投稿