IchigoJam/IchigoDakeに差して時計を表示する拡張基板です。
上田のクラブで「時計を作りたい」という子が何人かいたので、簡単にはんだ付けして作れる基板を目指して開発しました。
紹介動画はこちら。
www.youtube.com
7セグメントLED×6個で、時:分:秒を表示します。
回路図
10進カウンタIC・4026を内蔵した7セグメントLEDを使って、簡単な回路にしています。
時、分、秒それぞれ2個1組の7セグメントLEDへ、クロックパルスを送ると+1ずつカウントアップします。リセットパルスを送ると「00」にリセットされます。
クロックパルス | リセットパルス | |
---|---|---|
秒 | OUT1 | OUT2 |
分 | OUT3 | OUT4 |
時 | OUT5 | OUT6 |
例えば秒表示は、
OUT 1,1:OUT 1,0
で、+1カウントアップします。
OUT 2,1:OUT 2,0
で、リセットされて「00」表示になります。
カウンタICが値を保持して数字を表示するので、プログラム側で面倒なダイナミック表示などをしなくて済みます。
基板データ
- Fusion PCB用ガーバーデータ(ZIP)(99×82mm)
*同じ基板を3枚配置しています。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。
(C) 2023 Shiro Saito (https://www.ichigoaman.jp)
材料
だいたい以下の順番ではんだ付けすると作りやすいです。
時計プログラム
- 実行すると、時・分を聞かれるので数字で入力します。
- 画面と7セグメントLEDに時計が表示されます。
10 '*CLOCK SHIELD 20 CLV:VIDEO 3:CLS 30 OUT 2,1:OUT 2,0 40 OUT 4,1:OUT 4,0 50 OUT 6,1:OUT 6,0 60 INPUT "H=",H 70 INPUT "M=",M 80 CLS:CLT 90 @SETM 100 IF M=0 GOTO @SETH 110 FOR A=1 TO M 120 OUT 3,1:OUT 3,0 130 NEXT 140 @SETH 150 IF H=0 GOTO @LOOP 160 FOR A=1 TO H 170 OUT 5,1:OUT 5,0 180 NEXT 190 @LOOP 200 T=TICK() 210 IF T%60=0 GSB @CHGS 220 IF T%3600=0 GSB @CHGM 230 LC 0,0 240 ?DEC$(H+100,2);":";DEC$(M+100,2);":";DEC$(S+100,2) 250 WAIT 1 260 GOTO @LOOP 270 @CHGS 280 OUT 1,1:OUT 1,0 290 S=S+1 300 IF S<60 RTN 310 OUT 2,1:OUT 2,0 320 S=0 330 RTN 340 @CHGM 350 OUT 3,1:OUT 3,0 360 OUT 2,1:OUT 2,0 370 M=M+1:CLT 380 IF M<60 RTN 390 OUT 4,1:OUT 4,0 400 M=0:H=H+1 410 OUT 5,1:OUT 5,0 420 IF H>23 H=0:OUT 6,1:OUT 6,0 430 RTN
IchigoJam内部のタイマーで時計を動かしているので、あまり精確ではありません。
RTC(時計モジュール)を付けて時刻を読み取るようにすると、もっと精確な時計になるでしょう。
RTCモジュールについて詳しくはこちら。
最後に
今回の基板は、要は「2個×3組の7セグメントLEDで数字を表示する基板」です。
プログラム次第で、時計以外にもいろいろな用途に使えます。