3Dプリンターで作る月相時計 ─ Arduino Nanoで高精度シミュレーション、アラーム・温湿度計機能付き
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano互換ボード (ATmega328P) | 1 | |
| 0.96インチ OLED 128×64 (SSD306、I2C 4ピン) | 1 | 時刻・月相・メニュー表示 |
| Tiny RTCモジュール (DS1307 RTC + 24C32 EEPROM) | 1 | リアルタイムクロック |
| NeoPixelストリップ (60LED/m、18個分にカット) | 1 | 月面照明・エフェクト用 |
| DHT11 温湿度センサー (プルアップ抵抗内蔵品推奨) | 1 | 温度・湿度表示用 |
| ブザー | 1 | アラーム音用 |
| タクトスイッチ (RAFI 1.10.001.001/0104等) | 3 | メニュー操作用 |
必要な工具
- 3Dプリンター (FDM式、PLA推奨)
- はんだごて
- グルーガン
- ニッパー、ワイヤーストリッパー、カッター、絶縁テープ
プロジェクトの特徴
- 精密な月相シミュレーション (天文学的計算ベース)
- 3Dプリント製の立体的な月モデル (内部にNeoPixel配置)
- アラーム機能 + ウェイクアップライト機能 (徐々に明るくなる)
- 日付・時刻・温度・湿度表示
- ランプモード / ムーンFXモード (リラックス/パーティー)
- 輝度調整、チルト角度調整可能
- フィラメント使用量わずか79g (約2時間でプリント完了)
- オープンソース・オープンハードウェア (FreeCAD/Arduino)
ステップ1:3Dプリントパーツの準備
ThingiverseまたはGitHubからSTLファイルをダウンロード:
プリント設定 (PLA、BQ Prusa i3 Hephestos使用例):
- 層高さ:0.2mm
- 壁厚:1mm
- 上面厚:1mm (5層)、下面厚:0.2mm (1層)
- ラフト・サポート不要
- 月本体のみInfill 0%、他は100%
月パーツはZ軸方向に5cm沈めてスライスするか、カット済みSTLを使用してください。
ステップ2:LEDストリップの配置
60LED/mストリップを3個ずつ6グループ(計18個)にカットし、月本体内部に以下の順序で配置(裏面から見た配置図):
| 1 | 6 | 7 | 12 | 13 | 18 |
| 2 | 5 | 8 | 11 | 14 | 17 |
| 3 | 4 | 9 | 10 | 15 | 16 |
矢印方向 (データ入力→出力) に注意。ホットグルーで固定。
ステップ3:回路組み立て

- Arduino Nanoをベースに配置、ボタンで位置固定
- 両面テープでDHT11固定 (プルアップ内蔵品推奨)
- ボタンのGND配線 → Tiny RTC → ブザー (必要なら抵抗直列) → 月LED用配線 → OLED用配線
- RTCモジュールの電池がCR2032(3V)の場合、充電回路を無効化する改造が必要 (LIR2032 3.6Vなら不要)
ステップ4:スケッチの書き込みと動作
- Arduino IDE (1.6.12以降推奨) をインストール
- 必要ライブラリをインストール (GitHubのライブラリフォルダ参照)
- 最新スケッチをダウンロード してコンパイル・書き込み
- 電源投入で月相時計として動作開始!
主な機能と操作
- 3ボタンでメニュー操作:時刻設定、アラーム設定、モード切替、輝度調整等
- 月相は日付から自動計算、NeoPixelで月齢に合わせた照明パターンを表示
- アラーム時はブザー音 + 徐々に明るくなるウェイクアップライト
- 温湿度はDHT11で定期測定、OLEDに表示
今後も新機能追加予定。GitHubで更新をチェック!
製造プロセス
- 鳩時計:歴史、職人技、現代への進化
- 集積回路(IC):現代エレクトロニクスを支える微小強力チップ
- プリント基板:設計、製造、未来トレンド
- Arduino POVクロック:残像効果で浮かび上がるLED時計を自作する
- Arduinoで作るレトロNumitron管時計:シンプル、信頼性高く、省エネ
- 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
- MOSMusicプロジェクトキット: MOSFET、Arduinoで音楽同期照明制御
- MMF #5:Markforgedプリンターで3Dプリントパーツへのコンポーネント埋め込みをマスター
- プリント基板:現代エレクトロニクスを支える不可欠な基盤
- 現代エレクトロニクスにおけるプリント基板の役割
- 高速ADC/DACプラットフォームにおけるマルチチップ同期を活用した電源投入時位相決定論の実現