マトリクススイッチを使ったキーパッドについては UNO のチュートリアルでやりました。今回はそれの応用です。
テンキーは Amazon 等で購入できます。
2 種類購入してみました。購入時価格は BSTK100BK が ¥548 (合わせ買い対象製品) で BSTK10BK が ¥731 でした。
テンキーを分解してみた所です。どちらも上部のゴム足に隠れたネジ 2 本を外す事で分解できます。
ROW/COL | 0 (Pin2) | 1 (Pin3) | 2 (Pin4) | 3 (Pin5) | 4 (Pin12) |
0 (Pin7) | - | * | / | ||
1 (Pin8) | 7 | 8 | 9 | Back Space | |
2 (Pin9) | 4 | 5 | 6 | + | |
3 (Pin10) | 1 | 2 | 3 | Enter | Tab |
4 (Pin11) | 0 | 00 | . |
ROW/COL | 0 (Pin11) | 1 (Pin9) | 2 (Pin7) | 3 (Pin5) | 4 (Pin4) |
0 (Pin3) | Num Lock | / | * | ||
1 (Pin6) | 7 | 8 | 9 | ||
2 (Pin1) | 4 | 5 | 6 | 00 | Back Space |
3 (Pin8) | 1 | 2 | 3 | Enter | |
4 (Pin10) | 0 | . | |||
5 (Pin2) | - |
BSTK100BK はその筐体の中に何かを組み込んで使うのに向いており、BSTK10BK はテンキー部分を何かに組み込んで使うのに向いています。
付属の基板をブッた切って流用してもいいのですが、Amazon に変換基板とコネクタが売ってあります。
変換基板は 1.0mm ピッチのものと 0.5mm ピッチのものが入っているわけではなく、1.0mm ピッチと 0.5mm ピッチでリバーシブルなものが 10 枚連なって入っています。
コネクタとピンヘッダをハンダ付けするとこうなります。紛らわしいですが、ピン番号は裏 (0.5mm コネクタ取り付け面) のシルク印刷を読むのが正解だと思います。
コネクタは 12 ピンですが、BSTK100BK のフレキシブルケーブルは 11 ピンしかないので 1 ピン側 (左) に寄せて使います。11 ピンのコネクタは探せばありますが、どのみち 11 ピン用変換基板がないので 12 ピンのコネクタを使った方がいいと思います。BSTK10BK の場合には基板の表裏が逆になります。
接続は以下のようになります。変換基板の 1~11 を Arduino の 2~12 に繋いでください。Arduino 側は全部で 10 ピン必要です。
変換基板 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Arduino Uno | 2 | 3 | 4 | 5 | 6 (未接続) |
7 | 8 | 9 | 10 | 11 | 12 | (未接続) |
BSTK100BK | COL0 | COL1 | COL2 | COL3 | ROW0 | ROW1 | ROW2 | ROW3 | ROW4 | COL4 |
スケッチは以下のようになります。
|
TAB キーを使用しないのであれば Arduino 側は 1 ピン節約できます。以下は TAB キーを使用しないスケッチです。
|
接続は以下のようになります。変換基板の 1~11 を Arduino の 2~12 に繋いでください。Arduino 側は全部で 11 ピン必要です。
変換基板 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Arduino Uno | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | (未接続) |
BSTK10BK | ROW2 | ROW5 | ROW0 | COL4 | COL3 | ROW1 | COL2 | ROW3 | COL1 | ROW4 | COL0 |
スケッチは以下のようになります。
|
Back Space キーや〔-〕キーを使用しないのであれば Arduino 側はそれぞれ 1 ピン節約できますが...場所が悪いですね。Num Lock と 1 ピン引き換えだったらよかったのですが。
キーマトリクスはピンを総当たりで調べようとすると時間が掛かってしょうがないです。かといって現物の接点シートを目で追うのも大変です...間違いもおきますし。ちょっと一手間掛けた方が結果的には早く調べられます。
しきい値での塗りつぶしが可能なペイントツールを使うといいでしょう (Paint.NET とか)。この方法ならテスターで調べるよりも簡単だと思います。
BSTK100BK と Pro Micro 等を組み合わせてカスタムテンキーボードを作るもよし、BSTK10BK のテンキー部を電子工作のパーツに使うもよし...ですね。
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。