Make一覧

Device – HID – Keyboard

 HardwareProfile – LPC USB Development Kit – PIC18F14K50でテスト。

 20130502_01

 ブレッドボードにてLPC USB Development Kitのサンプル基板もどきを作成。左端のタクトスイッチを押すと文字がaからabcdefghijklmnopqrstuvwxyz1234567890とUSB接続したPCへ入力されます。
 サンプルまんまなので無事に動作。今回使った秋月のAE-PIC18F14K50は、USBコネクタもついていて使いやすい。なので、PIC版のキーコンバータでもそのまま使う予定。続いて、UARTからHIDのreportの8byteを受け取ってそれをPC側に渡すようにします。動作確認はHarpyコンバータののTXに繋げればできるし。


PICの開発環境めんどくさ

 USBを扱う事のできるチップが安いので、PICを始めてみたものの。

 今、開発環境の移行時期みたいで、いろいろ面倒。PICのメーカーであるMicrochip社はIDEはMPLAB X IDEに統一したがっている模様。旧版はMPLAB IDE。Xの方はjavaベースなのでWindows/Linux/ハゲOSを統合できるからだな。
 でも、そのチップメーカーが出してるframeworkのライブラリ。これがPIC18では旧コンパイラのC18前提だったり、PIC32MXだと新板のXC32だったりとぐちゃぐちゃです。新コンパイラのPIC18対応版のXC8に対応したframeworkライブラリを公開してほしい。

 というか、PICってマイコンチップ自体がごった煮状態で、種類は多いし、しかもアーキテクチャがまちまち。AVRの様に簡単には行きません。

 うーん、困った。PICは一時しのぎで、基本AVRで開発したいと思うなぁ。


Hapry nano版USBHIDキーコードコンバータ基板固定化

 Harpy nanoとATMEGA8U2 Breakoutの夢の?コラボレーション版HIDコンバータを実用版にするべく、ユニバーサル基板に固定しました。
まず、Harpy nanoに付いているピンソケットをはんだシュッ太郎を使って取り除いた。そして、ピンソケットの部分にピンヘッダを半田づけ。基板長辺側は全10ピン分、基板短辺側はGND,5Vのみ取り付け。

20130427_01

 で、秋月のC基板で配線。分厚い両面タイプを使いたかったけど、表側のランドとHarpy,8U2の裏側が接触すると嫌なので、片面基板を使用。
 機能選択用に2PのDIP SWを取り付け。ソフトウエアシリアルでHarpyのATmega328P側の動作確認できるように、USB-UART基板をつなげるように6ピンのピンソケット設置。配線は、ブレッドボード用のワイヤで、長くてあまり使わない緑、黄色、赤を使用。片側剥かなくても済むし、手頃だしw。

20130427_02

 ケースは秋月のP-00358のポリカケースを想定。基板固定用のネジ穴とUSB端子の部分のカットをすればOKかな。8U2の動作中LEDが結構目障りなのでシール貼るか、SMD抵抗を大きいのに取り替えるか。
 ソフト側は、2bitのDIP SWを載せたので、キーコードパススルーモードも搭載します。なーんの変換もしないモード。でもUSキーボード限定かな。JPのキーボードは変なコード出すからどうなるかは抑えてないのです。

 当然ながらこの記事はこの変換機を使って書いてます。US→US(CAPSLOCKをatl+~変換)のロジックですが。敢えて、日本語キーボードドライバいれて試すのもおつなもんかな。


Pinguino

 PICでUSB HOST関連を探していたらPinguinoが引っかかった。Arduinoライクな開発環境&ライブラリ。
とりあえずIDEをインストール。

20130425_01

 ペンギンの尻尾がUSBなんですけどw。USBサポートが売りなのかな?でも、pickit3があるのでICSP焼きでもよろしいんです。と言うかlibusb-win32を使うみたいで、AtmelStudioのUSBドライバとのバッティングが心配です。

 まずは、PIC32MXで仮のボードを作成しないとね。


今週はいろいろある

 朝会社についたら連れから電話が。出てみたら、こないだ新入りになった金魚のうち丹頂のほうが昇天とな。
昨日内部ろ過の水作を設置するのに底砂をいじったせいだろうか?一番泳ぎが上手かっただけにちょっと残念である。

 帰宅後。丹頂を埋葬。

 帰宅したらHarpy&8U2をちょっといじろうと思っていたのだけど。Harpyが見つからない。ここじゃないここでもないと探して諦めた頃に部品だなの手前側にあるのを発見。
 サクッとブレッドボードで配線。今回は8U2を5V駆動に戻して、8U2のUSBの5VでHarpyを駆動。さらにHarpyから8U2のシリアルはどうせ片方向なのでHarpyのTXを8U2のRXにつなぐだけ。逆方向はつなぎません。3.3V系のHarpyから5V系の8U2はロジックレベル的にはOK。Harpy側が3.3VのHIGHを出しても8U2のHigh相当は2.5V程度でしょうから。もっと低かったかも。
 コードの方はUNO&HOSTシールドの方と同じようにUS→JPNだけでなくUS→USの切り替えも入れました。というわけで、このブログエントリーはこいつで書いてます。

20130424_01

 もうすこしコードを整理したい。電源オン直後のモディファイヤがなんか微妙に初期化されてない気がする。ハード側はHarpyはピンソケットでなくてピンヘッダに付け替えて、ユニバーサル基板に固定して、クロージャーに納めればこれはこれで使えそう。電源は8U2のUSB5Vを使用している関係上Harpy5VのLDOの入りと出の両端に5Vをかけてる状態だけど問題ないかな?問題ありそうなら5V側のLDOを外しちゃいますが。


Arduino UNO & USB HOST SHIELDのキーボードコンバータ運用テスト開始

20130421_03

 USキーボード対応も出来たので、Arduino UNO版もいれ変えました。シールドのdigital5ピンからGNDにジャンパ入れてUSモードです。
 で、問題がないか確かめるために自宅で運用を開始してみます。このブログエントリー自体も、すでにこの変換機を通してます。OS側の変換ドライバは止めてます。この無線キーボードはCAPS,NUMLOCKなどのLEDが無いので、UNOのソフトはLED対応はしてないバージョンです。今のところレスポンスなども特に問題は無さそうです。