フットキーボードのベース回路製作

ガジェット製作

フットキーボード本体のベースとなる回路を製作します。

フットキーボート製作の進め方

前のエントリでインストールした、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…” を選択します。

Project Openメニュー

プロジェクトを選択するダイアログになりますので、インストールしたLibraries for Applicationsフォルダの下の “USB”フォルダ内の “USB Device – HID – keyboard” という名称のプロジェクトを開きます。実際にオープンするには、”USB Device – HID – Keyboard”フォルダ → “Firmware” → “MPLAB.X”を選択して “Open Project” ボタンを押します。

Projectオープン

続いて、プロジェクト内のファイルを確認してみます。Hardware Profileを開くと、

プロジェクトファイル

いくつかハードウエアプロファイルがありますが、先のエントリで確認したように、XC8コンパイラでコンパイルできるハードウエアプロファイルは “LPC USB Development Kit – PIC16F1459” のみでした。Development Kitと書いてあるので、Microchip社から発売されているキットだと思い、探してみましたが見当たりませんでした。代わりに、PIC18F14K50を使用した開発キットが発売されていました。これです。

LPC USB Dev Kit

さらに、ユーザガイドがありましたので、以下のように16F1549用のテスト回路を製作しようと思います。

  1. PIC18F14K50のDevelopment Kitの回路から、キーボード用の必要な回路を確認する。
  2. PIC18F14K50のテスト回路をつくる。
  3. PIC16F1459用にかきかえる。

ということで進めます。。。

 

PIC18F14K50のDevelopment Kitの回路から、キーボード用の必要な回路を確認する。

Development Kitサイトページの下の方に、ユーザガイドかあります。その中を確認したところ、Development Kitの回路がありました。

DevKit with 18F14K50
(Microchip社 Low Pin Count USB Development Kit User’s Guideから引用)

この回路からキーボードに必要なものを取り出します。サンプルプロジェクトの “keyboard.c” の内容をざっと見ると、スイッチひとつと発光ダイオードがひとつあればなんとかなりそうです。さらに他に必要な回路をみてみると、だいたい以下の内容になりそうです。

Dev Kit必要回路

この必要な回路をベースに、テスト回路をつくってみます。

 

PIC18F14K50のDevelopment Kit回路を参考にテスト回路をつくる

テスト回路を作る上で、スイッチはひとつしかないのでいいですが、Development Kitには4つの発光ダイオードが付いています。どのピンを使用すればよいかわからないので、ソースコードを確認してみます。

まず、keyboard.cです。ここで発光ダイオードの点滅をしているのは以下のあたりのようです。

keyboard.c

なぜか2つの発光ダイオードを操作しているので、とりあえず “mLED_1” を回路に組み込んでみようと思います。mLED_1をHardware Profileで確認すると、PIC18F14K50は以下のようになっていました。

Hardwareprofile 18F14k50

ということで、”LATC0″ということから、RC0ビットが使用されているようです。これらの情報から、USBキーボードのテスト回路を以下のように作ってみました。

PIC18F14K50テスト回路

 

PIC16F1459用に書き換える

PIC18F14K50のテスト回路をPIC16F1459用に書き換えます。まず、発光ダイオードのピンが異なっているようですので確認します。16F1459のhardware profileをみると以下のようになっています。

Hardwareprofile 16F1459

mLED_1はLATC2、ということからRC2ピンになっています。また、PICKITへの接続ピンも異なっていますので、それらを考慮してPIC16F1459用にかきかえると以下のようになりました。

PIC16F1459テスト回路

 

テスト回路のEAGLEファイル

上のテスト回路はEAGLEを使ってかきました。参考に公開しておきます。

EAGLEからの開き方は以下の手順です。

  1. ファイルをダウンロードして解凍する。
  2. 解凍したディレクトリをそのままEAGLEのプロジェクトフォルダにコピーする。
  3. EAGLEのプロジェクトフォルダから開く。

ところで…

ちょっとややこしい内容になってきましたので、このシリーズとは別に、MacでPIC開発をするための入門的なエントリも書いていこうと思います。

 

変更履歴

 

日付 変更内容
2013.2.17 初版

« »