PICと電子工作PICチップが使えるようになれば、電気を自由自在に操れます。様々な創作活動に応用できます。一度覚えれば一生ものです!PICとはPICはプログラム可能なICチップの事です。Microchipという会社の製品です。PIC扇風機や洗濯機などの家電には、PICのようなICチップが搭載されているので、ボタンを押したらスタートしたりタイマー設定したりできるのです。PIC以外にも、H8、AVR、ARMといった商品が販売されています。デバッグエクスプレスを購入しました。32018年7月29日追記:2018年3月1日にPICkit4が発売されました。2か月前に秋月電子で販売されていましたが、その後見かけなくなりました。boardが付属しています。この基板がない、Pickit3単体でもPICチップにプログラム可能です。デバッグエクスプレスしか在庫がなかったのでデバッグエクスプレスにしました。現在まで実験用基板を使う機会はほぼありませんでした。PICに関する情報は様々あり、とても混乱しました。秋月電子ではライタが販売されていますが、これが必要なのかどうか、ダウンロードできる開発環境がMicrochip以外から販売されているが、わざわざ購入する必要があるのかなど、疑問に思いました。見聞きした情報からの想像です。昔はライタ、開発環境、コンパイラーが別々になっており、各社が価格と性能、使用期限などに差をつけて商品をリリースし、マーケットを作っていたようです。IDEやXCコンパイラーをリリースして状況が大きく変わったようです。IDE、コンパイラーにXC8を使うのが一般的なようです。C18コンパイラー、CCS社Cコンパイラーを前提とした、以前の開発環境のままのようです。Microchip社は移行を促しているようです。C18の製品寿命は終わりに近づいています。Cコンパイラへの移行ガイド」を作成しました。(開発環境)とコンパイラーをPCへインストールします。各PICチップはこれらのいずれか1つに対応します。私はすべてインストールしておきました。次に説明書とレッスンファイルをダウンロードしました。MPLABを起動すると以下の画面になります。boardの説明です。(18F45K20)の制御方法を勉強できます。Xで簡単に動作しないので、はっきり言って時間の無駄です。XとMCCを使ったPICプログラミング」へ進むことをお勧めします。(^^;まずはレッスンファイルを解凍しました。LED.cなどのファイルがあることを確認してください。Pickit3を接続します。Pickit3のドライバーは提供されていないようです。IDEが起動していれば、Pickit3が自動的に認識されます。POWERとACTIVEが点灯します。STATUSはまだ点灯しません。3プロジェクト作成アイコンをクリックします。Project]の順にクリックします。Project]を選択します。2先ほど解凍したmcpファイルを指定します。3書き込みたいPICチップの型番を指定します。自動的にPIC18F45K20が選択されます。(PIC18)]にするとDeviceが絞り込まれます。Deviceで[PIC18F45K20]を選択します。4PICkit3をクリックします。5コンパイラー選択画面です。XC8の下にある行をクリックします。6そのまま[Next]をクリックします。Filesになりますが[Finish]をクリックします。ビルドアイコンを押します。Project]の順にクリックします。するとプログラムがバイナリコードへ変換されるのですが、失敗してしまいました。サンプルプログラムのはずなのに。Filesのあたりから挙動が怪しいなと思いましたが。C18」用のものだと思われました。<xc.h>へ修正することでビルドできました。実行プログラムをPICチップへ書き込みます。そのためにはPICチップのVDDに電圧がかかっている必要がありますが、PICkit3が半自動的にやってくれます。Project]の順にクリックします。continue?3.3V仕様のPICチップを接続している場合に間違って5V仕様のPICチップ設定になっていると、デバッガ(PICkit3)がPICのデバイスIDをチェックする時にダメージを与えてしまうのです。3.6Vになっていました。間違って5VのPICチップ設定になっているとダメージになるという事ですね。普通はCancelを押します。OKを押してみましょう。(O.O)エラーが表示されました。3.書き込み対象となるPICチップが見つからないというエラーです。PICkit3からPICチップへ電力供給するよう設定しなければならないのです。Properties]の順にクリックします。categories:を[Power]にします。PICkit3]にチェックを入れ、[OK]します。Levelがデフォルトでは5.00なので、3.25にします。3.6Vであればいいのだと思いますが、私は3.25しか使ったことがありません。Project]の順にクリックします。again]にチェックし、[OK]をクリックします。completeと表示されれば、書き込みが正常完了しました。PICは直ちに動作を開始しています。基板上のLED7が点灯しました!一度書き込みが完了すると、そのPICは電池でも動作するようになります。PICkit3を外して電池で動作することを確認しました。手元にあった電池で3.0Vを接続しました。LEDが光っていますね。(裏面にゴムがついているため)、下の部分を使用しました。IDE上で動作しません。動作するバージョンを探したのですが、見つかりませんでした。それでもいくつかは動作したので、ここに掲載しておきます。LEDの修正点は以下の通りです。動くようにはなりました。Cコンパイラへの移行ガイド」に書かれているようです。基板上のLED7が200ミリ秒間隔で点灯と消灯を繰り返します。以下の通り修正すると動作しました。基板上のLEDのうち1つがLED0、LED1、・・・LED7、LED0、LED1、の順に点灯します。時間設定の部分は少し違います。1ms.修正後__delay_ms(1);ヘッダファイルにも修正が必要です。Input.hを開き、修正してください。基板上のLEDのうちLED0が点灯します。基板上のスイッチSW1を押すとLED0が消灯し、LED1が点灯します。LED0、LED1、・・・LED7、LED0、LED1、の順にLEDが移動します。PWMにとりかかりました。Inputと同じです。ヘッダファイルも修正してください。時間設定の部分は少し違います。基板上のLEDのうちLED7が点滅します。点滅の光は徐々に明るくなり、明るくなったら今度は徐々に暗くなります。明暗の間隔は3秒位です。コメントをキャンセル頂いたコメントは見逃さないようにメールでも送られるようになっています。入力しても公開されることはありません)サイト(任意)次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。