![]()
14セグLEDを使った文字で時刻を表示するWord Clockです。LEDが8桁なのでスクロールして表示します。
Word Clockの他、ローマ数字デジタル表示(以前作ったもの)、通常のアラビア数字デジタル表示、プログラマ御用達のヘキサデシマル表示を備えています。
量産を目指して、で クラウドファンディングを始めました。New(2019.7.1)
よろしくお願い致します。
動画
まずは動画をどうぞ(1分26秒と短めです)。
回路
マイコンはPIC16F887、RTCは高精度なDS3234SN(specは±2ppmなので月差5秒位)、バッテリバックアップ、表示デバイスは14セグLED Dual×4個の8桁、電源はUSB給電を想定して5Vです。 (拡大図)。
![]()
基板
サイズは24.0×101.6×1.2mm厚、長さの101.6mmはLED 4個を並べた長さです。
表側は14セグLEDのみ実装、その他の部品は全て裏面に実装します。
![]()
裏面実装中
はじめに裏面からシルクの部品番号に合わせて実装を行います。
裏から挿すCDSやタクトスイッチがあるので、14セグLEDを先に載せてしまうと半田付けが困難です。
![]()
タクトスイッチとダイオード
間隙がギリギリなのでダイオードとタクトスイッチの実装は慎重に。
ダイオードは万が一、電源の+/-を逆に接続した際に部品を保護するためのもの。
![]()
電池ホルダとトランジスタ
若干干渉してしまいました(矢印の箇所)。トランジスタをできるだけ左寄りに載せて下さい。
![]()
14セグLED
裏面の実装が終わってから14セグLEDを載せます。
向きを間違えないように。シルクのLED1〜4の文字が読めるようにして、LEDのドット(小数点)が下になる方向に載せる。
表面に保護フィルムが貼ってありますが、そのまま実装すると隣のLEDと干渉するので剥がして載せた方がよい。ただし、そのままだとキズになったりするので、並べてマスキングテープなどを貼るのがお勧め。
![]()
実装完了
全ての部品を載せた様子。
後述しますがケース次第ではタクトスイッチとCDSを別基板に載せる方法もあり。
![]()
プログラム開発
いつものようにアセンブラで書いています。
約3K行(コメント含む)になりました。文字パターンの定義行が多いです。
![]()
テスト表示
デバッグ中のアルファベット表示。
![]()
ローマ数字時計
デバッグ中の様子。まだ正しく表示できてない。
![]()
16進数時計
14:13:31 を表示中。中々読めない。
![]()
試験管
ケース用に培養試験管(リムなし)φ30mm×120mmを100本購入(販売単位が100本だったので)。
こんなにどうしよう、、、(^_^;;
![]()
試験管台
25mm厚のウォルナット材から40mm×40mmのブロックを切り出し、φ30mmの穴を開けた。
少し白っぽかったので、この後、亜麻仁油でオイル仕上げしました。
![]()
試験管台(当初案)
当初はこのような白木で作るつもりでした。木枠はお好みで。
金属加工が得意で工作機械があれば、アルミブロックなどでも良いかも。
![]()
試験管を挿した
試験管がピッタリ入りました。試験管の口側は少しきついが捻りながら入れると入る。
![]()
基板を入れた
試験管の長さが120mmで、基板が102mmなので両サイド 9mm位空きがある。その分を台に差し込む。
LEDの表面にはスモークの塩ビ板を貼りました(写真を撮ったはずですが見つからず。間違えて削除してしまったようです)。14セグ表面の上下の文字にかからない細い場所に両面テープを貼って貼り付けます。
![]()
電源供給
電源はUSB給電で、100均のUSBケーブルを利用。
台の側面(後ろ側の見えなくなる側)にφ3.2mmの穴を開けて、φ30mmの窪みの内側にケーブルを出す。基板側ISCP端子の+5V/GNDに接続する。
基板を固定する仕組みがなく(差しこんであるだけ)、試験管内で回転してしまいます。電源供給ケーブルの硬さのみで一応回らない。何か一工夫必要です(検討中)。以下↓に見直しました。
![]()
電源供給の見直しと基板固定
基板側ISCP端子の+5V/GNDにL字の細ピンヘッダを取り付け、給電と基板を固定するようにします。
![]()
電源供給側
給電側はユニバーサル基板に丸ピンソケットを取り付け、木枠に両面テープで貼り付ける。
![]()
電源供給側
USBケーブルと基板の接続はこんな感じ。+/−を間違えないように。
![]()
電源供給側
目立たないようにユニバーサル基板をマジックで黒く塗り、1ミリ厚スポンジタイプの強力両面テープで貼り付けます。
基板の端が木枠から丁度出るくらいにするために3枚重ねました。
まだ軽く付けてある仮接着で、基板の取り付け角度を調整してからしっかり押しつけて固定する。
![]()
基板を差し込む
LED表面が少し傾いて上を向くように、ユニバーサル基板の取り付け角度を調整する。
![]()
試験管に差し込んで完成
![]()
Word Clock (12H表示のみ)
Word Clockを表示中。秒の表示はなし。
(注)以下、写真によってLEDの色が異なったり、セグメントの一部が白っぽく見えたりますがカメラの影響です。目視だとキレイに見えます。
![]()
アラビア数字表示(12H表示)
通常のデジタル時計です。
![]()
アラビア数字表示(24H表示)
両サイドの14セグLEDを使わず、中央の6桁のみで表示。
![]()
ローマ数字表示(12H表示)
午前 2:38 を表示中。秒の表示はなし。
![]()
ローマ数字表示(24H表示)
13:43を表示中。秒は表示なし。
![]()
16進数表示(24H表示のみ)
13:15:11 を表示中。16進数表示は24H表示のみ。
![]()
もうひとつのケース
木材のブロックを加工して、基板が入るようにしました。
CNCフライスで削りましたが、厚みが30mmあって大変でした。Z軸がギリギリ。
![]()
スイッチ、CDSを引き出す
基板を収めても操作ができるようにタクトスイッチを別基板に載せて引きだします。
また、CDSが基板の裏面に実装されていると外部の明るさを感知できないので同様に引き出します。
SW,CDSのGNDは共通なので、結線は5本で済みます。
![]()
スモーク塩ビ板
木枠に両面テープを貼って、表の全面にスモークの塩ビ板を張り付けます。
![]()
完成
Word Clock表示中。
木枠はジェル状のニスを擦り込んで仕上げています。
![]()
裏面
左からUSB給電ケーブル、タクトスイッチとCDS、大きめの穴はバックアップ用電池交換のためのもの。
![]()
共演
普通のデジタル時計表示とローマ数字表示。同じ時刻を表示中。
LEDのセグメントが所々白く見えるのはカメラのせいです。目視ではキレイに見えます。
![]()
輝度自動調整
周囲の明るさに応じて、LEDの輝度を自動調整します。
就寝時など真っ暗になれば僅かな明るさで点灯しますので、ベッド脇などでも眩しくありません。
操作方法
- 表示モード切り替え(MODEスイッチ:SW1)
MODEスイッチを押す都度、以下の順に表示モードが切り替わる。
(電源を再投入しても前回の設定を記憶)
- Word Clock(12H表示)
ONE O'CLOCK, TWO HOUR THIRTY-FOUR PM などスクロール表示
12時間表示のみ / 秒の表示なし
- Roman Numeral Clock(12H表示)
I. , II.XXXIV など表示 / 秒の表示なし
AMは最左桁が"_"表示、PMは"~"表示- Roman Numeral Clock(24H表示)
I. , II.XXXIV など / 秒の表示なし
- Normal Digital Clock(12H表示)
AM 1.00.00, PM 2.34.56など
- Normal Digital Clock(24H表示)
中央6桁のみに 13.24.56 など
- Hexadecimal Digital Clock(24H表示)
0X0A.0B.1C など
- 時刻設定(SET/SFTスイッチ:SW2)
SET/SFTスイッチを押すと表示がNormal Digital Clock(24H)になり、最左桁が点滅する。
点滅している時に、ADJ/INCスイッチを押すと一つづつカウントアップする。
次の桁に移動するときは、SET/SFTスイッチを押す。
6桁目の数字を設定し、SET/SFTスイッチを押すと時刻設定完了し、通常の表示に戻る。
- 時刻微調整(ADJ/INCスイッチ:SW3)
ADJ/SFTスイッチを押すと秒2桁が四捨五入されて00秒になる。
0〜29秒のときは、00秒に戻る。30〜59秒のときは、分が一つ繰り上がり00秒になる。
例1)12:10:12 のときにADJ/INCスイッチを押すと 12:10:00 になる。
例2)12:10:45 のときにADJ/INCスイッチを押すと 12:11:00 になる。
裏機能
- Word Clockのスクロール速度変更
SET/SFTスイッチを押して電源投入するとスクロール速度設定モードになる。
ADJ/INCで速度をインクリメント(1〜5; 1が早い)して、EEPROMに記憶。
もう一度SET/SFTスイッチを押すとモードを抜ける。
- デモモード
MODEスイッチを押して電源投入するとデモモードとして、
約60倍の高速表示(1分を1秒に短縮)。RTCとは関係なく00:00:00から開始。
- テストモード
ADJ/INCスイッチを押して電源投入すると、全ての桁の全セグメントが点灯する。
半田付け不良などがあると点灯しない桁やセグメントが見つかる。
まあ、この機能で確認しなくても見つかるが、、、
キット頒布 (2019.6.1)
手持ちの部品が少しありますのでキット頒布します。試験管は沢山あります(^_^) キット内容は基板・電子部品・試験管・スモーク塩ビ板(24×102mm:LEDサイズ)・バックアップ用CR1220電池です。キットに含まれる部品の部品表です。部品番号と基板のシルクが対応します。
3,500円(送料込み;定形外郵便・小型段ボール)
注)電源用USBケーブル・木枠は付きません、ケースは各位のアイデアで素敵なものを作って下さい。
結構細かい半田付けが必要なので、半田付け初心者には組み立てが厳しいかと思います。完成品のご希望があれば受注製作も対応します(お問い合わせ下さい)。
スモーク塩ビ板は手作業でのカットなので断面がキレイでないことをご承知ください。目の細かいサンドペーパで整えるかカッタの刃を直角に当てて削って下さい。
PICにはプログラムを書き込んで頒布します。また、今回キット購入頂いた方のみにソースコードとHEXファイルをお送りします(再配布や商用利用は不可、個人での改変利用は可)。
QFP型PIC書き込みアダプタ 書き込んだPIC
ご質問やご希望の方は以下までメールください。折り返し、在庫状況や振り込み先などご連絡します。
![]()
以上