フットキーボード本体のベースとなる回路を製作します。
フットキーボート製作の進め方
前のエントリでインストールした、Microchip社のLibraries for ApplicationsにはUSBキーボードのサンプルプログラムが入っています。フットキーボードはこのサンプルプログラムとその回路を元に徐々に拡張して製作したいと思います。
USBキーボードサンプルとは?
Microchip社が提供しているUSBキーボードサンプルは、スイッチがひとつのキーボードで、そのスイッチを押していくと、”a” “b” “c” … “y” “z” “1” “2” … “0” と押すたびに入力文字が変わっていくもののようです。(サンプルプロジェクトの説明より)
まずは、ひとつのスイッチ(キー)のUSBキーボードができれば、それにスイッチを追加していけば欲しいフットキーボードがつくれそうです。早速サンプルを確認していきたいと思います。
USBキーボードサンプルの内容を確認する
Libraries for Applicationsの中に、”USB Device – HID – Keyboard” というサンプルが入っています。まず、以下のプロジェクトを開くボタンか、MPLABXの “File” メニュー → “Open Project…” を選択します。
プロジェクトを選択するダイアログになりますので、インストールしたLibraries for Applicationsフォルダの下の “USB”フォルダ内の “USB Device – HID – keyboard” という名称のプロジェクトを開きます。実際にオープンするには、”USB Device – HID – Keyboard”フォルダ → “Firmware” → “MPLAB.X”を選択して “Open Project” ボタンを押します。
続いて、プロジェクト内のファイルを確認してみます。Hardware Profileを開くと、
いくつかハードウエアプロファイルがありますが、先のエントリで確認したように、XC8コンパイラでコンパイルできるハードウエアプロファイルは “LPC USB Development Kit – PIC16F1459” のみでした。Development Kitと書いてあるので、Microchip社から発売されているキットだと思い、探してみましたが見当たりませんでした。代わりに、PIC18F14K50を使用した開発キットが発売されていました。(2023年時点では発売されていません)
さらに、ユーザガイドがありましたので、以下のように16F1549用のテスト回路を製作しようと思います。
- PIC18F14K50のDevelopment Kitの回路から、キーボード用の必要な回路を確認する。
- PIC18F14K50のテスト回路をつくる。
- PIC16F1459用にかきかえる。
ということで進めます。。。
PIC18F14K50のDevelopment Kitの回路から、キーボード用の必要な回路を確認する。
Development Kitサイトページの下の方に、ユーザガイドかあります。その中を確認したところ、Development Kitの回路がありました。
(Microchip社 Low Pin Count USB Development Kit User’s Guideから引用)
この回路からキーボードに必要なものを取り出します。サンプルプロジェクトの “keyboard.c” の内容をざっと見ると、スイッチひとつと発光ダイオードがひとつあればなんとかなりそうです。さらに他に必要な回路をみてみると、だいたい以下の内容になりそうです。
この必要な回路をベースに、テスト回路をつくってみます。
PIC18F14K50のDevelopment Kit回路を参考にテスト回路をつくる
テスト回路を作る上で、スイッチはひとつしかないのでいいですが、Development Kitには4つの発光ダイオードが付いています。どのピンを使用すればよいかわからないので、ソースコードを確認してみます。
まず、keyboard.cです。ここで発光ダイオードの点滅をしているのは以下のあたりのようです。
なぜか2つの発光ダイオードを操作しているので、とりあえず “mLED_1” を回路に組み込んでみようと思います。mLED_1をHardware Profileで確認すると、PIC18F14K50は以下のようになっていました。
ということで、”LATC0″ということから、RC0ビットが使用されているようです。これらの情報から、USBキーボードのテスト回路を以下のように作ってみました。
PIC16F1459用に書き換える
PIC18F14K50のテスト回路をPIC16F1459用に書き換えます。まず、発光ダイオードのピンが異なっているようですので確認します。16F1459のhardware profileをみると以下のようになっています。
mLED_1はLATC2、ということからRC2ピンになっています。また、PICKITへの接続ピンも異なっていますので、それらを考慮してPIC16F1459用にかきかえると以下のようになりました。
テスト回路のEAGLEファイル
上のテスト回路はEAGLEを使ってかきました。参考に公開しておきます。
https://github.com/tool-lab/foot-keyboard-trial
EAGLEからの開き方は以下の手順です。
- ファイルをダウンロードして解凍する。
- 解凍したディレクトリをそのままEAGLEのプロジェクトフォルダに移動する。
- EAGLEのプロジェクトフォルダから開く。
ところで…
ちょっとややこしい内容になってきましたので、このシリーズとは別に、MacでPIC開発をするための入門的なエントリも書いていこうと思います。
変更履歴
日付 | 変更内容 |
---|---|
2013.2.17 | 初版 |
2019.3.19 | ダウンロードファイルをGithubに引っ越し |