Step1 PICマイコンとPCとの接続
久しぶりに電子工作なぞしてみます。車の車内イルミネーションを自分の好きなように発光できたら楽しそうだなと思いまして。例えばナイトライダーやクリスマスツリーみたいな。電子部品でガチガチに組む事もできるとは思いますが、それにはそれなりの知識が必要そうで難しい。ならPICマイコン(写真のICチップみたいなやつ)でも使ってプログラムで制御する方が簡単じゃね?と思ったのが今回の工作を思い立った発端です。PICマイコンなぞ初めて触るのでどうなることか。こんな記事でも目を通してくれる人がいるのかわかりませんが、主な用途は私自身の覚書ですのであしからず。
まず参考書籍として用意したのがこちら。「ハムのLED工作お役立ちガイド CQ出版社」です。こういう本って街の本屋じゃまず売ってないからAmazonの評価を参考にポチりました。135P中、特に知りたかったPICマイコンの項は20P弱でしたが、Cのプログラムや開発環境、詳細な解説もされていてだいぶ参考になりました。さし当たっては「PICで作る電子ルーレット」を真似して作ってみようと思います。
買い物と環境準備。PICへプログラムを書き込むライターは「PICkit3(\4700)」をお店で購入。ソフトは「mikroC PRO for PIC(無料)」、「MPLAB X IDE(無料)」をダウンロードしてインストール。いずれもMicrochip Technology社の物。他の買い物としてはPICマイコンのPIC16F88、抵抗、コンデンサ、LED、ブレッドボードとそのジャンパー線。PICは本で使用されてたPIC16F1827がよかったんですが在庫切れで。代替品を選んだポイントは、本に「使用したPICは、18ピンのPIC16F1827で,定番であるPIC16F88の後継にあたります.」とあったからです。ライターのせいでけっこういきましたが7000円ほどのお買い物でした。
ソフトのインストール。プログラミング用に「mikroC PRO for PIC v6.6.1」、プログラムのPICへの書き込み用に「MPLAB X IDE v3.20」をインストールするわけですが、後者の方でつまずきました。MPLAB X IDEをインストールすると、MPLAB X IDE v3.20とMPLAB IPE v3.20のアイコンができるのですがMPLAB X IDEが起動できない。おまけにIPEの方でPICと接続テストしてみてもInitializeエラーかなんか出てまともに通信できないといった具合。結果的にJavaを最新Ver.にする事で解決しましたけど。そういやインストール時にJavaがどうのこうの言われたな、と思い出してやってみたんですけど、うまくいってよかった。
さて準備もできたことだし、ここからが本題のPICとPCの接続についてです。いろいろなサイトを参考にとりあえずPICとPICkit3をジャンパー線でつなぎました(一番先頭の写真参照)。用途がよく分かんないですが10kΩ抵抗も1つ使ってます。こういった情報はネットにあるので、使用PICのデータシートとPICkit3の該当ポート番号を照らし合わせれば配線はそれほど苦労しないはず。ここまで準備できたらいよいよUSBケーブルでPCに接続し、接続テストのためMPLAB IPEアプリを起動します。こいつも若干設定しないとうまく機能してくれないんですよね。「Settings/Advanced Mode/」を選択するとパスワード認証画面が出てくるのでデフォルトの「microchip」と入力すると、Advanced Mode画面になります。
設定の続き。まず、Advanced Mode画面の「Power」で「Power Target Circuit from Tool」にチェックを入れます。これはデフォルトではPICへの電源供給をしていないので電源供給をするってチェックになります。次にその電源供給の電圧をデフォルトの5Vから4Vに変更。というのも5Vのままでやったら赤文字メッセージが出てきたので。PIC16F88のデータシートを見ると電源電圧は、4.0~5.5Vまでとなっているので4Vの設定でもOK。なんで5Vで怒られるのか腑に落ちないところではありますが。
設定も済んだので「Connect」を押して接続。
なんかメッセージ出るけどスルーしていいらしい。
続行すると「Target device PIC16F88 found.」というような表示が出るので接続ができたと確認できます。
ついでに「Erase」選択してメモリ消去を実行。「Erase successful」と出て正常に削除ができました。
さて今回はここまで。次回は実際に電子ルーレットなる物をCでコーディングして、PICに書き込み動かしてみるつもりです。PICも違う事だし全く同じプログラムですんなり動くとは思いませんが。どうなることやら。
追記:
PICkit3の接続ポートについてメモ。なお、PIC側のMCLRとVddは50kΩ抵抗(今回は10kΩを使用)で接続しておきます。
1番Pin: MCLR/Vpp
2番Pin: Vdd Target
3番Pin: Vss Ground
4番Pin: PGD(ICSPDAT)
5番Pin: PGC(ICSPCLK)
6番Pin: 不使用
久しぶりに電子工作なぞしてみます。車の車内イルミネーションを自分の好きなように発光できたら楽しそうだなと思いまして。例えばナイトライダーやクリスマスツリーみたいな。電子部品でガチガチに組む事もできるとは思いますが、それにはそれなりの知識が必要そうで難しい。ならPICマイコン(写真のICチップみたいなやつ)でも使ってプログラムで制御する方が簡単じゃね?と思ったのが今回の工作を思い立った発端です。PICマイコンなぞ初めて触るのでどうなることか。こんな記事でも目を通してくれる人がいるのかわかりませんが、主な用途は私自身の覚書ですのであしからず。
まず参考書籍として用意したのがこちら。「ハムのLED工作お役立ちガイド CQ出版社」です。こういう本って街の本屋じゃまず売ってないからAmazonの評価を参考にポチりました。135P中、特に知りたかったPICマイコンの項は20P弱でしたが、Cのプログラムや開発環境、詳細な解説もされていてだいぶ参考になりました。さし当たっては「PICで作る電子ルーレット」を真似して作ってみようと思います。
買い物と環境準備。PICへプログラムを書き込むライターは「PICkit3(\4700)」をお店で購入。ソフトは「mikroC PRO for PIC(無料)」、「MPLAB X IDE(無料)」をダウンロードしてインストール。いずれもMicrochip Technology社の物。他の買い物としてはPICマイコンのPIC16F88、抵抗、コンデンサ、LED、ブレッドボードとそのジャンパー線。PICは本で使用されてたPIC16F1827がよかったんですが在庫切れで。代替品を選んだポイントは、本に「使用したPICは、18ピンのPIC16F1827で,定番であるPIC16F88の後継にあたります.」とあったからです。ライターのせいでけっこういきましたが7000円ほどのお買い物でした。
ソフトのインストール。プログラミング用に「mikroC PRO for PIC v6.6.1」、プログラムのPICへの書き込み用に「MPLAB X IDE v3.20」をインストールするわけですが、後者の方でつまずきました。MPLAB X IDEをインストールすると、MPLAB X IDE v3.20とMPLAB IPE v3.20のアイコンができるのですがMPLAB X IDEが起動できない。おまけにIPEの方でPICと接続テストしてみてもInitializeエラーかなんか出てまともに通信できないといった具合。結果的にJavaを最新Ver.にする事で解決しましたけど。そういやインストール時にJavaがどうのこうの言われたな、と思い出してやってみたんですけど、うまくいってよかった。
さて準備もできたことだし、ここからが本題のPICとPCの接続についてです。いろいろなサイトを参考にとりあえずPICとPICkit3をジャンパー線でつなぎました(一番先頭の写真参照)。用途がよく分かんないですが10kΩ抵抗も1つ使ってます。こういった情報はネットにあるので、使用PICのデータシートとPICkit3の該当ポート番号を照らし合わせれば配線はそれほど苦労しないはず。ここまで準備できたらいよいよUSBケーブルでPCに接続し、接続テストのためMPLAB IPEアプリを起動します。こいつも若干設定しないとうまく機能してくれないんですよね。「Settings/Advanced Mode/」を選択するとパスワード認証画面が出てくるのでデフォルトの「microchip」と入力すると、Advanced Mode画面になります。
設定の続き。まず、Advanced Mode画面の「Power」で「Power Target Circuit from Tool」にチェックを入れます。これはデフォルトではPICへの電源供給をしていないので電源供給をするってチェックになります。次にその電源供給の電圧をデフォルトの5Vから4Vに変更。というのも5Vのままでやったら赤文字メッセージが出てきたので。PIC16F88のデータシートを見ると電源電圧は、4.0~5.5Vまでとなっているので4Vの設定でもOK。なんで5Vで怒られるのか腑に落ちないところではありますが。
設定も済んだので「Connect」を押して接続。
なんかメッセージ出るけどスルーしていいらしい。
続行すると「Target device PIC16F88 found.」というような表示が出るので接続ができたと確認できます。
ついでに「Erase」選択してメモリ消去を実行。「Erase successful」と出て正常に削除ができました。
さて今回はここまで。次回は実際に電子ルーレットなる物をCでコーディングして、PICに書き込み動かしてみるつもりです。PICも違う事だし全く同じプログラムですんなり動くとは思いませんが。どうなることやら。
追記:
PICkit3の接続ポートについてメモ。なお、PIC側のMCLRとVddは50kΩ抵抗(今回は10kΩを使用)で接続しておきます。
1番Pin: MCLR/Vpp
2番Pin: Vdd Target
3番Pin: Vss Ground
4番Pin: PGD(ICSPDAT)
5番Pin: PGC(ICSPCLK)
6番Pin: 不使用








