7セグメントLED-NTP時計

■はじめに

パソコンのディプレイと机の間に時計を置きたいと思って作り始めました。
はじめはATmega328Pを使って基板も1枚でまとめるつもりだったのですが、HTTPでの設定可能とした所プログラム容量の関係からATmega644Pに変更して作成となりました。
同時に、1inchの表示部分の大きさの関係から回路の実装スペースが無くなり基板を2枚に分割して設計を行なっています。

■外観

■各部説明

■設定画面 

■回路図

■部品リスト

■フロントパネルバックパネル(寸法)

 ■コンセプト

 ・メイン基板と表示基板の2枚構成とする。
・表示部分の差し替えで7セグメントLEDの大きさやニキシー管駆動に対応する。
・1inch以上の7セグメントLEDを駆動して時刻を6桁(時:分:秒)で表示する。
・Ethernet接続を可能としてNTPで時刻を取得する。
・Webブラウザより設定変更を可能とする。
・スーパーキャパシタを使ってRTCをバックアップする。(メイン基板)
・大型LED/ニキシー管駆動用に昇圧回路を搭載する。(メイン基板)
・アノード/カソードコモンの7セグメントLEDに対応する。(表示基板)
・照度センサを搭載して明るさを調整する。(表示基板)

 ■構成

メイン部構成
AVR:arduino(sanguino 644P)
USB-Serial:FT232RL
RTC:DS1307+BackupCapacitor
ETH:ENC28J60
StepUp:MC34063A(NJM2360A)+IRFD220(MOSFET)
Senser(Temp):DS18B20
※:USBコネクタは(Type-B/Mini-B)の選択可能

表示部構成
Display:7SegmentLED(1inch)-赤/緑/青
DisplayDriver:MAX7219
DriveIC:74HC7066 or 2SA1015+ULN2003
Senser(Lux):S9648-100
※:表示部構成はモジュラー形式で差し替え可能(1.8inchの表示部を作成予定)

■使用ライブラリ&スケッチ

Arduino開発環境
Arduino 0023-IDE(差分) ※:arduino-0023_diff(Arduino 1.0には未対応)

使用ライブラリ(一部機能追加修正)
MAX7219用ライブラリ(表示用キャラクタ修正):LedControl
RTC用ライブラリ(ゼロリセット機能追加): RTClib(DS1307/8564NB両対応)
ENC28J60用ライブラリ(NTP用機能有効化):EtherShield/EthPacketDump
DS18B20用ライブラリ:OneWire
SWチャタリング防止ライブラリ:Bounce

使用スケッチ:NTP_Clock_100b ※:テスト用のデバッグコードがそのまま入っています。

■参考情報

Downloads – sanguino – an open source microcontroller board inspired by Arduino – Google Project Hosting http://code.google.com/p/sanguino/downloads/list

基板は何枚か作成しているので、気になる方は以下よりお問い合わせください。

エラー: コンタクトフォームが見つかりません。

  1. コメントはまだありません。

  1. トラックバックはまだありません。


Warning: Undefined variable $user_ID in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php on line 172

Fatal error: Uncaught Error: Undefined constant "cs_print_smilies" in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php:185 Stack trace: #0 /home/r3087696/public_html/blog.eldhrimnir.com/wp-includes/comment-template.php(1617): require() #1 /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/page.php(33): comments_template() #2 /home/r3087696/public_html/blog.eldhrimnir.com/wp-includes/template-loader.php(106): include('/home/r3087696/...') #3 /home/r3087696/public_html/blog.eldhrimnir.com/wp-blog-header.php(19): require_once('/home/r3087696/...') #4 /home/r3087696/public_html/blog.eldhrimnir.com/index.php(17): require('/home/r3087696/...') #5 {main} thrown in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php on line 185