4.5 KiB
Unit CardKB {docsify-ignore-all}
📝概要 :octocat:サンプルコード 🛒購入リンク 🎬関連動画
概要
CardKB は、小型のQWERTYフルキーボードです。キーを組み合わせる(Sym+Key, Shift+Key, Fn+Key)ことで、よりたくさんの値を出力することが可能です。M5Coreとの通信にはGROVE A ポート(I2C)を利用します。 I2Cアドレスは0x5Fです。
1. ボタンコンビネーション概要
-
どれかひとつのキーを押すと1番目にキーに割り当てられた値を出力します。(文字ボタンはデフォルトでは小文字を出力します) 例えば"Q"キーを押すと、小文字の"q"が出力されます。
-
Sym+キーを押すと、2番目に割り当てられた値を出力します。 例えば"Sym"キーを押した後に、"Q"キーを押すと"#"が出力されます。"Sym"キーを素早くダブルクリックすると、"Sym"キーの機能がロックされ、以降はすべてのキーの2番目に割り当てられた値が出力されます。
-
Shift+キーを押すと、キーに割り当てられた大文字を出力します。 例えば"Shift"キーを押した後に、"Q"キーを押すと、大文字の"Q"が出力されます。"Shift"キーを素早くダブルクリックすると"Shift"キーの機能がロックされ、以降はすべてのキーが大文字で表示されるようになります。
-
**Fn+key(カスタム機能キー)**を押すと3番目に割り当てられた値を出力します。Fnを押した時の反応をカスタマイズすることができます。
2. キーの組み合わせとキーバリューテーブル
キー単独、Sym + キー、Shift + キー、およびFn+キーの組みわせに対応するキーバリューは以下の通りです。
特徴
- GROVEインターフェース、I2C通信
- フルキーボード機能、複数キーコンビネーション
パッケージ内容
- 1x CardKB ユニット
- 1x Grove ケーブル
アプリケーション
- M5Stack Core用キーボード
関連リンク
サンプルコード
1. Arduino IDE
完全なソースコードはこちら。
#include <Wire.h>
#include <M5Stack.h>
#define CARDKB_ADDR 0x5F
void setup()
{
M5.begin();
Serial.begin(115200);
Wire.begin();
pinMode(5, INPUT);
digitalWrite(5, HIGH);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(1, 10);
M5.Lcd.setTextColor(YELLOW);
M5.Lcd.setTextSize(2);
M5.Lcd.printf("I2C Address: 0x5F\n");
M5.Lcd.printf(">>");
}
void loop()
{
Wire.requestFrom(CARDKB_ADDR, 1);
while (Wire.available())
{
char c = Wire.read(); // 受信データ1バイトを文字に
if (c != 0)
{
M5.Lcd.printf("%c", c);
Serial.println(c, HEX);
// M5.Speaker.beep();
}
}
}
2. UIFlow
完全なソースコードはこちら。
ピンマップ
| M5Core(GROVE A) | GPIO22 | GPIO21 | 5V | GND |
| CardKB | SCL | SDA | 5V | GND |
関連動画
- CardKB デモ - 01

