ゆるく楽しむプログラミング

3分/5分切り替え ラーメンタイマー

自分自身の電源スイッチを操作する回路を付けたラーメンタイマーをカップそば(3分) / カップうどん(5分)に対応に拡張してみました。
・スイチは押しボタンが一個だけ、節電のために普段はスイッチOFF
・ボタンPushでスイッチON
・タイマー時間はスイッチで切り替え。
・残り時間を7セングメントLEDで表示。
・3分 or 5分後にメロディーを演奏して自分自身のスイッチOFF


自己保持回路

トランジスタを使用したスイッチの基本形(エミッタ接地)
ベース-エミッタ間に電流が流れると、コレクタ-エミッタ間にも電流が流れる


コレクタ側に接続する負荷をATTiny85に変更、エミッタに流す電流をATTiny85で制御
ただし、この接続だとエミッタに電流を流さないとATTiny85が起動せず、ATTiny85が起動しないとエミッタエミッタに電流がながれないのでスイッチが入らない

手動スイッチを並列に接続
スイッチを押すとATTiny85が起動、ベース-エミッタに電流が流れ、コレクタ-エミッタにも電流流れる
ATTiny85起動後はスイッチを離してもベース-エミッタの電流は途切れないのでスイッチが切れる事はない


トランジスタには2SC1815を使用、電流制限用の抵抗は1KΩを付けています

LEDドライバ(74HS595)付き 7セングメントLED

7セングメントLEDは、実装面積の都合で、LEDドライバ(8Bit シフトレジスタ 74HC595)を搭載した7セングメントLEDのブレークアウトボードを使用しました。
緑色7セグメントLEDシリアルドライバーモジュール

   74HC595 のスペックシートの記載とピン名に違いがありますが
操作は74HC595と同じです。

基本的な動作は
SCK データセット:立ち上がり(LOW->HIGHに変わる)タイミングでSDIの状態を0ビット目のレジスタにセットします。
この時、8~2ビット目のレジスタの値はトコロテン方式で押し出されます。
※変換するのはレジスタでありピン出力ではない。
LATCH データ出力:立ち上がり(LOW->HIGHに変わる)タイミングでQA~QHの状態を出力します。
OE HIGHにすると出力がディセーブル(出力しない)になります。
LOWにするとイネーブル(QA~QHの状態を出力)になります。
※特に制御する必要がなければGNDに接続して置けばよい。



全体の回路図



スケッチ

RamenTimer-7SEG.zip

解説動画