M5StickCのCardKB HATをためす

現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。

概要

M5StickCにキーボードを拡張できるCardKB HATを購入したので、紹介したいと思います。I2C接続のキーボードで入力ができますが、細かい処理は自分で作る必要がありました。

スケッチ

#include <M5StickC.h>
#include <Wire.h>

#define CARDKB_ADDR 0x5F

void setup()
{
  M5.begin();
  Serial.begin(115200);
  Wire.begin(0, 26);
  pinMode(5, INPUT);
  digitalWrite(5, HIGH);
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setRotation(3);
  M5.Lcd.setCursor(1, 10);
  M5.Lcd.setTextColor(YELLOW);
  M5.Lcd.setTextSize(2);
  M5.Lcd.printf("IIC Address: 0x5F\n");
  M5.Lcd.printf(">>");
}
void loop()
{
  Wire.requestFrom(CARDKB_ADDR, 1);
  while (Wire.available())
  {
    char c = Wire.read(); // receive a byte as characterif
    if (c != 0)
    {
      if ( c == 0x0d ) {
        M5.Lcd.setCursor(1, 20);
        Serial.println("RET");
      } else {
        M5.Lcd.printf("%c", c);
        Serial.println(c, HEX);
      }
      // M5.Speaker.beep();
    }
  }
  // delay(10);
}

今現在HATのスケッチ例が存在しません。UNIT版のCardKBスケッチを改造して動かす必要があります。

Wire.begin(0, 26);

の行でHAT側の端子0と26を指定して動かします。

固定方法

裏側にネジ穴が空いているので、M5StickCにネジ穴がある新型の場合固定することができます。

固定しなくても使えますが、パカパカしちゃうのでなるべく両面テープとか、ネジで固定したほうがいいと思います。

本体のネジ穴の深さが4ミリ、基板の厚さが約1ミリとしてM2の5ミリネジを利用して固定しています。ただしHATにはネジが付属しないので、小さめのサイズのネジセットはあらかじめ用意したほうがいいかもしれません。

まとめ

キーボードの処理周りを自分で制御するのはちょっと大変なので、すぐに使いこなすのは難しいと思います。

ローマ字変換して、Web APIとかで変換するとかかな、、、

このへんとかでがんばるのがいいのかな、、、

コメントする

メールアドレスが公開されることはありません。

管理者承認後にページに追加されます。公開されたくない相談はその旨本文に記載するかTwitterなどでDM投げてください。またスパム対策として、日本語が含まれない投稿は無視されますのでご注意ください。