OLEDに張り付く、 切手サイズのArduino 互換Tiny board その1
EuroRack版 少構成用のミニ電源モジュールの試作
■作りたいもののイメージ
Euroモジュールの中には、Frequency Shifterの様に、単独のモジュールをエフェクタの様に独立して使いたいものがあります。下の写真は今回の完成形で、ミニラックに単一モジュールとミニ電源をセットして単独で使えるようにしたものです。
この少容量のミニ電源モジュールは、USB電源、モバイル電源、ACアダプタなどが使えれば便利です。使ったDCDCコンバータはデジットで在庫限り500円のもので、5V入力で出力が±12V(各125mA)という手頃なものです。
基板とパネルの両方をPCBで構成することにしたのですが、この構成の課題は、パネルと基板の接続方法です。通常のモジュールならVRやジャックなどで固定する方法がありますが、電源ではその方法は使えない。
今回は、シリコンハウス2階で1cm角のアルミスペーサを見つけたことが発端です。
EuroRack版 少構成用のミニ電源モジュールの試作
■作りたいもののイメージ
Euroモジュールの中には、Frequency Shifterの様に、単独のモジュールをエフェクタの用に独立して使いたいものがあります。下の写真は今回の完成形で、ミニラックに単一モジュールとミニ電源をセットして単独で使えるようにしたものです。
この少容量のミニ電源モジュールは、USB電源、モバイル電源、ACアダプタなどが使えれば便利です。使ったDCDCコンバータはデジットで在庫限り500円のもので、5V入力で出力が±12V(各125mA)という手頃なものです。
基板とパネルの両方をPCBで構成することにしたのですが、この構成の課題は、パネルと基板の接続方法です。通常のモジュールならVRやジャックなどで固定する方法がありますが、電源ではその方法は使えない。
今回は、シリコンハウス2階で1cm角のアルミスペーサを見つけたことが発端です。
Synth Scope その4 設計完了しました。
大分間が空きましたが、やっと作り直した基板とソフトのデバッグが終了しました。
日々の進捗がとても遅いです。
■ 進歩したのは、
・パネルがブルーに光る(明るさも変化)ようになりました。
・OLED Adafruit_SSD1306ライブラリのフォントが極小で見ずらい(私にとって)。サイズを2倍にすると大きすぎて汚いので、ほぼ1.5倍サイズ(6*11とドット)のフォントを作りました。
・性能的には、割り込みを最適化しサンプリングレートを70.3KHzから140.6KHzに上げた。
波形の鈍りとジッタ減少
・UIも改善
■ 先行キット(少数)を用意
一部の人の間では、期待されている向きもあるので、
一度量産を考えたいと思います。
ただ、実装の難易度の高い表面実装(SMD)のパーツとスルーホール(足のある部品)のパーツが混在しているので、製品形態として、
(a) SMDもスルーホール・パーツもはんだ付けするフルキット
(b) SMDのみ実装済みで、スルーホール・パーツのみはんだ付けする簡易キット
(c) 完成品
が考えられる。
ここで、半田付けの難易度が高いのでフルキット(a)は製品形態とし無いだろう。
かといって、形態(b)は、SMDパーツのみを事前に実装した状態では基板テストができないので、こちらの実装不良という不安がある。
というと、いきなり(c)しかないことになる。
まずは、この仕様でよいのかというリサーチが必要なので、
ごく少数になるが(a)の形態でテストしようと思います。
このブログ、FBとTwitterで作ろうと思う方を募集します。(用意できる数は数点ですが)
リサーチなので頒布価格は、7000円とします。
希望の方は、twitter : @hhh_yama FB : /hhh.yama
で連絡願います。
ARM_Theremin_Live (光るアームテルミン) その5 コントローラのケースについて
コントローラのケースについて
コントローラの裏側は、左手で握り支える部位(ケース)が必要で、演奏のUIを担う重要なものです。
写真は、実際の演奏で使ってもらうためのサンプル用にikkei氏の協力で3Dプリンタで開発しているものです。(実際は、ikkei氏100%ですが)
ケース側面には、ベロシティとビブラート用の圧力センサ(人差し指、中指)と、3個のスイッチ(薬指、小指)があります。
2回目の試作で一気に完成度が上がり、ほぼ演奏に使えるレベルに近づきました。
下の写真は、パネル裏の基板の様子です。
ARM_Theremin_Live (光るアームテルミン) その4 音源モジュール
音源モジュールについて
機能としては、3pinのステレオミニジャックでコントローラと接続し、
・電源(5V)の供給
・制御情報を受け取り発音
することにします。
マイコンは、32bitのBluePill (STM32duino)に格上げし、
3個の POTは、
(1) 音量調整(アナログ処理)
(2) リバーブとディレイの調整
(3) 未決定
で、スイッチも3個ありますが、
コントローラ側のPOT2個、スイッチ3個との使い分けをどうするかはまだ決まっておらず
実際の演奏に使ってもらって決めてゆきたいと思っています。
ディスプレイには、オシロと同じSPI接続の0.96" OLEDを使います。
さすがにAVRより一桁速いので、随分やりたいことができます。
まずは、サンプリング周波数を31KHzから70KHz、音源分解能を8bitから16bitに上げ、
波形間の連続モーフィングをインプリしました。
モーフィングについては、別に紹介しますが、各ハーモニクスも位相が回らず同じ比率で変化します。
波形は、とりあえず以前に作ったものを並べています。
(1) SINE (2) テルミン波形 (3) シャープなテルミン波形 (4) 二胡(Erhu) (5) SAW
これらの波形は、コントローラのTone POT で連続変化させます。この仕様のみFIXです。
エフェクトとしては、
(1) 3音ディチューン・ユニゾン (2) 6音ディチューン・ユニゾン
があり、
検討用に
ディストーションとスケール・フィティング(クロマティク。メジャスケール、ペンタトニック)を試しています。
スケール・フィティングは、画像処理でのポスタリゼーションのような処理で、
せっかく連続ピッチが出せる「テルミン系の音」とは一線を画す方向ですが、
ディレイと併用すると他の楽器にはない面白い効果があります。
後日、デモを紹介します。
また、OLEDには、各波形やバランスだけでなく、波形そのものも表示します。
波形は、音源波形とエフェクトのかかった出力波形を切り替えられます。
ARM_Theremin_Live (光るアームテルミン) その3 コントローラについて
コントローラについて
コントローラと音源モジュールに分離したシステムで、今回は「コントローラ」を紹介します。
コントローラ側の基本的な役割は、
・音源側からパワーをもらう。
・発音はせず、演奏情報をデジタルで音源側に送る。
・LEDイルミネーションはコントローラ単独で行う
具体的には
・トーンアーム 12bitADCで読み取り、キャリブレ・アンチログをかけ15bitCVに変換
・ベロシティ圧力センサ 非線形チューニング後、15bitCVに変換
・モジュレーション圧力センサ 非線形チューニング後、15bitCVに変換
・その他、POTとスイッチの一部を、15bitCVに変換
・発光パターン処理は、コントローラで完結
とします。
圧力センサ
秋月のを使っています。
指での押す感覚と音量との関係が重要です。
ストロークを稼ぐため柔らかなシートの上に設置し、電気的にはリニアライズ関数を試行錯誤で決めています。
今後、さらにチーニングすることとし、現状はまあまあで妥協しています。
他には、POTを2個(Tone,Func)とプッシュスイッチ3個を設置しています。
Toneは、今の実装では例えば5つの波形とその間の波形を連続的に作り出す波形モーフィングのコントロールです。
Funcには、色々なエフェクトを切り替えて実験する予定です。
どちらにらよ、これらの機能を決めるのは音源モジュール側の実装できまります。
プッシュスイッチは、オクターブシフト、ディチューンユニゾン、発光パターン変化の予定です。
回路
マイコンは、ATmega328、ADCとしてISP接続の12bit MCP3201を使用します。
マイクロチップのMCP3201は、AliExpressで購入したところ、偽物を掴まされました。中が空でした。12bitのADCは製品も少なく他に適当なものがないので貴重です。
https://twitter.com/hhh_yama/status/1169154156130648065/photo/1
音源モジュールから送る電源の大半はLED駆動に使われるので、大きなノイズが乗るので、マイコンやADCへの電圧供給のためにクリーン化が必要です。
当然ケーブルで送るので、5Vから電圧降下がありノイズも乗るので、低ドロップレギュレータで4Vを作ります。4Vの低ドロップ可変レギュレータで良いのを(NJM11100を)見つけたので使用しました。
マイコンにはブートローダを書き込みコネクタP4にUSBシリアル変換をつなぐと、直接ArduinoIDEから書き込めます。
・