Files
2019-04-16 17:47:14 +08:00

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)GPIO22GPIO215VGND
CardKBSCLSDA5VGND

関連動画

  • CardKB デモ - 01