今回から、PICマイコンの回路を作っていきます。最初はLEDを点滅させるための回路です。この回路ができたら、後からスイッチを追加、その後にブザーを追加していき、最後にタイマーとして完成させます。して以下のリンクに公開しています。回路を完成させるために以下の順序で説明しています。このエントリの説明は(2)「PICマイコンのベース回路を組む」の部分の最初のステップになります。発光ダイオード(LED)を電池と抵抗のみで光らせる回路を組むPICマイコンの回路を組む前に、まずは電池、抵抗、発光ダイオードのみを使って、ブレッドポード上に回路を組んで発光ダイオードを光らせてみます。ここでは電池、抵抗、発光ダイオードの回路記号、回路図と、回路図からブレッドボードに組む方法を説明します。PICマイコンのベース回路を組むはじめの一歩の回路は、発光ダイオードを1秒に1回光らせるだけの回路です。プログラムを作る発光ダイオードを1秒に1回光らせるプログラムを作成します。PICマイコンに書き込んで動作させる作成したプログラムをPICマイコンに書き込んで動作させてみます。発光ダイオードの点滅をスイッチで開始させるために、ベース回路にスイッチを追加します。これまでは発光ダイオードを光らせる、という出力制御をしましたが、PICマイコンで外部から信号を入力する方法を確認します。ベース回路にブザーを追加スイッチ付きの1秒に1回光らせる回路を作りましたので、ブザーを追加してタイマーを作ってみます。今回から、PICマイコンを使って発光ダイオードを点滅させる回路の製作に入ります。説明が長くなりそうですので、まずどのように説明をするか俯瞰しておきたいと思います。PICマイコンを使った電子回路を開発する手順の復習PICマイコンのプログラム開発手順を復習します。次に、PICマイコンを使ってどのような回路を組んでいけばよいかを説明します。PICマイコンの説明PICマイコンそのものの説明を行い、1で説明した回路をどのように組んでいけばよいかを説明します。必要な回路をブロック毎に説明します。PICマイコン回路を完成させる2で説明したそれぞれ必要なブロックをひとつにまとめて、PICマイコンの回路を完成させますなおこれらの説明は数回に分かれる予定です。第4回」で説明しましたが、再度PICマイコンを使った電子回路を開発する手順を確認しておきます。その手順ですが、PICマイコンの回路を作成し、Mac上のPICマイコンプログラム開発環境であるMAPABX上でプログラムを開発し、最後にそのプログラムをPICKit3経由で作成した回路に書き込みます。ここまでできたら、あとは作成した回路に電池を接続してスイッチを入れて動作させます。この手順からわかることは、PICマイコンを使用した回路には、プログラムを書き込む必要があるので、PICKit3経由でプログラムを書き込めるように、PICマイコンに書き込むための接続回路が必要なこと電池を接続して動作させるため、電源を接続する回路ことが必要なこと発光ダイオードを光らせるので、もちろん発光ダイオードをつなげる回路が必要なことということになります。PICマイコンを中心として、以下のような回路を作成していくことになります。今後、電子回路を見る機会が増えてくると思います。複雑な電子回路になると、見ただけで「なんか無理」みたいな感想を持ってしまいますが、上の図のように電子回路は機能ブロックごとに読み解く、あるいは作成していけばそれほど難しくはありません。PiでLEDを点滅させたい場合も使えます。電子回路を読み解くポイントは、ブロックごとに解読していく、ということを覚えておいてください。ダイオード回路」「プログラム書き込み回路」について順に説明していきます。最後はこれらをまとめて回路を仕上げます。PICマイコンPICマイコンには多くの種類があります。いうPICマイコンを使用します。このPIC12F683の仕様や使い方が詳細に記載されたデータシートがMicrochip社からリリースされています。このデータシートは読めなくてもまったく問題ありませんが、仕様書がある、ということだけ理解しておきましょう。PIC12F683データシート(PDFファイルです)またPIC12F683の主要な仕様は以下になります。PICマイコン本体から出ているリード線(「足」とも呼びます)の数です。この範囲の電圧を与えれば動作しますが、早く動かすには(動作クロックをあげるには)高い電圧が必要になります。MacやPCで「CPUの周波数(速度)」と言われているものにあたります。MacやPCの場合、2GHzとか3GHzが普通ですが、PICマイコンは数MHz〜数十MHz、という感じです。20MHzで動作させるには5.0V以上の電圧が必要となります。2000命令分のプログラムが書ける、と理解してよいと思います。C言語の1命令がここでいう1命令ではありませんので注意が必要です。C言語1命令が実際には何命令になるかはちょっと高度な内容ですのでここでは説明を省略します。プログラム動作中の変数を保持するためのメモリ容量です。このメモリに保持した内容は電源を切ると消えてしまいます(「揮発性メモリ」と呼びます)。電源を切っても消えないメモリです(「不揮発性メモリ」と呼びます)。保持しておきたい値はここに格納します。こちらも単位は「バイト」です。それではまずデータシートに記載されているPIC12F683のピンの機能をデータシートでみてみましょう。PIC12F683データシートより引用)???って感じですよね。これを解読するために、まずは「ピン番号」というものから覚えていきましょう。PICマイコンに限らず、このよなう形状のものはピンを区別するためにそれぞれのピンに番号が振られています。「え〜っと、、、」と、かなり鬱陶しいやりとりが必要になってしまいますよね。そこで、ピン番号を決めるわけです。PIC12F683を上から見ると、以下のようになっています。PICマイコンに限らず、このような形状のものは、片方の辺に半円の切り込みとその近辺に丸いくぼみが付いています。半円の切り込みが左にくるように置いたとき、丸いくぼみのピンから左回りに、1から番号を振っていきます。上の図では、このように番号を振ることになります。先ほどのデータシートで、まずピン番号についてはわかりましたでしょうか。上のデータシートの図では、各ピンがどのような機能をもっているかが書かれています。1番と8番ピンは、なんとなく、VDDとVSS、という機能のピンだろう、ということが想像できると思います(VDD、VSS自体の意味は置いておいて)。それに比べて、2〜7番ピンはいろいろな文字がかかれています。2〜7番ピンにいろいろな文字が書かれている理由ですが、それは、PICマイコンの設定を変更することにより(プログラムで設定を行います)、各ピンがいろいろな役割になることができるためです。ここでは意味までは説明しませんが、例えば、2番ピンであれば、プログラムで設定することにより、”GP5′′、”T1CKI”、”OSC1′′あるいは”CLKIN”のいずれかの機能を持つように設定できる、ということになります(それぞれの意味はわからなくても今は問題ありません)。今回の製作では、このPICマイコンの各ピンを以下の機能として使用します。念のためデータシートのピンの機能説明の図と比較してみてください。番号は書きませんでしたので、どれが何番ピンかご自分で確認してみましょう。各ピンの意味は以下のようになります。このピンに電源のプラスを接続します。今回は約5Vの電池の電源を用意しますので、電池ボックスのプラス側をこのピンに接続します。このピンに電源のマイナスを接続します。電池ボックスのマイナス側をこのピンに接続します。電気信号の入出力ピンとして使用します。具体的には、3番ピン(GP4)は発光ダイオードを点滅させるための外部へ信号を出力するピン、2番ピン(GP5)はスイッチが押されているかを確認するために外部から信号を入力するピンとして使用します。これらのピンは、MacからPICKit3を使ってこのマイコンにプログラムを書き込む際に使用します。PICKit3とのつなぎ方は後ほど説明します。このピンは今回は使用しません。使用しない場合でも何らかの機能として設定することになりますので、実際のプログラムを書くときにはGP2として設定しておこうと思います。この入門が終わったら、このピンを使って何か機能を追加してみるのもいいと思います。繰り返しになりますが(しつこい...)、これまでに、PICマイコンに対して、プログラムを書き込む必要があるので、PICKit3経由でプログラムを書き込めるように何らかの接続回路が必要なこと電池を接続して動作させるため、電源を接続する回路ことが必要なこと発光ダイオードを光らせるので、もちろん発光ダイオードをつなげた回路が必要なことということを説明しました。先ほどPICマイコンの各ピンの役割を説明しました。なんとなくこれらがつながっていそうですよね。発光ダイオード関連の回路プログラム書き込みの回路をつけていきます。これら3つの回路を別々に説明して、最後にひとつの回路にしてみます。