CardKB は I2C 接続の小さなキーボードです。
直販他で買えます。
新しいタイプ (v1.1) は MCU が ATMega8A に差し替えられています。
ファームウェアは ATMega328P のものがそのまま使えるようです。
CardKB には GROVE コネクタがあり、ケーブルも付属していますので、M5Stack や Wio Terminal に直接接続する事ができます。
GROVE コネクタを持たない Arduino と接続するには別途 GROVE ケーブルを購入して加工する必要があります。
半分に切断すれば 10 本できますね。
※ この製品の GROVE コネクタにはツメが付いていますので、カッターナイフ等で切り落とす必要があります。
※ CardKB は動作電圧が 3.3V なので 5V のマイコンと接続するにはロジックレベル変換が必要となります。
See Also:
左側中央にインジケーター用の RGB LED があります。LED の状態とその意味については次のようになっています。
2ndF | Lock | |
↑ | 赤点滅 | 赤点灯 |
Sym | 緑点滅 | 緑点灯 |
Fn | 青点滅 | 青点灯 |
デフォルトのファームウェアだと、キーコードは次のようになっています。
Esc (0x1B) |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BS (0x08) |
|
↑ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete (0x7F) |
Sym | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | BS |
Fn | (0x80) | (0x81) | (0x82) | (0x83) | (0x84) | (0x85) | (0x86) | (0x87) | (0x88) | (0x89) | (0x8A) | (0x8B) |
Tab (0x09) |
q | w | e | r | t | y | u | i | o | p | ||
↑ | Tab | Q | W | E | R | T | Y | U | I | O | P | |
Sym | Tab | { | } | [ | ] | / | \ | | | ~ | ' | " | |
Fn | (0x8C) | (0x8D) | (0x8E) | (0x8F) | (0x90) | (0x91) | (0x92) | (0x93) | (0x94) | (0x95) | (0x96) | |
Left (0xB4) |
Up (0xB5) |
a | s | d | f | g | h | j | k | l | Enter (0x0D) |
|
↑ | Left | Up | A | S | D | F | G | H | J | K | L | Enter |
Sym | Left | Up | ; | : | ` | + | - | _ | = | ? | Enter | |
Fn | (0x98) | (0x99) | (0x9A) | (0x9B) | (0x9C) | (0x9D) | (0x9E) | (0x9F) | (0xA0) | (0xA1) | (0xA2) | (0xA3) |
Down (0xB6) |
Right (0xB7) |
z | x | c | v | b | n | m | , | . | Space (0x20) |
|
↑ | Down | Right | Z | X | C | V | B | N | M | , | . | Space |
Sym | Down | Right | < | > | Space | |||||||
Fn | (0xA4) | (0xA5) | (0xA6) | (0xA7) | (0xA8) | (0xA9) | (0xAA) | (0xAB) | (0xAC) | (0xAD) | (0xAE) | (0xAF) |
0x80 以上を返すキーは自前で制御する必要があります。
See Also:
CardKB には制御用のプロセッサとして Arduino Uno 等でおなじみの ATmega328P が使われており、ファームウェアを書き換えることができます。ver1.1 には ATmega8A が使われています。
ファームウェアは CardKB の下部にある ICSP 端子に任意の書き込み装置 (プログラマ) を接続して書き換えます。例によって USBasp を使うのが最も簡単だと思います。もちろん UNO 等を書き込み装置にしても構いません。
下部の ICSP 端子に接続します。電圧は 5V で問題ありません。
ピン | 信号 |
6 | GND |
5 | MOSI |
4 | MISO |
3 | SCK |
2 | RST |
1 | VCC |
ICSP 端子はピンヘッダを立ててメスのジャンパーワイヤで接続するのが最も簡単です。ハンダ付けする必要はなく、少し斜めにしてテンションを掛けてやれば大丈夫です。スルーホールの径が小さいのでテンションを掛ける必要すらないかもしれません。むしろピンヘッダの種類によってはピンヘッダが刺さらないかもしれません (金メッキしてあるのは刺さりにくい?)。
確実性を求めるなら、スルーホール用テストワイヤを使うなり、ピンヘッダをハンダ付けしてください。
See Also:
以下、注意点です。
CardKB は内部発振 8MHz で動作するため、クリスタル (水晶発振器) が実装されていません。不適切なブートローダーを書き込むなどして Fuse ビットが書き換わってしまった場合、クリスタルを外付けしない限り Fuse ビットを元に戻すことはできませんし、不適切な Fuse ビットが書き込まれてしまった場合にはヒューズリセッタが必要となる事があるので注意してください。
See Also:
以下、注意点です。
CardKB は内部発振 8MHz で動作するため、クリスタル (水晶発振器) が実装されていません。不適切なブートローダーを書き込むなどして Fuse ビットが書き換わってしまった場合、クリスタルを外付けしない限り Fuse ビットを元に戻すことはできませんし、不適切な Fuse ビットが書き込まれてしまった場合にはヒューズリセッタが必要となる事があるので注意してください。
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。