工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino UNOで作るベルリンクロック – DIY LEDマトリクス時計

ベルリンクロックとは

ベルリンクロック(Mengenlehreuhr、セット理論時計)は1975年にベルリンで設置された世界初のデジタル時計と言われています。4段のランプで時刻を表現します:

例:第1段2灯+第2段3灯=13時、第3段6灯+第4段2灯=32分 → 13:32

必要な部品

部品 数量 備考
Arduino UNO1
MAX7219(LEDドライバIC)18桁7セグ/マトリクス驅動用。単体ICまたはブレークアウト基板
RTCモジュール(DS1307等)1I2C接続(A4=SDA, A5=SCL)
5mm黄色LED135時間・5分・1分表示用
5mm赤色LED(またはRGBの赤)111時間・15/30/45分表示用
抵抗 10kΩ1MAX7219のISETピン用(輝度調整)
抵抗 220Ω1秒表示LED用
ユニバーサル基板・ブレッドボード・配線材適宜

配線概要

MAX7219接続

LEDマトリクス配線

MAX7219の DIG0〜DIG4 を各行のコモン(アノード)に、SEG A〜G, DP を各列(カソード)に接続。5分表示行は11個あるため DIG1 と DIG2 で分割駆動。秒表示LEDは Arduino D13 に 220Ω 抵抗経由で直結。

RTC (DS1307) 接続

ソフトウェア

使用ライブラリ

スケッチのポイント

コード抜粋(核心部分)

// 時間分解
int vijfuren = hour / 5;        // 5時間単位
int eenuren = hour % 5;         // 1時間単位
int vijfmin = minute / 5;       // 5分単位 (0-11)
int eenminuut = minute % 5;     // 1分単位

// 5分行は11個なので2ディジットに分割
// digitaal() 関数で 0-11 をビットパターンに変換
lc.setRow(0, 4, vijfuren);      // DIG4: 5時間
lc.setRow(0, 3, eenuren);       // DIG3: 1時間
lc.setRow(0, 1, vijfmin_low);   // DIG1: 5分下位
lc.setRow(0, 2, vijfmin_high);  // DIG2: 5分上位
lc.setRow(0, 0, eenminuut);     // DIG0: 1分

製作のコツ・トラブルシュート

拡張アイデア

参考資料

製造プロセス

  1. 鳩時計:歴史、職人技、現代への進化
  2. 砂時計:歴史、職人技、現代的魅力
  3. 時計の進化:日時計から精密クォーツ時計まで
  4. Rpibot:組み込みシステム学習向け低コスト拡張性モバイルロボット
  5. Arduino POVクロック:残像効果で浮かび上がるLED時計を自作する
  6. インフィニティミラー時計:終わりなき美しさと正確な時刻の融合
  7. RCおよびRL回路の時定数計算をマスターする
  8. 信頼性の高いRTL検証のためのVerilogシミュレーション技術
  9. Verilogクロックジェネレータ:設計と実装ガイド
  10. Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例
  11. Python 日付と時刻の完全マスター:実践的ガイド