難しい話はあとにして、具体的にチップを決めよう! 
 おすすめのチップはこれで・・・。どれもフラッシュタイプで、何万回も書き換え可能です。

記事が豊富なチップとは・・・PIC16F84A・・・これが基本かな?

PICを使用した記事の多くは、PIC16F84Aが使われています。このチップなら13本の信号を
出し入れできるので、回路を製作するにも手軽です。


  左の図は、PIC16F84Aの端子図です。

  VDDに+5Vを、VSSには0Vを接続します。

  OSC1とOSC2には発振回路を外付け
  します。発振回路には、抵抗とコンデンサを
  接続したり、水晶振動子やセラロックと呼ば
  れる部品を接続します。

  また、MCLRはリセット端子で、通常はHi電圧を
  加えておく必要があるので、プルアップ抵抗で
  +5Vに接続しておく必要があります。

単純にチップに電圧を加えるだけでは動かないので、部品がある人には問題ないのですが、ちょっとした工作で
使用する場合には、他のチップも検討すると良いと思います。

なお、16F84Aでは、RA0〜RA4のポートAで5本と、RB0〜RA7のポートBで8本の、合計13本が制御で
使用できます。すべて、デジタル(0または1で表現される信号)の入出力で使用します。

また、このチップは日本語マニュアルが出ています。多くのチップは英語マニュアルなので、とても貴重な存在
かもしれません。(市販の本を買う前に一読すると良いでしょう。マニュアルは倉庫のコーナーでどうぞ。)


外付け部品を少なくできるチップとは・・・PIC16F628A

18本のチップの中で、極力外付け部品を減らし、制御可能な端子の数を増やしたい人は、PIC16F628Aが
おすすめです。


 OSC1とOSC2の端子を見ると、RA7とRA6と
 記述されています。実は、内部にクロックパルス
 を発振する回路が内蔵されており、4MHzのクロ
 ックで良ければ、この端子を入出力の端子として
 使用することができます。

 また、MCLR端子にもRA5と記述されています。
 リセット信号を入力するように使用することも可能
 ですが、チップの設定を行うことで内部に内臓され
 たプルアップ抵抗でHI電圧がMCLR回路に供給
 され、この端子を入力端子として使用することが
 許されます。

発振回路とマスタークリア用プルアップ回路をPICの内部回路で代用することにより、RA0〜RA7、RB0〜RB7の
合計16本が入出力できるようになります。この場合、電源を配線するだけでコンピュータは動くようになります。

 注意が必要なのは、4番ピンのRA5は入力専用ということです。出力端子としては機能しません。
 (上の図の矢印の向きを注意してご覧下さい。)

 なお、設定次第では、PIC16F84Aと同様使用することができるので、上位互換チップとして使用が可能です。

 また、AN0〜AN3の端子があります。中にアナログ電圧を比較する回路が内蔵されており、AN0とAN1の端子の
 どちらが大きいか?など、判定結果をもとに処理に違いを与えることが用意にできます。(電圧比較回路内蔵)
 ただし、A/D変換器を内蔵しているわけではないので、数値として取り込むことはできません。

 マニュアルは英文しか公開されておりませんので根気が必要です。(インド文字と韓国文字はあったかも?)

  それでも、価格の安さと豊富な機能は魅力的です。しかも、部品点数が少なくてすみますからね・・・。


20本以上の制御ピンが欲しい、A/D変換を使いたい人は
                    
PIC16F876 or PIC16F873

16本の制御端子では足りない!という場合、ワンサイズ大きなPICを選択することになります。
PICのシリーズの中に28本足のチップがあり、その中にはスリムなパッケージのものがあります。
フラッシュタイプの代表的なものにPIC16F876とPIC16F873があります。


  16F876と16F873との違いは
  メモリの容量です。
  趣味の範囲であれば、どちらのチップを
  使用しても大差無いと思います。

 16F873の方がメモリ容量が少ないので
 多少価格が安いことになります。
 (実際には同値段かもしれません。。。)

 VSSの端子が2つありますが、内部で
 導通状態になっています。
 ですから、どちらか一方のVSSの端子に
 電源の0Vを接続すれば良いということに
 なります。

入出力端子は、RA0〜RA5のポートAで6本、RB0〜RB7のポートBで8本、RC0〜RC7のポートCで8本、
合計22本の信号を入出力させることができます。

また、AN0〜AN4の端子はアナログ入力が可能です。前述のPIC16F628Aと異なる点はA/D変換器を内蔵
していることです。10bitのA/D変換器なので、0〜5Vを1024分割し数値として読み込むことが可能です。
この他にも、PWM制御出力やシリアル通信など様々な回路が内蔵されています。

なお、デフォルトの状態だとアナログ入力が優先されたり、低電圧プログラミングモードがアクティブとなり、単純に
デジタルで入出力をしようと思っていても、それなりの初期設定が必要となるので注意が必要
です。

詳しい使用方法については、日本語マニュアルが公開されていますので それを参考にすると良いでしょう。


もっと制御ピンが欲しい人は・・・PIC16F877 or PIC16F874

制御すべきものが多い場合、もっとI/Oの本数が欲しいことがあります。気軽にハンダ付けできるDIPパッケージの
チップの中で、制御端子の数が多いものは40ピンのPICとなります。
フラッシュタイプのもので、PIC16F877やPIC16F874があります。



  16F877と16F874との違いは
  メモリの容量です。
  趣味の範囲であれば、どちらのチップを
  使用しても大差無いと思います。

 16F874の方がメモリ容量が少ないので
 多少価格が安いことになります。
 (実際には同値段かもしれません。。。)

 VSSやVDDの端子が2つありますが、内部で
 導通状態になっています。
 ですから、どちらか一方のVSSの端子に
 電源の0Vを接続し、どちらか一方のVDD端子
 に電源電圧を加えれば良いということになります。




上の端子図を見て下さい。どうですか、ポートの種類が多いことがわかるでしょ?
制御に使える端子は、RA0〜RA5のポートAで6本、RB0〜RB7のポートBが8本、RC0〜RC7のポートCが8本、
RD0〜RD7のポートDが8本、RE0〜RE2のポートEが3本で、合計33本のI/Oを持っています。

端子の中に、AN0〜AN7の8ヶ所の端子があり、ここからアナログ電圧を読み込み10ビットの数値に置き換えて
読み込むことができます。

仕様については、上記のPIC16F876,PIC16F873の説明書と兼用で解説がされており、日本語版が用意されて
います。このマニュアルも、メニュー「倉庫」の欄でダウンロードできるようにしています。

このチップも、デフォルトでは低電圧プログラミングモードがONとなってしまい、RB3の端子が正常に使えない場合が
あります。また、入力をしようとしてもアナログ入力が優先され、デジタルの値が読み込めないというトラブルも、発生
することがあります。プログラムの最初に正しい初期設定を行う命令を記述しておく必要があり、注意が必要です。

A/D変換器やコンパレータ、PWM出力、シリアル通信用端子など、多くの機能が凝縮されています。簡単な制御から
高度な制御まで幅広く使用できる万能チップです。


小型のものが必要だ!という人は・・・・・・PIC12F629
しかもA/D変換もしたい!という人は・・・PIC12F675

たった8本のチップです。極力外付け部品を減らすことも可能です。内部クロックと内部プルアップ機能を設定
することで、6本の信号の入出力を行うことが可能です。


 今までのチップとは雰囲気が
違います。

 RAやRBという分類ではなく、
 GP※と表現されています。

 もともと最大でも6本しか制御
 端子が無いので、ポートごとで
 分類する必要が無いわけです。

このチップの魅力的なところは価格の安さです。
1個150円程度ですし、10個以上購入する場合には
更に安価になります。
次に小型ということです。小さなものの中に組み込むには手頃な大きさです。
また、電池を配線するだけでコンピュータを動かすことができるのも助かります。

この小さなボディに、10bitA/D変換器やカウンターなど、一通りの回路が内蔵されています。

A/D変換器を内蔵するかどうかの違いのこのチップ、価格の違いは10円程度です。
大きさはちっちゃなボディですが、色々実験してみるには面白いチップだと思います。

ただし、残念ながらマニュアルは英文しか用意されていません。
英文マニュアルを机の上に置き、実際に制御が出来た場合には、周囲の人たちから「できるヤツ」と思われるかも??


どうですか? ちょっとは チップ選択の考えが固まりましたか?