2009年5月24日日曜日

Make: Tokyoと電子工作

報告と、簡単なPICマイコンの説明的なものを書いておきます。

Make: Tokyo Meeting 03行ってきました。
LEDクロックがとてもKOOLでした。

で、何も買わないのもちょっとあれだったので、何故か小型のブレッドボード(青色,360円)を買ってみた。

そのブレッドボードを使って、簡単なPICマイコンの回路を作ってみました。
いつもの通り、スイッチ(見にくいけど右側の緑色のやつ)を押すとLEDが点灯するってだけです。
右上の図が点灯前、右の図が点灯後のものです。


とりあえず簡単に解説…。
PICマイコン(以下PIC)とは、内部に自由にプログラムを保存することができるデバイスです。
そして、(電流の)入力と出力を簡単に制御できるので、初心者でもすぐに使うことが出来るようになります。(たぶん
今回はPICの中でもメジャーな、16F84Aを使いました。
16ピンICのタイプのやつです(写真で言うと真ん中のやつ)。
まあ、何はともあれとりあえずピン配置を見てみましょう。
16F84Aのピン配置は以下の通りです。

1 :RA2
2 :RA3
3 :RA4/T0CKI
4 :MCLR
5 :VSS
6 :RB0/INT
7 :RB1
8 :RB2
9 :RB3
10:RB4
11:RB5
12:RB6
13:RB7
14:VDD
15:OSC2/CLKOUT
16:OSC1/CLKIN
17:RA0
18:RA1
(データシートより)

複数あるものは、プログラムの設定によってどちらかを選びます。

さて、ではそれぞれのピンの説明を軽くします。

・VDD、VSS
これらは特に問題ないと思います。
VDDには2.0V~6.0V、VSSには0Vを入れます。

・RA0~RA3、RB0~RB7
これらはそれぞれ4ビット、8ビットの入出力ポートです。
入力にするか出力にするかはプログラムで選べます。

MCLR
これはPICをクリアするピンです。
クリアと言ってもプログラムが消えるわけではなく、プログラムを実行し始める最初の状態に戻るということです。
バーが付いているので、"1"を入力するとそのまま、"0"を入力するとクリアします。
なので普段は"1"になるようプルアップして、スイッチを押すと"0"になるというような感じにしておきましょう。

・OSC1、OSC2
さきほどは説明しませんでしたが、PICはあるクロックに同期して動作をします。
16F84Aの場合は、抵抗とコンデンサ・水晶発振子・セラミック発振子(セラロック)などを選ぶことができます。
(また、外部に回路をつながなくても使える内部クロックを備えているPIC(12F675など)もあります。)
今回使ったのはセラミック発振子です。
写真で言うと、一番左下のやつです。

・その他のピン
使わないから省略!
今回は上に説明したピンだけを使って回路を作りました。
(複数の機能があるピンは、上に説明した機能のほうを使用。)

さて、PICの概要はこんな感じです。
プログラム(アセンブラ言語)も書こうかと思ったけど、長くなるしめんどいから簡単に言って終わりにします、、(もしかしたら今度書くかもだけど
RAの入力をそのままRBに出力しただけ、終わり。
とりあえずスイッチの先をRA0に、RB0をLEDにつないだっていうだけです。


#余談
注意点としては、入力に設定したピンはちゃんとプルアップかプルダウンしとかないと不定な電圧で加わってしまうことですね。

あと写真後方に見えるプラグらしきものは、DCジャックにピンヘッダ付けて無理矢理ブレッドボードに挿せるようにしたやつをACアダプタに付けてるだけだからつっこまないでくれ、、