HoneycombBellとは?

HoneycombBellの紹介です。
使い方はUsageを参照してください。

六角形の光るタッチ型鍵盤

HoneycombBellは、六角形のハニカム型が連なった、タッチ型の鍵盤です。静電センサを使っており、六角形の中心に触れるだけで、簡単に音を出すことができます。また触った六角形が音程に割り当てられた色で光ります。


上下左右に拡張可能

六角形の連なりは、上下左右に拡がっており、この楽器の音程も二次元的に拡がります。音程は、右上に移動すると半音上がり、右下に移動すると全音上がります。そして、真横に移動すると単3度上がります。

二種類のBoard

USB端子がついているボードを Master Board と呼びます。
それ以外のボードを Normal Board と呼びます。

Master Boardへの部品取り付け

以下では、Master Boardへの各部品のハンダ付けの方法を説明します。

基板発注

Master Board の ガーバーデータから、基板製造サービスに発注します。この基板には「HoneycombBell Proto6 rev.2」と書かれています。

表面実装部品をリフロー

裏側の表面実装部品(ATmega32U4, CY8CMBRなど)をリフローでハンダ付けします。

写真はトースターを改造したリフロー炉でハンダ付けした様子です。

ピンヘッダ、端子類のハンダ付け

J13に2×3のISP用のピンヘッダを、
J19のRXに1×3のL型ピンヘッダを、
J14に1×4のピンヘッダ二つを、
J15に1×3のL型ピンヘッダ二つを、ハンダ付けします。
またUSB端子、DCジャックをハンダ付けします。
C17に100μFのコンデンサ、Q1に2SJ681を、D14/D15に1S4をハンダ付けします。

LEDのハンダ付け

12個のWS2813(フルカラーLED)をハンダ付けします。
WS2813は事前に接着剤でハンダ付けする位置に止めておきます。

フラックスを塗るとハンダ付けしやすくなります。
あとはクリーナーでフラックスを除去し、基板をきれいにしておきましょう。

ジャンパーピンの意味

Master Boardの場合、J15が6ピン、J14が8ピンあります。

J15は、I2Cのセレクタで、
写真の左側がSDA、右側がSCL
また縦は、上から U1側、CPU側、U3側、となります。

J14は、CPUのポートに繋がっていて
 1-2: on-CY8CMBR3110の初期設定用(3-4:off-U1/on-U3の設定), off-通常
 3-4: 5-6: 7-8: ボード数(1-2通常時) 
という意味になっています。

Master Boardファームの書き込み

Master BoardのマイコンはATmega32U4になります。このマイコンに、ブートローダとMaster用のファームを書き込みます。
ファームを書き込むために、専用の書き込み機を用意します。写真の書き込み機は、Pro Microに書き込み機用のファームを書き、SPI端子を引き出して基板のコネクタに接続できるように製作したものです。

Arduino IDEの設定

Arduino IDEに「Adafruit NeoPixel」「MsTimer2」「MIDI Library」のLibraryをインストールします。

ブートローダの書き込み

基板を作って最初にATmega32U4にファームを書き込む時は、まずブートを書き込みます。

書き込み時のツールメニューの設定は、
「ボード:"Arduino Leonardo"」
「書込装置:"Arduino as ISP(ATmega32U4)"」
としてください。
その後、ツールメニューの「ブートローダを書き込む」を選ぶと書き込みが始まります。

ファームウェアを用意

ファームウェアはここからダウンロードした上で、Arduino IDEでロードしておいてください。

なお、各ボードの最初の起動時に、タッチセンサー用のチップCY8CMBR3110に対して、静電センサのセッティング値を書き込んであげる必要があります。
そのため、ボードにプログラムを書き込む作業がやや煩雑になりますので、注意してください。(詳細は以下の手順にて)

ファーム書き込みとタッチセンサ初期設定

以下の手順でファーム書き込みとジャンパー設定をお願いします。
  1. I2C SCL/SDAをU1側のタッチセンサのみ接続(J15)。写真のようなピンソケットで作ったジグを使います。
  2. J14のピンの1-2をジャンパー接続
  3. J23端子にLEDを接続し、端子状態を確認出来るようにする
  4. この状態でファームウェアを書き込む。「書き込み装置を使って書き込む」で書き込むこと
  5. LEDが点灯したらU1の設定はOKなので、いったん電源を落とす

ファーム書き込みとタッチセンサ初期設定2

上からの続き

  1. I2C SCL/SDAをU3側のタッチセンサのみ接続(J15)
  2. J14のピンの1-2と3-4をジャンパー接続
  3. 電源投入し、LEDが点灯することを確かめて、また電源を落とす
  4. I2Cは、U1/U3両方のSCL/SDAを接続する(J15)
  5. J14のジャンパー接続を二つとも外す
  6. これ以降、電源投入すればノーマル起動となる

Master Boardにフレームを取り付ける

これまで作った電子回路 Master Board に、3Dプリントしたフレームを取り付けます。

フレームの3Dプリント

この3Dプリント用データをプリントします。
比較的精度の高いプリントをしたいので、積層ピッチは細かめのほうが良いでしょう。また、ラフトをつけた方が、ソリが無くなり安定した出力が得られます。

電源表示用LEDの取り付け

Master Boardには、電源が入っていることを示すLEDをつける回路がないため、空中配線にてLEDをとりつけます。ここでは、赤の砲弾型LEDと220Ωの抵抗を繋げて、写真のようにハンダ付けします。

USB側は、FETの3番ピン(アノード側)とUSBのGNDピンに、DCジャック側はD15のアノード側とDCジャックのGNDに繋げます。DCジャックは横の端子(3番ピン)にハンダ付けし、基板の裏側で3番ピンをGNDに繋げておきます。

Main Boardとネジ止め

3Dプリントしたフレームの6箇所の四角い穴に、四角ナットを嵌め込みます。もし緩くてすぐ外れそうであれば、接着剤などで外れないようにしておきます。また、一度、3×8mmネジでこのナットをネジ止めしておきます。各ブロックを組み合わせたり足を取り付ける際、このネジを外すことになります。

Main Boardと基板を組み合わせ、電子基板用のスペーサーを基板の3箇所の穴からねじ込み、基板とフレームを固定します。また、このスペーサーは同時に全体を支える足になります。

Normal Boardへの部品の取り付け

基板発注

Normal Board の ガーバーデータから、基板製造サービスに発注します。設計は1年前のものなので、基板には「HoneycombBell Proto5」と書かれています。

表面実装部品をリフロー

裏側の表面実装部品(ATmega328P, CY8CMBRなど)をリフローでハンダ付けします。

ピンヘッダ、端子類のハンダ付け

J13に2×3のISP用のピンヘッダを、
J19のRXに1×3のL型ピンヘッダを、
J14/J15に1×4のピンヘッダ二つを、
J16/J17に1×3のL型ピンヘッダ二つをハンダ付けします。
また、J18のTXに、ピンヘッダに接続できる3ピンのジャンパワイヤ(15cm程度)を、ハンダ付けします。

LEDのハンダ付け

ここはMaster Boardと全く同じです。

フレームの取り付け

同じくMaster Boardと同じです。
Normal Board 用の3Dプリンタ用フレームデータはこちら

Normal Boardファーム書き込み

Normal BoardのマイコンはATmega328Pになります。このマイコンに、ブートローダとNormal用のファームを書き込みます。
ファームを書き込むために、専用の書き込み機を用意します。書き込み機は、Arduino Unoに書き込み機用のファームを書き、SPI端子を引き出して基板のコネクタに接続できるように製作したものを使います。

ブートローダの書き込み

書き込み時のツールメニューの設定は、
「ボード:"Arduino Uno"」
「書込装置:"Arduino as ISP"」
としてください。
その後、ツールメニューの「ブートローダを書き込む」を選ぶと書き込みが始まります。

ファームウェアの書き込み

ファームウェアはここからダウンロードダウンロードしてください。

なお、Master Boardと同様に最初の起動時に、タッチセンサー用のチップCY8CMBR3110に対して、静電センサのセッティング値を書き込んであげる必要があります。
そのため、ボードにプログラムを書き込む作業は、Master Boardと同じです。(ただし、I2Cの指定の設定が違い、1番ピンがCPUになるので、1-2, 1-3 という順にタッチセンサの設定書き込みを行う)

Touch Windowの製作

一つのボードあたり12個のTouch Windowを製作します。
ただし、Master BoardのUSB/DCジャック部のTouch Windowは電極をつける必要はありません。

アクリル板を切り出す

レーザーカッターで乳半色のアクリル板を切り出します。
レーザーカッターのデータはこちら(24枚分+ジョイント)。

銅箔テープを切る

銅箔テープを8mm×8mmのサイズに切り出します。
その後、正方形の角を1mmほど斜めにカットします。

銅箔テープを貼る

このテープをレーザーカットしたアクリル板(TouchWindow)の中央に貼ります。

TouchWindowの中央には5mm×5mmの穴が開いているので、銅箔テープのこの穴の3辺にかかっている部分をカットし、残り一辺のところで銅箔テープを裏側に向けて織り込んで、アクリル板に貼り付けます。

ポリウレタン線をハンダ付けする

ポリウレタン線を20mmの長さに切り、ハンダを使って両端の皮膜を取ります。
このポリウレタン線の片方の端を、TouchWindowの裏側に回り込んだ銅箔テープにハンダ付けします。

Touch Windowの取り付け


フレームにTouch Windowを嵌める

Touch Windowにハンダ付けしたポリウレタン線を基板の穴に通しながら、3Dプリントしたフレームに、Touch Windowを一つずつ嵌めていきます。
ユルユルな場合は接着剤で止めますが、基本的には上から力を入れて嵌めるだけにしておいたほうが、あとあと修理もやりやすいです。
硬くて嵌らないときは、嵌まるようになるまでアクリルをやすりで削ってサイズを調整しましょう。

ポリウレタン線を基板にハンダ付け

基板の穴に通しておいたポリウレタン線を基板とハンダ付けします。
コテ先にハンダを盛り、基板の穴に4、5秒くらい抑えつけると、ポリウレタン線の皮膜が剥がれます。本当に剥がれて導通したかは、テスターでチェックしておきましょう。
導通が確認できたら、余分なポリウレタン線をニッパーで切り取ります。

各ブロックの接続

Master BoardとNormal Boardを接続します。
ここでは、一つのMaster Boardと一つのNormal Boardを接続し、二つのボードを組み立てます。

MasterとNormalをネジ止め

Master BoardとNormal Boardを左右に組み合わせて、アクリル板から切り出したジョイントを上にあて、4箇所ネジ止めします。
ネジは3×10mmを使用します。

配線を接続

Normal Boardのワイヤを Master Board のRX端子に接続します。接続が逆にならないように注意してください。
またワイヤは、無用なトラブルを避けるため、テープで固定しておきます。

動作チェックとシール貼り

最後に、動作チェックを行ったあと、Touch Windowにシールを貼れば完成です。

動作チェック

USBケーブルを繋げて動作チェックしてみます。

Touch Windowにシールを貼る

別途、制作した六角形のシールを銅箔テープの上に貼れば完成です!
シールの色は図の通りです。

発注した際のシールのデータは以下です。
赤シール
白シール
灰シール
黒シール