PICマイコン

小さくて安いPICマイコンを使ってみる【デジタル入力によるLED制御】

スイッチでLEDの点灯・消灯を制御する

前回はPICを使ってLEDを点滅させました。今回はデジタル入力を用いてスイッチによるLEDの点灯・消灯を行いたいと思います。具体的にはタクトスイッチを押しているときに点灯し、離しているときは消灯するようにします。

目次
  1. プログラムの作成
  2. 配線
  3. 動作確認

プログラムの作成

今回はRA3ピンにタクトスイッチを付けたいと思います。(もちろん他のピンでもOKです)「TRISA」レジスタの設定はRA3は入力、それ以外は出力に設定します。

動作を安定させるためRA3ピンをPICにあるプルアップ機能が使ってプルアップします。(プルアップ抵抗については別の記事を参照ください)プルアップを使用するためには「WPUA」レジスタを使用します。「WPUA」レジスタの「RA3」ピンに対応する部分をON(1)とします。

また、「WPUA」レジスタのプルアップ機能は「OPTION_REGbits.nWPUEN」を「0」にしてプルアップ機能を有効にする必要があります。

本プログラムは、RA3ピンがプルアップにより「HIGH」になっているときはRA2ピンは「LOW」なり、RA3ピンを「LOW」にした場合、RA2ピンは「HIGH」になります。よって、タクトスイッチをRA3ピンとGNDに接続し、スイッチを押したときにRA3ピンをGNDに繋がるようにします。

配線

配線は下図のようになります。バイパスコンデンサ(パスコン)を忘れないようにしましょう。通常ですとスイッチの部分にプルアップ抵抗が必要になりますが、今回はPICの機能の「WPUA」を使ってRA3をプルアップ状態にしているので不要です。

❸ 動作確認とまとめ

プログラムと配線がきちんとなっていればタクトスイッチを押すとLEDが点灯すると思います。