IchigoJamでおなじみの100mダッシュを、ロジックIC回路で作ってみました。
紹介動画はこちら。
www.youtube.com
遊び方
- 電源スイッチを入れるとブザーが鳴るので、リセットボタンを押して止めます。
- 3秒くらい経つとスタートLEDが点灯してタイマーのカウントが始まるので、RUNボタンを100回連打して100m走ってください。
- ゴールするとタイマーが止まって、走ったタイムがわかります。
- リセットボタンを押すと、再度走れます。
- スタートLEDが光る前にRUNボタンを押してしまうと、フライングの反則になってしまいます。
外付けの大型ボタンでも走れます。
回路図
スタートLED制御
RUNボタン
- RUNボタンの回路は、シュミットトリガNANDゲート・4093を使ってチャタリング防止をしています。ここから出力されたボタン信号は、走行距離表示用の7セグメントLED・M1のCLKへ入力されます。今回は10進カウンタIC・4026を内蔵した7セグを使っているので、CLKへパルス信号を入力するだけで+1ずつカウントアップします。またCARRY(桁上がり)信号を次のM2のCLKへ送ることで10の位もカウントアップします。この7セグのお陰で回路が簡単になり、部品数も少なくなっています。
タイマー
- 時間を計るタイマーは、オシレーターIC・LTC1799がベースになっています。外付けの抵抗R6によって発振周波数が決まるのですが、今回は10kΩを付けて100kHzのタイマー信号を発振しています。ちなみに抵抗を1MΩにすると1kHzまで周波数を下げられますが、精度が悪くなるので今回は10kΩにしています。
- この100kHzのタイマー信号を2進/5進カウンタ・74390へ入力して、周波数を下げています。ICの中にカウンタが2個入っていて、1個のカウンタで周波数を1/10にできます。今回はICを2個=カウンタを4段使って周波数を1/10000に下げて、10Hzの信号を作っています。10Hzは1秒間に10パルスなので、0.1秒ごとに1パルスになります。このタイマー信号をタイム表示用7セグへ入力して、0.1秒刻みのタイムを表示しています。
- ちなみに試作機のタイマーは、1分間で0.5秒ほどの誤差でした。(金属皮膜抵抗R6の誤差が±1%なのでだいたい合っています)。100mダッシュのタイムは10秒前後なので、0.1秒程度の誤差が出ることになります。今回はその程度の誤差はありだろうということで、そのままにしています。VR(可変抵抗)をつけて時計を調整できるようにすることも考えたのですが、はんだ付けする部品が増えてしまいますし、子どもたちは時間進行を遅くして良いタイムが出るようにチートしてしまうでしょう。同じ基板を使って代わる代わる走れば、みんな同じ条件ですし。
ゴール・フライング判定
- ゴールとフライングの判定は、Dフリップフロップ・7474を使っています。初期の出力は「Q=L/Q=H」になっています。
- スタートLEDが光る前は、7474-BのD入力がHになっています。そこでRUNボタンが押されるとCLK入力に信号が入って、フリップフロップがセットされて出力が「Q=H/Q=L」に切り替わり、フライングLEDが光ってブザーが鳴ります。同時にQのL出力が、ダイオードで作ったANDゲートを通してボタン回路のシュミットトリガNANDゲート・4093-1へ送られて、ゲートの出力がHで固定されます。そのためボタンを押しても走れなくなってゲームがストップします。
- 100m走ってゴールにたどり着くと、距離表示7セグの10の位・M2のCARRY出力がHになります。この信号は7474-AのCLK入力へつながっているため、フリップフロップがセットされて出力が「Q=H/Q=L」に切り替わり、ゴールLEDが光ってブザーが鳴ります。同時にQのL出力が(フライング時と同様に)ボタン回路へ送られてそれ以上走れなくなります。またデジタルトランジスタ・DTC143ELをOFFにして、タイム表示用の7セグのCLKI端子がHになるため、表示がゴールタイムで止まります。
基板データ
- Fusion PCB用ガーバーデータ(ZIP)[100x90mm]
*この基板データは、CC BYライセンスとします。どうぞご利用ください。
(C) 2023 Shiro Saito (https://www.ichigojaman.jp)
材料
以下の順番ではんだ付けすると作りやすいです。
- オシレーターIC 1kHz~30MHz LTC1799
- 表面実装用の小さいICなので、はんだ付けがちょっと大変です。テープで固定して、端子と基板のパッドにフラックスを塗って、細いこて先ではんだ付けしてください。付けた後はフラックスをアルコールで拭き取ってください。
- 工作教室の際は、このICだけスタッフ側であらかじめはんだ付けしておいてもいいでしょう。
- 小型 金属皮膜抵抗 1/2WS 10kΩ (100本入) R6
- タイマーの精度を出すために、この抵抗だけ金属皮膜抵抗を使っています。
- カーボン抵抗(炭素皮膜抵抗) 1/4W33kΩ (100本入) R1
- カーボン抵抗(炭素皮膜抵抗) 1/4W51kΩ (100本入) R2
- カーボン抵抗(炭素皮膜抵抗) 1/4W1kΩ (100本入) R3,R4
- カーボン抵抗(炭素皮膜抵抗) 1/4W100Ω (100本入) R5
- カーボン抵抗(炭素皮膜抵抗) 1/4W10kΩ (100本入) R7~R11
- カーボン抵抗(炭素皮膜抵抗) 1/2W10Ω (100本入) R12
- この抵抗は1/2Wにしています。
- 汎用整流用ダイオード 1000V1A 1N4007-B(20本入) ×5本
- スライドスイッチ 1回路2接点 基板用 横向き
- ICソケット (14P) (10個入) ×2個
- ICソケット (16P) (10個入) ×2個
- 絶縁ラジアルリード型積層セラミックコンデンサー 10μF25V5mmピッチ (10個入) C1
- 電解コンデンサー 100μF16V105℃ ルビコンMH7 C2
- リード型積層セラミックコンデンサー 0.1μF50V F 2.54mm (10個入) C3,C4
- 絶縁ラジアルリード型積層セラミックコンデンサー 1000pF50V±5%2.54mm (10個入) C5
- 抵抗入トランジスタ DTC143EL
- タクトスイッチ(白色) リセットボタン
- タクトスイッチ 12mm TVGP01-G73BB RUNボタン
- 5mm青色LED 470nm OSB5SA5B64A (10個入) スタートLED
- 5mm黄色LED 590nm OSYL5113A フライングLED
- 5mm赤色LED 640nm OSDR5113A ゴールLED
- LEDの色はお好みで。ただしスタートLEDは何色でも構いませんが、フライングLEDとゴールLEDは赤や黄色などのVfが低いLEDを使ってください。青や緑などのVfが高いLEDを付けるとブザーが鳴らなくなります。
- 写真や動画の作例では、amazonで安売りしていたスモークのLED(青・赤・黄)を使っています。
- 赤色7セグメントLED 10進カウンター内蔵 OSL10564-CD4026B-R ×5個
- 電子ブザー 12mm UGCM1205XP
- 電池ボックス 単4×3本 リード線
最後にICをソケットにはめます。
- 4回路2入力NAND シュミットトリガー CD4093BN
- 74HC74(DIP品) (樫木総業)
- 秋月では現在品切れのようです。
- 74HC390(DIP品) (樫木総業) ×2個
以下は外付けボタン用のオプションです。
- 丸ピンIC用ソケット (シングル40P) 1×40 2Pにカット
- オジデン フットスイッチ H形 薄型多機能形 グリーン OFL-S-H(G) (amazon)
- ボタンはいろいろな色があるのでお好みで。リード線の先に0.65mm径の単芯線をはんだ付けすると接続しやすいです。基板側にチャタリング防止回路が入っているので、コンデンサなどは不要です。