SAXduino

Created Date: 2019-04-13/ updated date: 2019-06-17
    Owner & Collaborators
    License
    Summary
    [Not Completed yet!]
    SAXduinoは、電子吹奏楽器として開発したSAX型のArduinoです。
    Arduino IDEで開発可能な電子基板SAXduino Boardと、MDFと3DプリントによるSAX型の筐体からなります。
    SAXduinoは電池とスピーカを搭載しており、スタンドアロンでの演奏が可能です。また、mi.1の基板を取り付けることで、BLE MIDIのコントローラとして利用することも可能です。
    ちなみに、本インストラクションの想定読者は私です。あとで作り方を忘れないために、書いた記事ですので、やや細かく、また分かりづらい点がありますことをご了承ください。

    Materials

      Tools

        Blueprints

          Making

          • SAXduinoは、電子吹奏楽器として開発したSAX型のArduinoです。以下のような特徴があります。
            • 単4電池2本の電池駆動で、本体にアンプ、スピーカーまで内蔵しているのでスタンドアロンで動作します。
            • SAXduinoの名前の通り、Arduino IDEにてファームウェアの開発が可能です。ATmega328が2個搭載されており、片方がタッチセンサ、気圧センサなどを制御、もう片方がソフトシンセとして機能しています。
          • SAXduino Boardに電子部品を実装します。リフローと手付けの両方行います。
            • ステンシルでクリームハンダを塗り、写真の指示書に従い、部品を載せます。そのあと、リフロー炉でハンダ付けを行います。
              D7/D8/R15/R16はソフトチェック用のLEDなので、必要なければ付けなくてもいいです。
              クロックの1MΩの抵抗も、付けなくても動作するので必要ないです。
            • 基板の裏面のフルカラーLED6個をハンダ付けします。
              WS2813Bを接着剤で一旦仮止めしておくと、スムースにハンダ付け出来ます。
              1. 2箇所の6pinのISP端子をハンダ付けします。
              2. 2箇所の2pinXHコネクタをハンダ付けします。
              3. C13のコンデンサ(100μF電解コンデンサ)をハンダ付けします。
              1. 写真のように足を折り曲げて、不要な方(センサの突起側)の3つの足を切ります。
              2. 「MagicFlute Proto14」の基板は電源とGNDの位置が間違っているので、ケーブルを使って、クロスするように気圧センサーを配線します。
          • 二つのATmega328Pへファームウェアを書き込みます。
            U1のATmega328Pはソフトシンセのファームを書き込みます。こちらをシンセ側と呼びことにします。U3のATmega328Pはセンサー処理のファームを書き込みます。また、こちらをセンサ側と呼ぶことにします。
            • Arduino IDEに必要なBoardとLibraryをインストールします。
              Boardは「Arduino AVR Boards」を、Libraryは「Adafruit NeoPixel」「MsTimer2」をインストールします。
              また、書き込み時のツールメニューの設定は、「ボード:ATmega328P」「Clock:External(16MHz)」としてください。
            • 基板を作って最初にATmega328Pにファームを書き込む時は、まずブートを書き込みます。ツールメニューの「ブートローダを書き込む」を選びます。

              センサ側のファームウェアのプログラムはここからダウンロードして、Arduino IDEで読み込みます。
              センサ側は、最初の起動時に、タッチセンサーのICであるCY8CMBR3110に設定を書き込む必要があります。センサ側に最初にファームを書き込む時、「FIRMMODE」を「WRITE_CNFG_FIRST_TIME_TO_MBR3110」にして、書き終わったあともう一度「NORMAL_MODE」でファームを書き込んでください。
          • 静電センサによるタッチスイッチと、3Dプリントによるタッチスイッチフレームと、SAXduino Boardを一体化した部品を製作します。
              1. 銅箔テープ(粘着側も導通するタイプ)を1cm四方程度の任意の形で切ります(写真では円)。この際、銅箔テープのおもて面に事前にマスキングテープなどでお好きな色や模様を付けておくことも可能です(写真では黒いマスキングテープを貼っています)。
              2. 6つの銅箔テープで作った電極を、アクリル板の各六角形の中央に貼り付けます。
              1. タッチセンサを貼ったアクリル板を裏返しにすると、6箇所の四角い穴があるので、そこに同じく粘着側も導通する銅箔テープを4mm四方の正方形に切って、その穴の中で粘着部同士を貼っていきます。
              2. 3,4cmほどに切ったポリウレタン線の片側を、今貼った四角い銅箔テープの上にハンダ付けします。ポリウレタン線は両側とも事前に皮膜を剥がしておいた方がよいでしょう。
              1. 3Dプリントしたタッチスイッチフレームに四角ナットを4箇所使用します。写真の場所に四角ナットを接着します。接着が乾くまでネジでナットを止めておくといいでしょう。
              2. タッチセンサーのアクリル板とタッチスイッチフレームを、真ん中のネジ穴一箇所でネジ止めします。

              1. 基板のタッチスイッチ用の六箇所のスルーホールに、タッチセンサーにハンダ付けしたポリウレタン線を通します。基板のLEDのある面がアクリル板側になります。
              2. タッチセンサーと基板を二箇所、15mmの長さのネジでネジ止めします。
              3. ポリウレタン線と基板をハンダ付けします。
          • SAXduinoの筐体は、MDFによる全体ボディ、3Dプリンタによる吹き口からなります。これに、3Dプリンタによるスピーカーフレーム、そしてタッチスイッチ部を合わせて全体を組み上げます。

            • レーザーカッターで筐体用に、2.5mm厚MDFをカットします。レーザーカット用のイラレのデータはこちらです。
              カットした部品を以後、以下のように呼びます。
              1. 底板
              2. 上板
              3. 側板
              4. ベル横
              5. ベル上
              6. ベル下

              側板は2枚ありますが、前後対称なので右と左の区別はありません。
              1. 3Dプリントで製作したスピーカーフレームの6箇所の穴に四角ナットを埋め込みます。ナットが落ちないようテープで穴を塞ぎます。
              2. スピーカーにコネクターをつけたケーブルをハンダ付けします。
              3. スピーカーをスピーカーフレームに取り付けます。小さな四箇所の突起を、スピーカーのネジ穴に嵌めて、接着剤でスピーカーを貼り付けます。
              1. 吹き口から出ている二つの筒にシリコンチューブを嵌めます。一つは気圧センサ側に(チューブの長さは4.5cm)、もう一つは空気抜きとなります。
              2. 吹き口の6箇所のポケットに、四角ナットを入れ、テープで止めます。
              3. 気圧センサ側はチューブのもう片側を、気圧センサの筒状の突起に嵌めます。
              1. タッチスイッチフレームと側板を4箇所、ネジで結合します。
              2. 吹き口と側板を4箇所、ネジで結合します。
              3. スピーカーフレームと側板とベル横を4箇所、ネジで結合します。
              4. 上板を2箇所、ネジで結合します。

              皿ネジを使う場合、必要に応じてMDFに対してザグリ加工します。
              また、ベル横のネジは10mmの長さが必要です。
              1. ベル上下の板をあらかじめ曲げてクセをつけておきます
              2. ベル横に切り口に接着剤をつけて、ベル上下の板を接着します
              3. ゴムを巻いて、接着剤が乾くまで待ちます
          • 底板に電池ボックスと電源スイッチ、それから昇圧回路を取り付けます。
            底板を本体に取り付ければ、SAXduino完成です!

            • 演奏時、右手の親指を引っ掛けるための指抑えに、スペーサーを使います。必要なければつけなくても構いません。
            • 電池ボックスを両面テープで取り付けます。底板の長細い穴から1.5cmくらいのところに貼ります。電池ボックスのケーブルはスイッチ側に向けます。
            • 昇圧回路にケーブルをハンダ付けします。
              電池ボックスのマイナスを入力のGNDに、スイッチからのケーブルをVINに、SAXduino Boardに接続するコネクタは、出力のGNDとVOUTに繋げます。
            • 底板に取り付けた配線類をうまく束ね、電池ボックスが本体内部の部品と干渉しないことを確かめます。
              あとは、電池をボックスに入れ、底板を本体に取り付けます。底板のネジを締めれば完成です。
          • QUICCO SOUNDから販売されている mi.1 の基板を用いて、BLE MIDI を送信する機能を追加します。SAXduinoの基板はすでに、mi.1 と直接繋がる端子を用意してあるので、ケーブルを繋ぐだけでBLE MIDIが利用できます。

            mi.1をつなげる時は、本工程を「SAXduino Board製作」に挿入してください。
              • BoardのJ12:mi.1のH2
              • BoardのJ11:mi.1のH4
              • BoardのJ13:mi.1のH6
              • BoardのJ14:mi.1のH8


            • 0.2mmのポリウレタン線4本を使って、mi.1とSAXduino Boardにポリウレタン線をハンダ付けして繋げます。
              写真では、Boardの端に垂直になるように mi.1 を配置してみました。
          Add Card Order

          References

            Usages

            • SAXduinoの運指

              1. ①と②でオクターブを指定します。二つ押さえれば一番低いオクターブ、一つ押さえればその一つ上のオクターブ、一つも押さえなければさらにその上のオクターブになります。
              2. ③で半音上げたり下げたりします。半音上がるか下がるかは、④〜⑥で指定する階名によります。
              3. ④〜⑥で「ドレミファソラシド」の音階を指定します。音源はC調(C菅)の楽器なので、そのまま「CDEFGABC」の音が発音します。

            Project comments