CardKB Unit V1.1
カードサイズのQWERTY配列キーボード「CardKB Mini Keyboard Programmable Unit V1.1(CardKB Unit V1.1)」をmicro:bitで使用する方法を紹介します。
1.CardKB Mini Keyboard Programmable Unit V1.1の接続
M5StackのCardKB Mini Keyboard Programmable Unit V1.1(以下、CardKB Unit V1.1)は、カードサイズのQWERTY配列キーボード(50キー)です。Grove規格に対応したGroveデバイスで、通信規格はI2Cです。Groveデバイスを使用するためのベースとなる拡張基板「Grove Shield for micro:bit v2.0」などを介して、micro:bitと接続することができます。
Grove Shield for micro:bit v2.0
このMicro:bit Groveシールドがあれば、Groveコネクタを通して、さまざまなにセンサなどを接続することができます。
micro:bitと接続する
CardKB Unit V1.1のGroveコネクターに付属のケーブルを接続します。
ケーブルの他方を「Grove Shield for micro:bit v2.0」のI2C用コネクターに接続します。
micro:bitで、CardKB Unit V1.1を使用する準備が整いました。
Grove Shield for micro:bit v2.0
このMicro:bit Groveシールドがあれば、Groveコネクタを通して、さまざまなにセンサなどを接続することができます。
2.プログラム(ブロック)
CardKB Unit V1.1のI2Cアドレスは「0x5F(95)」です。micro:bitからこのアドレスに対してアクセス(読み出し)することで、押下されたキーのコードを取得することができます。
CardKB Unit V1.1から出力されるコードは、以下のコード表のとおりです。上から「キーを単独で押したとき(Key)」「Symキーと一緒に押したとき(Sym+Key)」「Shiftキーと一緒に押したとき(Shift+Key)」「Fnキーと一緒に押したとき(Fn+Key)」です。
コード表
CardKB v1.1
例えば、Shiftキーを押しながら「A」のキーを押した場合、コード「0x41(65)」が出力されます。
本記事で作成するプログラム
本記事で作成するプログラムは、CardKB Unit V1.1から出力されるコードのうち、0x20(32)~0x7E(126)を文字に変換して表示します。これは、micro:bitのLED画面に表示可能なスペースと!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~に相当します。さらに、上下左右の矢印キーを押したときは矢印アイコン、バックスペースキー・タブキー・エンターキー・エスケープキーを押したときは、それぞれ「BS」「HT」「CR」「ESC」を表示します。
ずっと実行するプログラム
「i2c read number」ブロックを使って、I2Cアドレス「0x5F(95)」からコードを取得して、変数「InKey」にセットします。変数「InKey」の値に応じてそれぞれ文字列、またはアイコンを表示します。
3.プログラム(JavaScript)
プログラム(JavaScript)です。