ArduinoとLEDマトリックスで作る精密な新年カウントダウン表示
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Adafruit 16x32 LEDマトリックス | 1 | |
| DS3231 リアルタイムクロック(RTC) | 1 | 汎用品、CR2032 3Vコイン電池が必要 |
| 2A以上の5V電源とDCジャック(メス) | 1 | 汎用品 |
| Arduino UNO | 1 | |
| ジャンパーワイヤー(汎用) | 1式 |
使用するアプリとオンラインサービス
- Arduino IDE
プロジェクト概要
この美しいディスプレイは、2019年の新年カウントダウン用に作られましたが、誕生日、休日、旅行、特別なイベントなど、あらゆるイベントのカウントダウンに活用できます。
主な機能
- 自動表示切り替え:残り日数に応じて「日と時間」「時間と分」「秒単位」へ自動で表示モードが変化
- スムーズなRGBカラーサイクル:表示中のテキスト色が虹色に滑らかに変化
- イベント到達時の演出:設定したメッセージと混色RGB背景アニメーションを表示
- 電源オフでも正確な時刻を維持:独立した電池を持つRTC(リアルタイムクロック)搭載
RTC(リアルタイムクロック)のセットアップ
1. ハードウェア接続
- UNO GND → RTC GND
- UNO 5V → RTC VCC
- UNO A5 → RTC SCL
- UNO A4 → RTC SDA
2. ライブラリのインストール
Arduino IDEで以下のライブラリをインストール:
RTClibRGBmatrixPanel
3. 時刻合わせ手順
- リポジトリから「Accurate RTC Clock setter」スケッチを取得し、Arduino IDEにペースト
rtc.adjust()にコンパイル・アップロード時間の遅延を補正するTimeSpan()を追加- スケッチをアップロードし、シリアルモニタを開く
- time.gov で正確な時刻(秒単位)を取得し、シリアルモニタの時刻と比較
- 差分を
TimeSpan()に反映し、ほぼ完全に同期するまで繰り返す
ディスプレイの組み立て
電源供給
LEDマトリックスは消費電力が大きいため、専用の5V電源から給電します。マトリックスの電源ケーブルを切断・皮むきし、DCジャック(メス)に接続。ショート防止のため絶縁テープで保護してください。
Arduinoとの配線
Adafruitの公式ガイド(32x16/32x32 RGB LED Matrix)を参照し、入力側のコネクタを特定してArduinoと配線します。説明図で「Dピン」とある箇所はすべてGNDピンとして扱ってください。

プログラミング
- リポジトリから「Arduino Code」を取得し、Arduino IDEにペースト
- スケッチ冒頭のコメントで囲まれた部分を編集:
- カウントダウン対象の日時
- イベント到達時の表示メッセージ
RGBPulseSpeed(RGB色変化の速度、初期値は10未満推奨)
- 追加ライブラリをインストール:
Adafruit GFX LibraryDS3231ライブラリTimeライブラリ(GitHubからZIPダウンロードし、ZIP形式でインストール)
- Arduinoにアップロード
ケース・収納
専用ケースは未制作ですが、LEDマトリックスの梱包箱を流用し、Arduino・RTC・配線を収納、付属の磁石ネジでパネルを上面に固定するのが簡単です。また、トレーシングペーパーやクッキングシートをマトリックス表面に貼ると、ギラつきが抑えられ、未点灯LEDが目立たなくなります。厚みを増すほど柔らかく暖かい印象になります。

使い方
- Arduinoには5V USB電源アダプタ、LEDマトリックスには別途5V電源を接続(2口コンセントを使用)
- カウントダウンは残り時間に応じて自動で最適な表示モードに切り替わります
- イベント到達後はメッセージとRGBアニメーションが再生されます
- 電源を切るだけで終了、RTC電池で時刻は保持されます
- 時間がズレている場合は、RTCセッタースケッチで再調整してください
今後の展望
- 花火、ろうそくなどイベント専用アニメーションの追加
- メッセージのカスタマイズ性向上
- コードの可読性・効率化(今回は大晦日の前々日から急いで作成したため簡易的)
ご質問・ご感想はお気軽にどうぞ。迅速に対応します。
他のプロジェクトもぜひご覧ください:
- 私の他のプロジェクト
- YouTubeチャンネル
- Webサイト
気に入ったら「Respect」とフォローをお願いします!
コードリポジトリ
https://github.com/miles-nash/countdown-clock
RTCセッタースケッチで時刻を高精度に合わせた後、メインの「Arduino Code」をアップロードすれば完成です。
製造プロセス
- 新製品開発のハードルを克服する: 実証済みブループリント
- Arduino UNOとMAX7219で作るUFOアタックゲーム – レトロなドットマトリクスシューティング
- 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
- 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
- Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
- Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- NJ洋上風力サプライチェーン ネットワーキングイベント – 2024年11月29日
- Bill Lauer氏がDVIRCを退職、ビジネス開発の新時代へ
- 新年、新しい効率: 圧縮空気システムのための主要決意
- フィラメントワインディング最新技術と市場動向を探る:World of Filament Winding Conference