TouchMIDI40

Created Date: 2021-02-04/ updated date: 2021-07-25
Owner & Collaborators
License
Summary
TouchMIDI40は、40個の静電タッチセンサを操作することで、MIDI Note On/Off情報をUSB MIDIを通して出力できる電子基板です。静電センサですので、筐体などに触れるだけで音が鳴る楽器、装置などに使用することが可能。メディアアート作品への利用などに最適なデバイスです!

Materials

    Tools

      Blueprints

        Making

        • TouchMIDI40の特徴について紹介します。
          • 写真のように、円周上に配置した端子と電極を繋ぐだけで、すぐにタッチ式のMIDI楽器を作ることができます。
            タッチセンサは2,3mmの厚さでも反応するので、例えばアクリル板などの内側に銅箔テープなどを貼っておけば、触れたら反応するオブジェが製作できます!
          • 普通の電気製品では一般的ではない赤い円形の基板にしてみました。これだけでも、ちょっと目を引きます。
            サイズは直径8cmです。また取り付け用のネジ穴が5箇所あります。
          • TouchMIDI40 にさらに別の機能を追加したいのであれば、本ボードにArduinoのブートが書き込まれているので Arduino IDE上で、Arduino Leonardoとして開発ができます。また、出荷時に書き込まれているファームウェアも公開しています。
          • 基板上には、J6からUARTシリアル入出力が、J7からI2Cが、そして J3, J4 はその他の余った端子が割り当てられています。ファームウェアから、これらの端子を自由に利用することが可能です。
            いわば、このボードは静電タッチ機能付きの Arduino Leonardo なのです。
        • 実際にMIDI音源を鳴らすまでの使い方について説明します。
          • 写真は、TouchMIDI40を使って電極を取り付けた一例です。
            このように、基板周辺の電極の端子と銅箔テープを導線で繋ぐことで、銅箔テープがタッチセンサになります。
            タッチ部分はこのように銅箔テープを使うのが一番簡単ですが、導通する素材であれば何でも構いません。ただし面積は約1平方cm程度、また極力薄くしてください。
            なお、導線は絶縁皮膜で覆われたポリウレタン線を使うといいでしょう。なるべく細いものを使用ください。
          • micro USB端子を持つUSBケーブルを用意してください。
            このケーブルでTouchMIDI40とPCを直接接続します。
          • TouchMIDI40をPCとUSBで繋ぐことで、PCにMIDIデータを送信できます。
            この状態で、例えば Mac の GarageBand を立ち上げると、選ばれた音色を鳴らすことができます。他にも、PCでMIDI受信できるアプリなら、何でも鳴らすことができます。
          • 基板の真ん中付近に、二つのLEDが実装されています。

            D2は、電源が入ると緑に光り、USB信号が出力されるたびに点滅します。
            D3は、エラー表示用の赤のLEDです。通常は光りません。

          • J2に2×3のピンヘッダをハンダ付けすることで、ISP端子経由でファームウェアを書き込みできます。40個のタッチセンサ、I2C端子、UART端子、その他ポートを自由自在にお使いください。
          • 静電センサの効き具合は、タッチ部の大きさ、材質、指との間隔、導線の距離など、多くの要素に影響されます。
            したがって、この製品に任意のタッチスイッチを取り付けても正常に動作しない可能性があります。この場合、まずはタッチ部や導線の処理について調整してみてください。

            一般的には、導線が短く細いほど安定し、スイッチ部は1平方センチの面積が最適なようです。
          • D3は、I2Cに繋がっているタッチセンサ用デバイスが正常にアクセスできない場合に点灯します。基板上の回路がショートしたりしていないか確認してください。

            このLEDが点灯する状況が変わらない場合、奇楽堂までお問い合わせください。
        • 本製品のファームウェアを公開しています。Arduino IDEでロードしてプログラム開発ができますので、使用目的に合わせて、独自に改変して利用いただいて構いません。
          ここでは、公開しているファームウェアに関する情報をいくつかご紹介いたします。
        • ファームウェアの書き込みのために、書き込み機をまず用意していただく必要があります。書き込み機の紹介と、Arduino IDEからの書き込み方法を紹介します。
          • Pro Microと呼ばれるボードを購入します。ATmega32U4, Leonardo などのキーワードがあれば、そのボードで問題ありません。

            この基板を利用して、書き込み用のISP端子を引き出します。
            写真は、私が自作した書き込み機です。
          • Arduino IDE上で開発したファームウェアを実機に書き込みます。
            接続後、ツールメニューのシリアルポートで、適切なデバイスに繋がっているか確認してください。
            書き込みの際は、矢印ボタンではなく、スケッチメニューの「書込み装置を使って書き込む」を使ってファームの書き込みを行ってください。
        • ここでは、私の確認用に、また興味のある方への紹介を兼ねて、TouchMIDI40の製造、チェック方法について記載します。
          • ガーバーデータを基板製造サービスのサイトにアップロードし、基板を発注します。今回販売している基板は、SeeedのFusionPCBというサービスを利用しています。
            また、必要な電子部品を入手します。
          • リフローで基板に電子部品を実装します。
            写真はハンダクリームを塗った後と、部品を載せている途中の様子です。

            リフロー後、基板の裏側のUSBコネクタ部の4つの穴にハンダを盛って、コネクタがもげないよう補強をしておきます。(若干気持ちの問題)
          • まずATmega32U4用のブートローダを書き込みます。
            1. Arduino IDEを立ち上げ、本体を書き込み機に接続し、書き込み機をPCとUSB接続します。
            2. ツールメニューで、ボードをArduino Leonardoに、シリアルポートを接続したボードに設定します。
            3. ツールメニューの下の方で、書込装置を「Arduino as ISP(ATmega32U4)」に設定します。
            4. ツールメニューの一番下の、「ブートローダを書き込む」を行います。

          • デバッグ、動作確認用に、I2C端子(J7)にAdafruitの8*8 LED Matrixを接続します。

            また最初にファームを書き込む際、configuration.h の SETUP_MODE を 1にしておきます。

            上の「ファームの書き込み」の手順に従い、最新ファームを書き込みます。書き込み直後、8*8LED Matrixには「15」が表示されます。これは4つの静電センサがまだ設定されていないことを表します。
          • Cypress CY8CMBR3110チップに対して、本製品用の設定を書き込みます。四つチップがあるので4回行います。

            まず、JP1にハンダを盛って導通させます。
            ここでUSBを接続し電源を入れると、U2への設定書き込みが行われます。他の3つのICはエラーになるので、エラーLEDがしばらく点灯した後、3回点滅します。
            その時、8*8LED Matrixには、「14」が表示されるはずです。(2+4+8)

          • 次に、JP2にハンダを盛って再度電源を投入。
            同様にエラーLEDがしばらく点灯した後、3回点滅し8*8LED Matrixには12が表示されます。(4+8)

            さらに、JP3にハンダを盛り、電源を入れ直すと、8*8LED Matrixに8が表示されます。

            最後に、JP4にハンダを盛り、電源を入れ直します。
            この時点でエラーは無くなるので、書き込み後、エラーLEDは3回点滅し、8*8LED Matrixの表示は0になります。

            ここまで正常に終了したら、configuration.h の SETUP_MODE を0にして、再びファームを書き込みます。
        Add Card Order

        References

          Usages

            Project comments