購入時のカードキーボードのファームウェアにバグがあったので、バグ対応された最新版に更新します。
更新前は、ループにdelay(1000)入れた状態で、こんなでした。
ちなみに、delay 1000でこんなでした。28秒ぐらいのところで入力成功してますw
requestFromの戻りもチェック入れた状態なので、現状は手詰まりですー。 pic.twitter.com/y9CZYsNarE— Nochi (@shikarunochi) 2019年1月21日
ファームウェアはM5StackのGitHubで公開されていました。
M5-ProductExampleCodes/Unit/CARDKB/firmware_328p/CardKeyBoard/CardKeyBoard.ino
ファームウェア更新には、キーボード下部に付いているスルーホール端子を用います。
端子の並びは、M5Stack公式さんから情報提供いただきました。
From left : 5v rst sack miso mosi gnd
— M5Stack (@M5Stack) 2019年1月22日
左から、5V / RST / SCK / MISO / MOSI / GND
Be care about select arduino pro at 8m
— M5Stack (@M5Stack) 2019年1月22日
書き込み先のボードは Arduino Pro 8MHz を選べばよいとのこと。
この端子に接続するためには、ピンをはんだ付けする必要があるのかなー、って思ってたのですが、テストワイヤーという便利なものがありました。バネが付いてて、はんだ付けなしで接続することが可能です。
秋月電子通商:スルホール用テストワイヤ TP-200 (10本入)
http://akizukidenshi.com/catalog/g/gC-09830/
バネ付き端子が両側のものと、片側のものがあるので気を付けてください。
僕はArduinoと接続するので、片側は通常のピンになっているのを選びました。
テストワイヤー便利なのですが、何度も抜き差ししてると、バネがヘタッてきたり、スルーホールの方がダメージを受けたりするみたいです。
JO3GBD:スルーホール用テストワイヤを使ってみました
http://jo3gbd.blog.shinobi.jp/Entry/653/
ちょくちょく使うなら、素直にピンを生やすか、ICクリップみたいなのを用いるのがいいかもですね。僕は、たまーのファームウェア更新に使うだけなのでそんなに気にしないことにします。
書き込みは、他のArduino端末をISP書き込み装置にすることで行います。
Arduino学習に使っていたMEGA2560に活躍の時が!
まずは、Arduino を書き込み装置にするためのスケッチを書き込みます。
スケッチ例から「11.ArduinoISP」を選択。これはふつうに書き込めばOK。
Arduinoと書き込み対象ボードを接続します。
こちらのページに、各種ボードでの接続例が解説されていました。
DEKOのアヤシいお部屋。:Arduino ブートローダーを書き込む (AVR)
https://ht-deko.com/arduino/bootloader.html
うちの場合はArduino MEGA2560なので、接続はこう。
MEGA2560 | CardKB |
GND | GND |
52 | SCK |
50 | MISO |
51 | MOSI |
10 | RST |
5V | VCC |
プスッと配線。
Arduino UnoやMega 2560など一部ボードでは、自動リセット回路を無効にするため、Arduino as ISP にした後で、RESET<->GND 間に 10μF程度のコンデンサを入れる必要があります。
接続完了!接続が終わったら、CardKBファームウェアのスケッチを開きます。
書き込み対象にボード「Arduino Pro or Pro Mini」、プロセッサ「ATmega328P(3.3V,8MHz)」を選択。
書き込み装置に「Arduino as ISP」を選択。
やはり、最初の1回目は緊張しますね…。
「書き込み装置を使って書き込む」を選んで書き込み開始。(「マイコンボードに書き込む」の方を選ばないように!)
ピカー。すごい光る。しばらくすると、書き込み完了!
delay(1000)でも入力問題なし!
バッチリだ!
(入力の遅延が起きてるのは、想定通りの遅延です。) pic.twitter.com/3whMfjnUo0— Nochi (@shikarunochi) 2019年1月25日
確認してみたところ動作問題なし!OKです!
ついでに、Sym+”.”で”>”が入力できない現象も対応しました。ファームウェアの「Sym」押下時の「.」のマッピングを変更。
変更前:{ '.', '.', '.', '<', '>', 174, 174},//.
変更後:{ '.', '.', '.', '>', '>', 174, 174},//.
これで再度ファームウェア更新。
ファームウェア更新しました!
ロックしなくても”>”の入力ができるようになったー! pic.twitter.com/onlKXzuVNu— Nochi (@shikarunochi) 2019年1月28日
バッチリ!
ファームウェア書き込み終わったら、書き込み装置の設定を「AVRISP mkII」など普段使っているものに戻すのを忘れないでね!
Amazonリンク貼りつつ、なんですけど、海外からの通販に抵抗が無い場合は、本家M5Stack の AliExpress で購入してみるのもいいかと思います。販売されている商品の種類も多くて、価格も少し安めです。ただし、到着まで半月~1ヶ月ぐらいかかります。