M5Stack用CardKBをPS/2インタフェース対応にしてみる(2)
前回の続きです。
GithubにてPS/2インタフェース対応ファームウェアを公開しました。
・ CardKeyBoard PS/2 インタフェース版 ファームウェア
https://github.com/Tamakichi/CardKeyBoard_PS2
(2019/03/10 更新しました: (内容) PS/2イニシャル時0X00送信削除、応答無しでも次に進む、LED点滅廃止)
オリジナル版になかった [カナ] 、[Insert]、[F1] ~ [F10] キー等を追加しました。
IchigoJamでのローマ字カタカナ入力にも対応しています。
プログラム入力には困らないと思います。

ケーブルには次の信号を割り当てています。

IchigoJamで利用する場合、
ジャンパーワイヤー(オス - オス)を使って、端子に接続でも利用出来ます。
GND - GND
VCC - 5V or 3.3V
KBD1 - CLK
KBD2 - DATA
USBコネクタ(オス)を用意して、結線してUSB接続でも利用出来ます。

キーを押すのが固めですが、公開されているこのキーボード用ケースの
3Dプリンター用データを出力して装着すると、かなり改善されて入力しやすくなりました。

ファームウェアの書き込みが少々面倒ですが、下記のサイトにて詳しい方法が
分かりやすく解説されています。大変参考になりました。
・しかるのち - M5Stack:CardKB ファームウェア更新
2019/03/10 追記
IchigoJam(V1.3.1)での利用で、キーボードを認識しないとの報告があり、
手持ちの世代の違うIchigoJamを試したところ、認識出来ないボードが1つありました。

下段のビデオ端子が白いボードが認識出来ませんでした。
ファームウェアは1.2.1と古いですが、安定したバージョンです。
調べると、キーボード起動時のLED(NeoPixel)点滅が原因のようです。
制御を行うAdafruit NeoPixelライブラリが内部で割込停止を行っており、
PS/2イニシャル処理(ピン変化を割込みで検知)の邪魔をするようです。
点滅を無くすと認識出来るようになりました。
他のボードは問題なかったので、起動時の微妙なタイミングで発生するようです。
(電源周りの差異で立ち上がりが微妙に違う等)
« M5Stack用CardKBをPS/2インタフェース対応にしてみる(1) | トップページ | プロペラ2の評価ボード »
「arduino」カテゴリの記事
- Freenove Mecanum ホイール カー キットを購入しました(2025.05.28)
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
「IchigoJam」カテゴリの記事
- Ichigojam Rが届きました(2021.02.05)
- β版 IchigoJam Rを予約注文しました(2021.01.23)
- IchigoJamのファームウェア 1.4.1が正式に公開されました(2019.12.10)
- 「ichigoツール」をGithubにて公開しました(2019.11.09)
- ichigojamのファームウェアを1.4b13にアップデートしました(2019.11.06)
コメント
« M5Stack用CardKBをPS/2インタフェース対応にしてみる(1) | トップページ | プロペラ2の評価ボード »

またまた教えてください。
M5stack-c用キーボードに関して。
面白そうなのでキーボードを購入いたしました。
IchigoJamに接続しようとするのですが上手くいきません。
ファームの書き換えはまだしていません。
IchigoJamのバージョンは、最新の1.3.1です。
ファームの書き換え以外にすることはありますでしょうか?
よろしくお願いします。
投稿: rokuraku | 2019年9月24日 (火) 17時48分
rokurakuさん
M5Stack用CardKBキーボードをIchigoJamのPS/2インタフェース接続のキーボードとして認識させてるためには、
このキーボードのファームウェアの書き換えが必要となります(改造が必要)。
ファームウェアの書き換えにより、本来のI2C接続の4線をPS/2キーボード接続の信号線に強引に変更しています。
本記事にも記載していますが、下記リンク先の内容に従って書き換える必要があります。
https://github.com/Tamakichi/CardKeyBoard_PS2
この作業は、Arduinoに関する知識が必要です。書き換えを行うライター(書き込みツール)も必要となります。
M5Stack用CardKBキーボードは、無改造(ファームウェア書き換え無し)でも、
I2C接続でIchogJamにつなげて、I2CRコマンドで押されたキーの文字を取得することが出来ます。
この場合は、BASICにてI2CRコマンドを使ったプログラム実行中でのみでの利用となります。
モニター上で、プログラムを入力したりするキーボードとしての利用は出来ません。
投稿: たま吉さん(管理者) | 2019年9月24日 (火) 20時48分
ご回答ありがとうございます。
やはりそうですよね、書き換えが必要ですね。
だいぶん前になりますがAVRでアプリを開発していた時があります。
書き込みツールもあったっと思いますので、やってみます。
(書き込みに失敗して元に戻らなかったら悲劇です)
今後ともよろしくお願いいたします。
P.S
記事では、キーボードアプリの書き換えは、必須の様に読めるのですが、そうですか?
投稿: rokuraku | 2019年9月25日 (水) 08時25分
rokurakuさん
> (書き込みに失敗して元に戻らなかったら悲劇です)
私も1回、書き込みに失敗しAtmega328pを交換しました。
HEXファイル書き込みで、ヒューズビットの設定ミスで、文鎮状態になってしまいました。
通常ではれば、高電圧にてヒューズビットのリセットが出来るのですが、
M5Stack用CardKBキーボードでは、そのための端子がないため、チップ交換の対処となりました。
書き込みはArduino IDE経由が、ヒューズビットの設定が不要なので安全だと思います。
> P.S
> 記事では、キーボードアプリの書き換えは、必須の様に読めるのですが、そうですか?
PS/2インタフェースでの利用の場合は、書き換え必須となります。
I2C接続で利用するのであれば、書き換え不要です。
その場合、IchigoJamではBASICインタプリタのI2CRコマンドで利用出来ます。
モニターでの対話入力のキーボードとしては利用出来ません。
P.S
知人が、このM5Stack用CardKBキーボード単体でBASICインタプリタを公開しています。
CardKeyBoardでArduinoBasicが動作する自作ポケコン
https://github.com/KeiTakagi/ArduinoBasic_cardKB
この発想は面白いですね。
IchigoJamについては、facebookのIchigoJam-FANグループに有用な情報が多数投稿されています。
グループ管理者は開発者の福野さんです。
私もメンバーです。製作物の発表、情報・意見交換、質問等も気楽に行えるグループです。
facebookのアカウントが必要ですが、お勧めの情報源です。
https://www.facebook.com/groups/ichigojam/
投稿: たま吉さん(管理者) | 2019年9月26日 (木) 09時02分
いろいろと参考情報頂き、ありがとうございます。
ArduinoにもBASIC書き込みました。
BASICもやってみると面白いですね。
今後ともよろしくお願いします。
投稿: rokuraku | 2019年9月26日 (木) 18時22分