アニメーションRGB壁掛け時計:Arduino Nano & Bluetooth制御
概要
これまでに「インフィニティミラークロック」「7セグメントデジタルクロック」を制作してきましたが、今回はRGB LEDと3Dプリントパーツで作る、アニメーション機能付きの美しい壁掛け時計です。専用スマホアプリ(Bluetooth)で時刻設定、色変更、多彩なアニメーションパターンを制御できます。
主要コンポーネント
- Arduino Nano R3
- HC-06 Bluetoothモジュール
- DS3231 高精度RTCモジュール
- RGB LEDストリップ(60LED/m)
- 3Dプリントパーツ一式
必要工具
- はんだごて
- 3Dプリンター
機能詳細
時計表示
- 外周60LED:秒・分針を色で表示(秒=黄色、分=緑、時=赤などカスタマイズ可)
- 内周12LED:時針を表示(12時間制)
- RTC(DS3231)で正確な時刻保持
アニメーションモード
アプリからコマンド送信で起動:
- カラーワイプ(赤→緑→青)
- シアターチェイス(白/赤/青)
- レインボーサイクル
- レインボーチェイス
スマホアプリ操作
- 時刻合わせ:時/分を「+」「-」で調整
- 各針の色設定:R/G/B値を個別指定
- アニメーションモード起動
回路図
Arduino Nano、DS3231(I2C)、HC-06(UART)、LEDストリップ×2(データピンD6, D7)の接続図を提供。電源はUSBまたは5V外部給電。
ソースコード(Arduino Nano)
#include <DS3231.h>
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define PIN2 7
#define NUMPIXELS 60
DS3231 rtc(SDA, SCL);
Time t;
int hr, mnt, sc;
char data, color_select;
// 色設定変数(初期値:時=赤, 分=緑, 秒=黄)
int h_red=255, h_green=0, h_blue=0;
int m_red=0, m_green=255, m_blue=0;
int s_red=255, s_green=255, s_blue=0;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2(12, PIN2, NEO_GRB + NEO_KHZ800);
// 以下、セットアップ、メインループ、Bluetoothコマンド解析、アニメーション関数群
// colorWipe, rainbow, rainbowCycle, theaterChase, theaterChaseRainbow, Wheel
スマホアプリ
APKファイル(clockconnect__Ieit1qA91l.apk)提供。Bluetoothペアリング後、直感的なUIで操作可能。
製作のポイント
- Arduino Nano採用で基板を小型化
- 3Dプリントパーツで光学設計(拡散・反射)を最適化
- Bluetooth経由で全設定可能、物理ボタン不要
- アニメーション単体としてもインテリアライトとして楽しめる
製造プロセス
- 鳩時計:歴史、職人技、現代への進化
- Arduino POVクロック:残像効果で浮かび上がるLED時計を自作する
- Adafruit 60 LED NeoPixelリングとArduinoで作るスタイリッシュな壁掛け時計
- DIY Arduinoワードクロック – 文字で時刻を表示する洗練されたリアルタイムクロック
- 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
- 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
- イタリア語ワードクロック自作:Arduino Nano、NeoPixel、LCD、RTCで時刻を文字で表示
- JX Wave Generator – Arduino互換DDS発振器(OLEDディスプレイ搭載)
- Arduino UNOで作るベルリンクロック – DIY LEDマトリクス時計
- Arduino Pro MiniとDS1302 RTCで作る高精度7セグメント時計
- インフィニティミラー時計:終わりなき美しさと正確な時刻の融合