前回の電源回路の設計に続き、今回は発光ダイオードの回路を設計します。
本シリーズ記事の内容を改訂して、基礎編、応用編、実践編として以下のリンクに公開しています。以下のシリーズはさらにいろいろなPICマイコンの機能をご紹介しています!
PICマイコン電子工作入門 〜基礎編〜
PICマイコン電子工作入門 〜応用編〜
PICマイコン電子工作入門 〜実践編〜
今回の説明
回路を完成させるために以下の順序で説明しています。このエントリの説明は(2)「PICマイコンのベース回路を組む」の部分のPICマイコンに発光ダイオードを接続する回路を作成するステップになります。
- 発光ダイオード(LED)を電池と抵抗のみで光らせる回路を組む
PICマイコンの回路を組む前に、まずは電池、抵抗、発光ダイオードのみを使って、ブレッドポード上に回路を組んで発光ダイオードを光らせてみます。ここでは電池、抵抗、発光ダイオードの回路記号、回路図と、回路図からブレッドボードに組む方法を説明します。 - PICマイコンのベース回路を組む
はじめの一歩の回路は、発光ダイオードを1秒に1回光らせるだけの回路です。この回路を組みます。 - プログラムを作る
発光ダイオードを1秒に1回光らせるプログラムを作成します。 - PICマイコンに書き込んで動作させる
作成したプログラムをPICマイコンに書き込んで動作させてみます。 - ベース回路にスイッチを追加
発光ダイオードの点滅をスイッチで開始させるために、ベース回路にスイッチを追加します。これまでは発光ダイオードを光らせる、という出力制御をしましたが、PICマイコンで外部から信号を入力する方法を確認します。 - ベース回路にブザーを追加
スイッチ付きの1秒に1回光らせる回路を作りましたので、ブザーを追加してタイマーを作ってみます。
PICマイコンの出力ピン制御
前回のエントリでは、PICマイコンに電源を接続する回路を作成しました。今回はいよいよ発光ダイオードを接続します。
PICマイコンで何かを制御する場合、PICマイコンのピンに電子部品を接続します。前回ちょっとお話しましたが、PICマイコンのピンはプログラムの設定でいろいろな役割に設定することができます。今回は発光ダイオードを点滅させる(ON/OFFする)ことができるように、PICマイコンの2番ピンを、「接続した電子部品をON/OFF制御できるように設定」します。この設定はプログラムで行いますので、プログラム作成時に詳しく説明します。なおご参考に、一例ですが他にも以下のような設定をすることができます。
- ピンの出力電圧を0V〜5V(電源が5Vの場合)まで連続的に設定できるようにする。例えば「ピンの出力電圧を2.3Vに設定」などすることができます。例えば、発光ダイオードの明るさを調整することができます。実際にはPWMという技術で制御しています。PWMについては別途入門シリーズを書く予定です。
- ピンに接続されているスイッチがONかOFFか読み取る。この入門の次のステップで、発光ダイオードの点滅開始スイッチをつけますので、この設定を行うことになります。
- ピン接続されている電子部品の現在の電圧を読み取る。例えば、気温に応じて電圧が変化する電子部品がありますので、それを接続すると、気温がわかることになります。
今回作成する発光ダイオード点滅回路も、一例に示したとおり、0〜5Vまで可変的に設定できるようにすれば、明るさを連続的に変化させることができます。ただ、入門というより、次のステップの内容になりますので、今回は一番基本的なON/OFF制御する設定にします。
PICマイコンに書き込むプログラムで、「接続した電子部品をON/OFF制御できるように設定」を行うと、PICマイコンはどうなるかというと、
こんな感じにプラス電源と2番ピン(GP5)の間にスイッチが入った感じになります(電源とPICマイコンのみかいています)。もちろん、PICマイコンの中にスイッチがあるわけではなく、電子的にこのような制御をする、ということになります。このスイッチのON/OFFをプログラムで制御することができるようになるわけです。
プログラムを作る際に詳しく説明しますが、このスイッチ(2番ピンのGP5)をプログラム(C言語)でどのように制御するかというと、スイッチをONにする場合、
GP5 = 1;
スイッチをOFFにする場合、
GP5 = 0;
と書きます。(“GP5″という変数はMicrochip社から提供されているPIC12F683用のヘッダファイルで定義されています)
それでは、発光ダイオードはPICマイコンにどのように接続すればよいのでしょうか。まずは発光ダイオードを電池のみで光らせたときの回路を思い出してみます。
このように、電源のプラスから、抵抗をつなげて、さらに発光ダイオードのアノード(プラス側)に接続して、カソード(マイナス側)を電源のマイナスに接続しました。
PICマイコンの制御もこれと同様に接続すればOKです。それでは先ほどのPICマイコンに接続してみると、
となります。この回路ではPICマイコン内のスイッチを経由しますが、それを除くと、接続方法は発光ダイオードを電池のみで光らせた回路と同じであることを確認してみてください。
あとは電源回路はコンデンサもつけましたので、コンデンサもつけます。
このように接続することになります。なんかちょっと複雑になってきましたね。
これで発光ダイオードの接続ができ、この発光ダイオードを点灯する場合、プログラムでGP5=1、消灯する場合はGP5=0と書けば制御できることになります。
回路図
次に、回路図をかいてみます。まず、段階的に説明するために前回の電源回路のみを以下に示します。ちょっとうっとうしいかもしれませんが、最初は電池もきちんと表現した回路からです。
この回路に、上の実体配線図で説明しました発光ダイオードと抵抗を追加します。回路図上でも、PICマイコンの2番ピン(GP5)から抵抗をつなげて、さらに発光ダイオードのアノードにつなげて、カソードを電源のマイナス側につなげます。
この回路図ではわかりやすいようにPICのピン番号を記載しました(というか実は前回書くつもりだったのに忘れていただけです。すみません)。
ところで、実体配線図と比較すると、電線をつなげている位置が違う!と思われる方もいるかもしれません。
なんとなく、実体配線図のように回路図をかくと、
こんな気がしませんか? でも回路図上では、ひとつの線はどこでも同じ意味の接続になります。今回作成した回路図の場合、
青いライン上ではどこにつないでも意味は変わりません。これは、回路図は電気的なつながりを記述しているだけで、実際の配線位置の情報ではないためです。今後、回路図が複雑になってくると、回路図を見ながらブレッドボードに組み立てていくとき、変なパズルを解いているみたいな状況になり、、、
あ゛〜ッ
ってなったりすることもあります。
また回路図がちょっと厄介なところは、電気的に回路図どおりつながっていればいい、というわけでもない、という点です。
前回パスコン(PICマイコンのすぐそばに接続するコンデンサ)を説明しましたが、回路図によってはスペースの関係からパスコンがちょっと離れたところにかかれていることがあります。このときは、パスコンであることを理解して、実際に配線するときはPICマイコンのすぐそばに接続する、ということが必要になります。
入門の段階では、回路図から実際の回路を組み立てるとき、位置に注意が必要な部品はパスコン、ということだけ覚えておけば十分です。他の接続についてはとにかく電気的につながっていればOK、としていただいて問題ありません。
再度、この回路図と、上の実体配線図を比較して、回路図の独特の表現になれるようにしましょう。
実際の回路図
前回も同じことをしましたが、実際には電池を書くことは少なく、電源記号でかきます。上の回路図から電源を削除して、その代わりに電源記号を使用してかくと以下のようになります。
雑誌の記事などではこのような回路図のかきかたが一般的ですので、是非この回路図に慣れておいてください。
電池記号をかく場合に比べて、かなりすっきりしていますよね。最終的にはこちらのタイプの回路図からブレッドボードに組み立てられることを目標にしましょう。(あ゛〜ッてなることもありますが)
次回は、PICマイコンにプログラムを書き込む回路を作成します。この作成が終わるとベース回路図の作成は完了しますのでもう一息です!
更新履歴
日付 | 内容 |
---|---|
2015.9.20 | 新規投稿 |
2018.12.3 | 新シリーズ記事紹介追加 |
12F683ではなく
12F629を間違って買ってしまったようなんですが
問題なく使えるでしょうか?
ご質問どうもありがとうございます。
このシリーズで使用する機能は一般的な入出力のみですので、12F629の仕様に読み替えれば使用できます。
ただ、もしPICマイコンにあまり慣れていないとちょっとした違いでつまづくかもしれませんので、できれば12F683を利用された方がいいかと思います。
なお、このシリーズはかなり古い記事で、この後別にPICマイコン入門の基礎編、応用編、実践編のシリーズも掲載しておりますので、そちらもご参照いただければと思います。
ですよね、無理やりコンパイルしてマイコンに焼いても動く気配がなかったです
683でちゃんとやろうかと思います
返信ありがとうございました
683と629はそれほど違いはありませんので、
仕様書を見ながら629用にプログラムを作成すれば動作すると思いますが、
なかなか手間ですよね。慣れたら629も動かしてみるとより多くの
知識がつくと思います!