イタリア語ワードクロック自作:Arduino Nano、NeoPixel、LCD、RTCで時刻を文字で表示
プロジェクト概要
Arduino腕時計への情熱から、イタリア語で時刻を文字表示する「ワードクロック」を制作しました。IKEAのRIBBAフレームと手持ち材料で筐体を作り、12×12のLEDマトリックス(144個のNeoPixel)で単語を点灯させて時刻を表現します。さらに家族(猫含む)の誕生日には「AUGURI(おめでとう)」と名前を表示する機能も追加。3Dプリンターがないため、アルミストリップでグリッドを自作し、スポンジテープでLED間の光漏れを防止しています。
電子回路
- RTC (DS1307等) で時刻保持
- ボタン3つ (P1:メニュー、P2:+, P3:-) で時刻設定、プルダウン回路で接続
- 16×2 I2C LCD は設定時のみ点灯するようボタンでバックライト制御
- ダイオード D1: 逆極性保護、D2: スケッチ書き込み時のNeoPixel過電流防止、D3: NeoPixel電圧を5Vに調整
- 電源: DC-DCステップダウンコンバーターで調整
回路図、Fritzingファイル、PCBレイアウトを提供しています。
LEDマトリックス配線
NeoPixelストリップ(144個)を左上からジグザグに配線し、12×12マトリックスを形成。各文字に対応するLEDインデックスを配列で定義しています。
使用ライブラリ
- RTClib
- LiquidCrystal_I2C
- Adafruit_NeoPixel
コード構成(5つの主要機能)
DisplayDateTime(): LCDに日時表示HourClock(): パネルに時間表示(イタリア語表現)MinuteClock(): パネルに分表示(5分刻み+1〜4分の微調整)Auguri(): 誕生日時に「AUGURI」と名前を紫色で表示paintWord(arrWord, color): 指定LED配列を指定色で点灯する核心関数
イタリア語時刻表現の例
- 「SONO LE ORE DIECI E VENTI 4」 = 10:24(10時20分+4分)
- 「SONO LE DIECI MENO QUINDICI 2」 = 9:47(10時マイナス15分+2分)
- 夜間(19時〜7時)と日中で輝度を自動切替(全輝度255 vs 1/10輝度25)
組み立て手順
- フレームを開けてガラスを清掃
- アセテートシートに印刷した文字パターンを挿入
- 紙印刷版を挿入
- アルミグリッドを挿入
- NeoPixelパネルを挿入
- 制御ボックスより少し大きい合板を裏当てし、タッピングネジで固定
- 重要: 2枚の印刷シートの位置合わせを精密に行うこと
設置例
リビングルームに設置。インテリアとしても美しく機能します。
コード
完全なスケッチ Italian WordClock.ino を提供。主要定数(LEDインデックス配列、色定義)、セットアップ、メインループ、各表示関数、ボタン操作による時刻設定メニュー、誕生日判定ロジックを含みます。ファイルサイズが大きいためダウンロード推奨。
カスタムパーツ・回路図
- SVGパターンファイル:
wordklock_aWvuaZRw4N.svg - Fritzing回路図:
wordklock_JBoZPYrsYr.fzz
製造プロセス
- スマート渇きアラート植物アラーム – 最適な水やりタイミングを知らせるDIYセンサー
- DIY Arduinoワードクロック – 文字で時刻を表示する洗練されたリアルタイムクロック
- 高精度ワードクロック:分単位で時刻を文字表示
- Arduino MKR Fox 1200で作る信頼性の高いSigfox kWhメーター
- Bluetooth対応温度モニター:Arduino NanoとHC-06でスマホ監視
- 非接触ジェスチャー錠: APDS-9960とArduinoでセキュアアクセス
- Arduino Nanoコンパニオンキット – 電子工作に必須の部品とツールを搭載した多機能IC型デバイス
- Arduino Micro/Leonardo用 USB-MIDIアダプタキット – 完全パーツリストと実装ガイド
- Arduino用絶縁アナログ入力回路の設計:LM331 V-F変換+フォトカプラでノイズ耐性を確保
- RGB 32バンド オーディオスペクトラムビジュアライザー - Arduino LEDマトリックスプロジェクト
- Arduino UNOで作る精密反応速度テスター