今回はADコンバータ機能を利用する回路を設計します。
追加する機能
基礎編で製作したタイマーは、タイマーの時間を変更したい場合、プログラムを変更してPIC12F1822に書き込む必要があります。
時間を変えるたびに「プログラムを変更して書き込み」という作業はやってられませんよね。
このようなときは、例えば時間設定スイッチを設けて、タイマー時間の設定ができると便利です。
そこで、現在のタイマー回路に、タイマー時間を増減するスイッチを追加したいと思います。
スイッチは、1回押すたびにタイマー時間を1分ずつ増やすスイッチと、1分ずつ減らすスイッチの2個のスイッチを付けることにします。
ところで、現在の回路では空いているピンは1ピン(RA2ピン)しかありません。
そこで、このピンにスイッチを2つ接続して、どちらのスイッチが押されたかをプログラムで判定し、タイマー時間の増減をしてみようと思います。
回路の考え方
同じピンにスイッチを2つ接続する、というのは今までの知識では「そんなことできるのかな?」と思ってしまいますよね。
でも、ADコンバータ機能を利用すると実現できるんです。
回路を考える前に、実現方法の概略を確認しておきましょう。
- RA2ピンにスイッチを2個接続して、押したスイッチに応じて電圧が異なるような回路を作成する
- プログラムでは、RA2ピンの電圧値をADコンバータ機能で読み取り、どちらのスイッチが押されたのか判別する
- スイッチが判別できたら、タイマー時間の増減の処理を行う
今回の記事では、どのような回路にすればよいか考え、次回の記事でプログラムを作成します。
回路の考え方
これから、押されたスイッチに応じて電圧が異なるようにする回路を設計します。
最初に、基本的な考え方を説明します。詳細に説明するには「オームの法則」と「キルヒホッフの法則」が必要になりますが、ここでは考え方の概略説明にとどめます。
タイマー回路では、いくつかの「抵抗」という部品を使用しています。
この抵抗を複数本接続すると、それぞれの抵抗には抵抗値に比例した電圧が加わります。
言葉だけではわかりづらいので、具体例で説明します。
例えば、2本の10kΩの抵抗を次のように接続して5Vの電源に接続することにします。
この2本の抵抗値は同じですので、それぞれの抵抗には同じ電圧が加わります。
具体的には、2本の抵抗に5Vの電圧が加わっていますので、それぞれの抵抗には2.5Vずつ加わることになります。
電圧はこのように加わりますが、回路上の位置で見てみると、以下のような電圧になっています。
今回設計する回路では、この性質を利用します。つまり、2つのスイッチを接続して、押されたスイッチに応じて、PICマイコンのピンが異なる電圧になるようにします。
この説明だけではちょっと?のところがあると思いますが、実際の回路を見て動作を確認してみてください。
回路の作成
これから、上の考え方を元にした回路を作成していきます。
本来でしたらゼロから回路を作成するのが一番ですが、分かりづらいところもありますので、最初に最終的な回路を示し、そのあとに動作を説明します。
今回作成する回路図は以下のようになります。
この回路で、スイッチの状態に応じてRA2ピンの電圧がどうなるか動作を確認していきます。
スイッチの状態は次の3通りを考えます。(スイッチ1とスイッチ2はどちらかが押されることを想定します)
- 両方のスイッチがOFFの場合
- スイッチ1が押された場合
- スイッチ2が押された場合
それぞれのケースで、RA2ピンはどのような電圧になるか考えていきます。
❶ 両方のスイッチがOFFの場合
最初は両方のスイッチがOFFの場合です。
この場合は、RA3ピンに接続したスイッチ回路と同じ考え方になり、電圧は5Vになります。
RA3ピンに接続したスイッチ回路ではプルアップ抵抗を接続しましたが、上の状態はそのプルアップ抵抗によりRA2ピンが5Vになっている、というイメージです。
❷ スイッチ1が押された場合
次にスイッチ1をONにしてみます。
この場合もRA3ピンに接続したスイッチ回路と同様に、0Vになります。
❸ スイッチ2を押した場合
最後はスイッチ2をONにした場合です。
この場合は、前のセクションで説明した「抵抗を2本接続した回路」と同じになりますので、RA2ピンの電圧は2.5Vになります。
まとめ
以上をまとめると、2つのスイッチの状態によってRA2ピンの電圧は次のようになることがわかりました。
スイッチ状態 | RA2ピンの電圧 |
---|---|
両方ともOFF | 5V |
スイッチ1をON | 0V |
スイッチ2をON | 2.5V |
ADコンバータ機能を利用して、RA2ピンの電圧を読み取るとスイッチの状態を判別できる回路になりました。
ちょっとややこしいところもありますが、回路の動きをじっくり読み解いてみてください。
次回はブレッドボード回路を組み立てます。
更新履歴
日付 | 内容 |
---|---|
2017.5.16 | 新規投稿 |
2018.12.2 | 回路図のコネクタを5ピンに変更 |
2025.5.12 | 説明内容修正、補足 |