いよいよフットキーボードのテスト回路を動作させてみます。
準備
PICKIT3でPICマイコンにプロクラムを書き込む、というのは、PICマイコンのプログラムメモリエリアに電圧をかけてプログラムバイナリデータを書き込む処理を行う、ということになります。そのため、書き込みの際は電源が必要になります。
この電源ですが、外部から供給する方式と、PICKIT3から供給する方式があります。PICKIT3から供給できるのであれば、つねにPICKIT3から電源供給すればお手軽ではないか、と思いますが、そうでないケースもあります。
それは書き込む回路の部品数が多く、回路の消費電力(必要電流)が大きい場合です。PICKIT3で書き込む際、回路には電源が供給されてしまいます。そのため回路の消費電力が大きい場合、PICKIT3からの電源(電力)供給が追いつかない場合があります。その場合は電源を外部から供給して書き込みを行います。
今回は部品数が少ないので、PICKIT3からの電源供給で問題ないと思います。ということで、電源はPICKIT3から供給する設定を行います。
まず、プロジェクトのプロパティを開きます。
次に、Categoriesから “LPC_USB_Development_Kit_PIC16F1459” の “PICKit3” を選択します。(他のカテゴリの”PICKit3″を選択しないように注意してください)
右側のダイアログがPICKIT3に関する設定項目になりますので、上の “Option categories” メニューから “Power” メニューを選択します。
Powerメニュー設定が表示されますので、”Power target circuit from PICKit3″ をONに、”Voltage Lovel” から “5.0” (5V)を選択します。
これで準備完了です。
ビルド&書き込みを行う
早速ビルドと書き込みを行ってみます。
前のエントリで “USB Device – HID – Keyboard” というプロジェクトを開いていますので、左側のプロジェクト領域に表示されていると思います。そのプロジェクトを選択して、以下のようにプロジェクトのカテゴリからPIC16F1459用を選択します。
このあと、ビルドと書き込みを実行しますので、PICKIT3とテスト回路を接続しておきます。ただ、秋月通商で購入したピンヘッダは片方が短いので、PICKIT3を押さえながら実行します。こんな感じ↓
ビルド&書き込みボタンをクリックします。
ビルドはエラーなく終わりましたが、警告メッセージが出ました。
これは、書き込み対象のPICマイコンに、例えば5V動作モデルと3.3V動作モデルがある場合に、3.3V動作モデルに対して5Vの電源供給で書き込みを行うとぶっ壊れるかもしれないけど大丈夫だよね、という念押しメッセージです。今回の回路は5V動作可能なモデル(PIC16F1459)を使用していて、先ほど5V電源供給の設定をしていますので問題ありません。OKボタンを押して進めます。
すると、、、
今まで見たことないメッセージが表示されてしまいました。
PICマイコンにはそれぞれ型番に対応するIDが振られています。書き込みを行う際、プロジェクトで設定したPICマイコンのIDと、実際の書き込む先のPICマイコンから取得したIDが一致しているかチェックが行われます。
このメッセージが表示されるのは、普通は回路の配線が間違っていて、PICマイコンのIDが取得できない(0x0が取得される)場合に表示されます。
ただ、このメッセージが不思議なのは、取得したID(Target Device ID)が0x0で、本来のIDも0x0、で両方0x0になっている点です。取得したIDが0x0というのは配線が間違っていることが多いですが、本来のIDが0x0、というのは見たことがないです。
困りました。
で、困ったときは、とりあえず見なかったことにして先に進める、というのがいいですね。(ホントか?)
見なかったことにしてOKボタンを押します。
ログを見ると、書き込みとベリファイが終わっています。
なんか、”Target Device ID…” という警告が赤字で書かれてて、見なかったことにできないんですけどぉ。まぁ、いいですかね。
MacのUSBポートに接続してみる
なんかちょっと不安を抱えたままですが、思い切ってMacのUSBポートにつないでみましょう。
すると、、、
なんかUSBデバイスと認識されたっぽいです。回路のLEDで点滅しました。(ソースコードを見ると、どうもそのような動作のようです)
で、Macのほうは、
おっ、なんかキーボードとして認識してもらえたっぽい。ただ、普通のキーボードではないから、キーボード認識の処理が走ったようです。「続ける」をクリックします。
えっ?ええっ?ボタン1個しかないのに。左Shiftキーどころか、Shiftキーなんてないし、その右隣って、、、かなり難易度が高い。というか、無理ゲーじゃね?って感じで困ったので、とりあえず回路にあるタクトスイッチを何回か押してみました。
すると、
なんか、Macが諦めてくれた感がでてきた。OKボタンをクリックします。
えっ?またなんか変なダイアログが。。。とりあえずここは嘘つくしかなさそうです。JISキーボードってことでw、そのまま完了ボタンをクリックします。
変なダイアログは消えて、そのままおとなしくなったので、ちょっとシステム情報を見てみます。
optionキーを押しながら左上のリンゴマークをクリックすると、システム情報にすぐ飛べます。
システム情報ダイアログが表示されたら、USBを選択します。すると、
ありました、ありましたよ。Keyboard Demo、とい名前で認識されてます。
テキストエディットアプリで動作確認
なんか認識されたっぽいので、テキストエディットアプリで動作確認してみます。
テキストエディットアプリを立ち上げで、回路のタクトボタンを押すと、
動きました。押すたびにa, b, c … x, y, z, 1, 2 … 9, 0, a, b …と繰り返します。
ということで、無事とは言い難いけど、動いてよかった。
このあとどうするか
最終的には、ボタンを4個つけて、さらに各キーの設定を行うMacのアプリをつくりたいのですが、いろいろとやることがあります。
- 回路のボタンを4個に増やして各キーに固定キーを割り当ててみる
- command + wのように修飾キーはどういう信号になっているか調べる
- MacからUSBキーボードに設定データを送信する方法を調べる
- MacからUSBキーボードの設定データを吸い上げる方法を調べる
- Macのアプリをつくる
ということで、まだまだやることいっぱいありそうです。これらを行う前に、一度サンプルプロジェクトのソースコードを見ておこうと思います。ソースコード把握できたらまた記事書きます。
変更履歴
日付 | 変更内容 |
---|---|
2013.3.2 | 初版 |