LEDの点灯/消灯をフリップフロップ回路で制御したい

ここ数カ月、ずーっと懸案事項になっていたことがありました。(多分)フリップフロップ回路と呼ばれる電子回路です。

知識のある人には当たり前の話だし、知らない人には全く興味がわかない話で、誰得?って気もしますが、自分の発見(というか気付きかな)が嬉しくて、記録に残しておこうかと。

スイッチのチョイ押しでLEDを点灯や消灯させたい

ウィキペディアによると、フリップフロップ回路とは「二進法の基本である1ビットの情報を一時的に"0"または"1"の状態として保持する(記憶する)ことができる論理回路」とあります。

フリップフロップ回路図こんな回路図のやつ。

図の左側の2つは入力(SとR)で、右側の2つは出力ですが、入力も出力も “物理的に” 2つ有る必要は無くて、状態の “遷移” を2種類と捉えていいんだと思います(多分)。

つまり、“現在の入力” が “過去の入力” と異なることで2種類となるわけだし、出力をLEDと仮定すると、点灯と消灯で2種類の出力になるわけです。

どうしてこの回路が懸案事項になっていたかと言うと、スイッチの “チョイ押し” でLEDの点灯/消灯を制御したかったから(以下のような状況)。

LEDが消えている状態でスイッチを “チョイ押し” すると、LEDが点灯すると共に、その状態を保持する(点灯のまま)。 →→→ 「情報を一時的に"1"の状態として保持する」

この状態でスイッチをもう一度 “チョイ押し” すると、今度はLEDは消え、そしてその状態を保持する(消灯したまま) →→→ 「情報を一時的に"0"の状態として保持する」

図にしてみると、こんな感じ。

フリップフロップ

モーメンタリSWでオルタネイトSWを使った時と同じ状況を

(機械的な)スイッチには、オルタネイト式とモーメンタリ式とがあります。オルタネイトスイッチとは、ボタンを指で押すと、指を離してもその状態を保持してくれる(ONのまま)スイッチ。

もう一方のモーメンタリスイッチは、指で押すと(押している間は)ONになりますが、その指を離すとOFFになってしまうスイッチです。

上で書いた「スイッチのチョイ押し」とは、このモーメンタリスイッチを「指で押して、指を離す」ということで、それによってオルタネイトスイッチと同じ状況を生み出したいということでした。

昔の人間なんで、先ずは「リレー」を思い浮かべました。リレーを使えば、それほど難しくなく実現出来るよなって。そして、リレーで出来るってことは、トランジスタでもっと簡単にできるだろう、と。

ところが、どこを探しても私の思いを実現してくれる回路を見つけることができませんでした。

半ば諦めながら興味の対象は電子オルゴールへと移っていったのですが、この電子オルゴールもまた私の思いとは違っていて、その思いを実現すべく探しまわっていて出会ったのがマイコンでした。

ATtiny2313

そしてマイコンのことを勉強していて分かったのは、このマイコンでフリップフロップの状態を簡単に実現できるということ。あんなに苦労したのに、こんなに簡単に出来るんだ!

プログラムを書けば実現出来ることは分かってはいたけれど

いや、まあ、プログラムを書けば実現出来るのは最初から分かってはいたのですが、私にプログラムが書けるとは思えなかったので、プログラム不要の “回路” で実現出来ないかなって事だったんですけどね。

もっと言えば、むか~し少しだけBASICをかじったことがあるので、本当に簡単なプログラムなら何とかなるとは思ってましたが、そのプログラムをマイコンに “書き込む” のが大変だろと。

私の中のイメージは、ROMという読み出し専用メモリーに専用の装置で書き込んで、一旦書き込んだROMを書き直すには紫外線で消去する必要があってと、30年も前から進化していません。

それが今は、USBから簡単に書き込みできるんですね。本当に隔世の感があります(私が古過ぎなんでしょうね)。

とは言いながらも、書き込み装置が必要なわけで。でも、それも最近は安価なものが多数出回っているようで、その意味でも時代が変わったなって。

さて、準備は整って、プログラムを書いたのですが、もう一つなんですよね。

何がもう一つで、それをどう解決したのかってのが今回の記事の主題だったのですが、前置きが長くなってしまったので、次回に続きます。



コメント:












管理者にだけ表示を許可する
トラックバック:
トラックバック URL:

http://55life555.blog.fc2.com/tb.php/872-d2fc7c0f

<< topページへこのページの先頭へ >>