アヒル駆動のセキュリティ教育 SecDuck製作記録 ~3Dプリント編~

## ハードウェア構成
アヒル本体は**3Dプリント**されたボディに**電子部品**が内蔵された構成になっています
また、それらの電子部品を**プリント基板**上にまとめています
※3/2の展示時にはプリント基板の発注が間に合わなかったため、ユニバーサル基板という汎用的な基板の上に実装してあります

## ボディの作成

もともとSecDuck試作一号機は、既製品のアヒルのおもちゃをジャック・オー・ランタンみたいにくり抜いて中にRaspberry Piや基板などを取り付けたものでした

機能的にはそれで問題ないんですが、以下の理由で3Dプリンタの利用を決めました

1. SecDuckをOSSで公開したい

    ソフトウェア、ハードウェアのどちらも、作りたくなったら作れるくらいの具体的なデータとして公開したかったので、3Dモデリングから自分で行うことにしました
    
    イメージとしてはこういう感じです↓
    https://github.com/google/mozc-devices/blob/master/mozc-yunomi/README_promicro.md
    
1. 自由度の高い加工がしたい

    もちろん既製品のおもちゃは魔改造されるように作られていないので、穴を開けたり、削ったり、部品をつなげたりなどの加工がすごく大変。モデリングの段階で使用する電子部品(スピーカーなど)に合わせたサイズにしたり、部品同士がくっつきやすい形にしたりできれば加工の手間が大幅に削れます。
    
1. 3Dプリンタを使ってみたい

    面白そうだけど使ったことのない3Dプリンタ。必要な技術力も時間も未知でしたが好奇心に勝てませんでした。

### 3Dモデリング

使用した3DモデリングツールはBlenderです。無料で自由度の高いモデリングができるということで選びました。

#### ベースとなる頭と体を作る

まず、基本的な立方体をBlender上でこねこねすることで、アヒルの頭と身体のパーツを作成します

![Screenshot 2024-03-01 at 6.49.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/1de0ccf1-0e55-612b-b6c3-4ee00f993f1c.png)

#### 電子部品を入れる空間を作る

次に、電子部品をボディ内部に設置するためのくぼみや穴を作っていきます
##### スピーカーが入るくぼみ

![Screenshot 2024-03-01 at 8.18.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/9b0c0abe-5644-f2f6-fefc-d19c1eabf0a9.png)

##### コントローラーが入るくぼみ

コントローラーが中に落ちないように2つの角に取っ掛かりを付けています。

![Screenshot 2024-03-01 at 8.19.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/d6b273c6-3635-8041-8491-834543f865dc.png)

##### 電源コードを通す穴

![Screenshot 2024-03-01 at 8.20.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/922d787b-88d8-b4c3-6303-ecf3385b135d.png)

##### Raspberry Piが入るくぼみ

Raspberry Piには4つの角に基板を固定するための穴がもともと空いているので、これに通すための円柱もモデリングしています

https://www.raspberrypi.com/products/raspberry-pi-3-model-a-plus/

![Screenshot 2024-03-01 at 8.21.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/1a449c7e-5674-848a-5b29-0969a3a424a4.png)

#### パーツを分解する
頭と身体がくっつくように画像のようなくぼみをボディの上部につけます。

![Screenshot 2024-03-01 at 8.22.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/3eae8130-01ff-e979-34bc-3000ef69b8aa.png)

さらに、造形時間を短縮するためにボディを半分の高さで上下に分割します。FDM方式の3Dプリンタでは全体の高さが造形時間に直結するためです。

![Screenshot 2024-03-01 at 8.23.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/4fa1bd7a-0b3d-448d-2084-46d24ebe72a9.png)

### 3Dプリント
    
東京大学ものづくり工房のRaise 3Dというプリンタをお借りしました。FDM方式の3Dプリンタで、30時間ちょっとで一つのアヒルが造形できます。

https://www.raise3d.com/3d-printers/

### 塗装

造形直後は白っぽい色をしていてアヒルというより太った白鳥みたいな見た目です。塗装は様々な器具がレンタルできる秋葉原の工作室を使わせていただきました。

![PXL_20240227_025626388.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/aad5384c-de37-568e-1247-51777f4d34b3.jpeg)

まず下地としてプライマーという塗料を塗装する全面に吹き付けます。
![PXL_20240228_055442760.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/2622b74f-9a3e-f778-4ede-6d80afc61fc6.jpeg)

その上から全体を黄色で塗装し、乾いたあとでくちばし以外をマスキングテープで覆ってオレンジの塗料を重ねました。
![PXL_20240228_071054839.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/df3d85d0-718b-e928-7fa0-6788610cb792.jpeg)
    
### 振り返り

#### Keep
- 以下の工夫を施すことで材料費を40%ほどカットできた
    - 全体的なスケールダウン
        部品が入るピッタリの大きさに調整しました
    - 空洞部分を減らす
        FDM方式の3Dプリンタでは空洞部分は自動でスカスカにしてくれるので、モデリングの段階で空洞を作るとサポート材の重さを含めるとかえって材料費がかさむことがあるみたいです
    - 断面を水平にカットする
        これは3Dプリンタで造形する時に余計なサポート材をつけないようにするためです
    - 3パーツに分解する

#### Problem
- Raspberry Piを固定するための柱が太すぎた
    Raspberry Piのボードの穴を電動ドリルで拡げて対応しました
- 電源コードを通す穴の位置がずれていた
    - Raspberry Piを固定する柱を一つなくして対応しました
- スピーカーを取り付ける穴が少し大きかった
- コントローラー基板の固定が心許ない
- 目のシールが貼りづらい
- 上下胴体の付け方を考えていなかった
- エアブラシでの塗装に時間がかかった

#### Try
- 細かな寸法のミスを造形前に見つけるため、断面図を印刷して実物を置いてみる
- 上下胴体はどちらにも円柱状の穴を開けて、画像のようにはめる
    ![PXL_20240229_231103832.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699597/be577734-00cd-46b6-fff3-cfcb808cb8a3.jpeg)

- シールを貼る部分は平らにする
- 今回のような広範囲を単色で塗装する場合はエアブラシよりもカラースプレーをつかって下地を塗るのがいい

### 関連リンク

https://qiita.com/acta/items/7c38c278013df7bc8ba5

https://qiita.com/acta/items/adf20443c893d984dd1b