PIC解説

PIC超入門!ゼロからLチカまでの道【その1:部品購入~IDE導入】

投稿日:

電子工作を始めてみたいけど、何から手を付けていいか分からない…。そんな方のためのゼロからLEDを点滅させる(通称Lチカ)ところまでの超入門講座です。

PICとは

まず初めにPICについて軽く紹介したいと思います。

PIC はマイコンの一種で C言語(やアセンブラ)でプログラミングすることができます。マイコンといえば PIC の他には Arduino や Raspberry Pi などが有名です。

違いや特徴について、Raspberry Pi は OS を搭載していて高度な処理をすることができます(使ったことないのでよく知りませんが)。

Arduino はできることは PIC と同等ですが、コアとなるマイコンだけでなく、電源ポートや通信ポートなどの周辺機器がセットになったマイコンボードとして売られています。また、ライブラリも豊富で初心者にも手を出しやすいようです(使ったことないのでよく知りませんが)。

PIC の特徴は、ズバリそのシンプル性と安さにあります。マイコンというのはメモリの制約の中で開発しなければならないので、ライブラリの冗長なコードに頼るのではなく自分が必要なものだけを書いた方が良いことが多々あります。
そして何よりも安いです。プログラマーが初期投資として少々値が張りますが、PIC本体は百円ちょっとで買えるのでランニングコストはとても安いです。Aruduino や Raspberry Pi はちゃんとしたものは数千円はしますから、安くて気軽に使えるのは大きなメリットです。

必要なもの

まずは電子工作を始めるにあたってLチカまでに必要となるものを紹介します。

1.必須のもの

どれも当たり前のものばかりです。マイコンや LED などの電子部品は秋月電子が安くて品ぞろえも豊富なのでお勧めです。ネット通販で購入できます。

今回は PIC16F1827、PICkit3、Windows 10 の PC で開発していきます。Mac でもできますが、私は Windows しか持ち合わせていないので、そちらの説明はできません。

PIC の選び方についてはページ下部にオマケ情報として書いておきました。

ブレッドボードとはこのように電子部品を挿すことによって、はんだ付けすることなく回路を作ることのできる便利なものです。

LED は好きな色のもので構いません。色によって電圧が違ったりするので、何色もあった方が面白いかもしれませんね。

LED を光らせるときに、抵抗を挟まずに直接電源に繋げてしまうと、ショートして LED が壊れてしまうので抵抗が必要となります。よく使う抵抗値としては、100Ω、1kΩ、10kΩ あたりがあれば困らないと思います。

電源に関しては、マイコンの種類にもよりますが、基本的に 3.3V~ 5V が必要となります。電池でも大丈夫ですが、先程の写真のように USB を電源とすると簡単に 5V が得られるのでお勧めです。

2.あるといいもの

  • スイッチや可変抵抗、コンデンサ、センサーなどその他電子部品
  • ユニバーサル基板
  • はんだごて、ニッパー、ラジオペンチ
  • テスター

今回はLチカまでの講座なので使いませんが、送料などの問題もあるのでその後使いたい電子部品も一緒に買っておいた方がよいでしょう。

Lチカはブレッドボードでできれば十分ですが、もっと発展的なものを作るときには、ブレッドボードで試作した後ユニバーサル基板にはんだ付けして回路を作ることになると思います。それまでは、はんだごて等はなくても大丈夫です。(ブレッドボードで使うモジュールを組み立てるのには必要かも)

テスターは確実に1台持っておいた方がよいでしょう。電圧を測定したり、導通チェックしたりあると便利な場面が多くあります。

電子部品やはんだごては Amazon でセットになっているものが安く売っているのでそういうものを買ってもいいと思います。若干信頼性には劣りますが、趣味で使用するには十分だと思います。

 

MPLAB X IDE の導入

PIC のプログラミングをするときは、Microchip社が無料で提供している IDE の MPLAB X IDE を使います。

今回は実際に Windows 10 の PC に導入しながら説明をしていきたいと思います。

※この記事は2020年7月のものです。最新のものと違う可能性があることをご了承ください。

 

まずはこちらのページにアクセスして下の方にある Downroads から Windows 用のインストーラーをダウンロードして実行します。

下の画面において、IPE は必要ないのでチェックを外していいです。また、8bitマイコンしか使う予定がない場合は、16bit や 32bit のチェックを外して構いません。

インストールが終了するとき、一つ目のチェックだけ入れておくとすぐに次のステップに行けて便利です。

ここで紹介されている MCC(MPLAB Code Configurator)はコンフィギュレーションの設定等(その3で解説)を GUI を使って行えるプラグインです。私はコードの透明性を重視するために使用していませんが、便利なので通常のコンフィギュレーション設定ができるようになってから一度試してみるとよいと思います。

 

次に XC8 コンパイラをインストールします。

インストール終了時に開いたページで先程と同様に Downroads の Windows用のインストーラーをダウンロードして実行します。

こちらは特に設定せずにそのままインストールすれば大丈夫です。

これで IDE を使う準備が整いました。次回は IDE を使ってプログラミングを行います。

PIC超入門!ゼロからLチカまでの道【その2:プロジェクト作成~プロパティ設定】

おまけ:PICの選び方

秋月電子のサイトで PIC を検索してみると分かりますが、PIC はめちゃくちゃ種類が多いです。そのため、どれを選べばいいのか分からないと思います。最初に使うのは紹介した PIC16F1827 でいいと思いますが、今後作品を作るときに状況に適した PIC を選ぶ方法を軽く紹介します。

選ぶ際のポイントとなるのは以下のようなものがあります。

  1. IOピンの数
  2. 搭載しているモジュール
  3. PPS
  4. メモリ容量
  5. 値段

まずは IOピンの数です。PIC には8ピン、14ピン、18ピン、28ピンというように色々な大きさのものが存在します。大は小を兼ねるとは言うものの、使わないピンが多くあってはリソースの無駄遣いですし、基板上のスペースも無駄遣いすることになりますから、必要十分の大きさの PIC を選ぶとよいでしょう。

次にモジュールですが、PIC にはタイマーやシリアル通信、ADC(Analog to Degital Converter)など様々なモジュールがあり、関連レジスタを制御することでハードウェアで様々な機能を果たしてくれます。 しかし、モジュールは PIC の種類によって搭載している種類と数が異なるので、必要とするモジュールを搭載しているか確認しましょう。

PPS(Periferal Pin Select)とは、モジュールの入出力ピンを自由に割り当てられる機能です。先程のモジュールの話に関連しますが、使いたいモジュールを搭載していても、複数の機能が一つのピンに割り当てられていて同時に使えないということがあります。PPS機能があれば好きな機能を好きなピンに割り当てられるので、そういった問題の解決に繋がるほか、配線の自由度が増すといったメリットもあります。あって損はない機能です。

続いてメモリ容量。プログラムサイズは書いてみないと分からないので適切な大きさを見極めるのは難しいですが、いくつも作品を作るうちに経験的にどれくらいあれば足りるか見当がつくようになるかな?もちろん大は小を兼ねるのですが、せっかくマイコンを使っているので、限られたメモリの中でプログラムの無駄をそぎ落として美しいコードを書く体験をしてみてもいいと思います。

最後に値段です。気を付けなくてはいけないのは、PIC に関しては値段と性能が比例しないことです。古くて性能が低い PIC が高く、新しくて高性能な PIC の方が安いということはしばしばあります。

8bitマイコンの中では、PIC16F1xxx という型番のシリーズが Enhanced Mid Range と呼ばれ、高機能低価格で使いやすいものになっているのでお勧めです。

-PIC解説

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【PIC】ぷちFatFsでmicroSDカードと通信する

今回は PIC で microSDカードを使用する方法を紹介します。なお、microSDじゃなくて普通のSDカードでも同様にできるはずです。 以下 microSDカードも含めて SDカードと呼ぶことに …

PIC超入門!ゼロからLチカまでの道【その2:プロジェクト作成~プロパティ設定】

前回 MPLAB X IDE を導入したので、今回はプロジェクトの作成から説明していきます。 前回の記事はこちら PIC超入門!ゼロからLチカまでの道【その1:部品購入~IDE導入】 目次1 プロジェ …

PICでUSARTに四苦八苦

今回はパソコンとのシリアル通信に挑戦しましたがなかなか苦労しました。最初に結論だけ言うと、 マイコンの TX は相手の RX に、RX は TX に! 逆に接続するよ! ってことでした。それでは本文↓ …

【PIC】SPI通信のやり方

多くの PIC に搭載されている MSSPモジュールを使うと I2C と SPI の2つのシリアル通信を行うことができます。 今回は SPI通信のやり方(マスター)を紹介します。 I2C についてはこ …

PIC超入門!ゼロからLチカまでの道【その4:プログラム書き込み~Lチカ】

前回プログラムが完成したので、あとはプログラムを書き込んで、回路を組み立ててついにLチカです! あともう少しでゴールなので頑張りましょう。 前回の記事はこちら PIC超入門!ゼロからLチカまでの道【そ …