現時点の情報です。最新情報は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とかで変換するとかかな、、、
- Google CGI API for Japanese Input
- Yahoo! JAPAN デベロッパーネットワーク かな漢字変換Web API
このへんとかでがんばるのがいいのかな、、、
コメント