2016年09月01日 | 公開。 |
SparkFunのTouch Shield(タッチシールド)を使ってみましたので、レビューします。
昨年、Arduinoのアクリルケースのキットを買った際に、SparkFunのTouch Shieldも同時に買いました。元々、私も自分でキーパッドを作っているのですが、タッチセンス式のキーパッドも設計してみたくて、参考までに既製品のTouch Shieldを買いました。
忙しくてなかなかTouch Shieldを使う時間がなかったのですが、今回ようやく使う機会がありましたので、レビューします。
結論から言うと、Touch Shieldには、ちょっと使いにくい所がありました。その内、ソフトウェア面での使いにくさは、自分で若干改善してみました。後で詳しく述べます。
Touch ShieldはSparkFunの販売しているArduino Uno R3用のタッチセンス式キーパッドのシールドです。MPR121というタッチセンス用のICを搭載しており、ArduinoとはI2C(TWI)で通信をします。
MPR121は、1.71~3.6Vの範囲で動作するICなのですが、このシールドではArduinoの供給する3.3Vの電源で動作させています。5VのI2Cインターフェースと通信するために、5V、3.3V間のレベルコンバーターを内蔵しています。
MPR121は12個のタッチスイッチを扱えるICなのですが、このシールドには3×3の9個のタッチセンスキーしか付いていません。残りの3個のタッチセンスキーに付いては、シールド上の拡張端子(写真1参照)から配線を引き出して、自作のタッチセンスキーを付ける形で使います。
MPR121自体はI2Cのアドレスが5AH~5DHの範囲で選択できる様になっていますが、シールド側で5AHに固定されています。
使用する信号線は表1の通りです。この表の他に、5V、3.3V、GNDの電源線も使います。
Arduino Uno のピン |
MPR121の 信号名 |
---|---|
A4 | SDA |
A5 | SCL |
D2 | /IRQ |
Touch Shieldの対応機種に関しては、SparkFunのMPR121 Hookup GuideのTouch Shieldのページを見ると、「Arduino Uno R3向けに設計されているが、Arduino Megaの様に同じフットプリントのマイコンでも使える」という、あいまいな記述になっています。
Touch Shieldを組み立ててみます。
今回は、Touch Shieldを日本橋のデジットで購入しました。購入時には写真2の様な袋に入っていました。
開封すると、写真3(表面)および写真4(裏面)に示すTouch Shieldの基板と、写真5に示す説明書が入っていました。
説明書は、デジットが独自に添付した物だと思われます。この説明書にはSparkFunによる英文の基板の紹介文と、回路図が載っていますが、これだけの情報ではTouch Shieldを動作させられませんので、SparkFunのサイトを参照する必要があります。
基板には、Arduinoに装着するのに必要なピンヘッダが半田付けされていません。また取り付けるためのピンヘッダも商品には付属していませんので、自分で用意する必要があります。
普通のオスのピンヘッダを半田付けしたのでは、Touch ShieldをArduinoに装着した時に、信号が取り出せなくなってしまいます。そこで、手元にあった、足の長いピンソケットを半田付けする事にしました。(写真6参照) このピンソケットは、スイッチサイエンス(6ピンの商品の販売ページ・8ピンの商品の販売ページ)や秋月電子(6ピンの商品の販売ページ・8ピンの商品の販売ページ)などで購入する事ができます。
足の長いピンソケットをシールドにうまく半田付けするのは意外とむずかしいものです。下手に付けると、ピンソケットが基板から浮いたり、傾いて付いたりします。全ピンを半田付けしてからそれらの不具合を修正するのは極めて難しいので、失敗しないように慎重に半田付けする必要があります。
今回は、別のシールドを、半田付けのための治具にして、確実に半田付けする方法を使いました。
まず、何か別のシールドを用意して、裏返しにします。(写真7参照) 用意するシールドの種類は問いませんが、裏返しにした時にぐらつかないシールドが必要です。(今回用意したのは128×64モノクログラフィックLCDシールドです。) 次に、裏返しにしたシールドのピンに、半田付けしたい足の長いピンソケットを装着します。(写真8参照) 次に、ピンソケットの足を、Touch Shieldの取り付け穴に通します。(写真9参照) 写真9の状態で半田付けすれば、ぐらつきませんし、ピンソケットが傾いて付く心配もありません。半田付けの終わった状態の写真を写真10に示します。
なお、足の長いピンソケットのシールドへの半田付けの方法を説明した動画もありますので、ご覧ください。この動画では、別のシールドを用意できない場合の半田付けの方法も解説しています。
半田付けが終わったら、Arduinoに装着して使える状態になっています。(写真11参照)
この写真を見ると分かるのですが、タッチキーとピンソケットの間に余裕がないので、ちょっと打ちにくいです。また、USBケーブルやACアダプタのプラグをArduinoに装着すると、ケーブルが手前に来るのも使いにくいです。
キーパッドをシールドの状態で使うと、その上にLCDなどの表示用のシールドを装着して、入力した文字を表示する事ができません。LCDのブレークアウト基板をArduinoの横に用意して、配線して使う方法もありますが、それならLCDをシールドとしてArduinoに装着し、キーパッドを別付けにする方が使いやすそうです。(I/Oピン一つで読める4X4キーパッドキットサポートページ(2)の写真32を参照)
SparkFunは、Capacitive Touch Keypadという、別付けのキーパッド基板も販売していますが、こちらの方が使いやすそうです。安くてキーが多いという点でも、メリットがあります。
次のページでは、Touch Shieldを動作させるソフトウェア(スケッチ)について説明します。
商品名 | I/Oピン一つで読める4X4キーパッドキット | |
税抜き小売価格 | 900円 | |
販売店 | スイッチサイエンス | |
サポートページ | I/Oピン一つで読める4X4キーパッドキットサポートページ |
商品名 | I/Oピン一つで読める4X4キーパッド(完成品) | |
税抜き小売価格 | 1380円 | |
販売店 | スイッチサイエンス | |
サポートページ | I/Oピン一つで読める4X4キーパッド(完成品)サポートページ |
商品名 | I/Oピン一つで読める4X5キーパッドキット | |
税抜き小売価格 | 2400円 | |
販売店 | スイッチサイエンス | |
サポートページ | I/Oピン一つで読める4X5キーパッドキットサポートページ |