自作楽器用音源モジュール作成(1)

自作楽器から音を出そうにも、楽器本体で音声合成するかMIDIで吐き出してMIDI音源に繋ぐかいくつか選択肢がある。


いざ展示した時とかを想定した場合、複数の楽器を一つのデバイスから鳴らせれば効率がいいだろうということで作成することにした。


詳細設計は詰めれていないが、MIDI端子に加えてBLEなりWifi経由でも入力できるようになれば配線も減ってGoodである。

概要

f:id:tohkaf:20151204001606j:plain


最小構成の落書き。PSoCにうまいことMIDIを捌かせる。

無線化はPSoC 4 BLEかESP-WROOM-02あたりが有力

基板準備

手持ちの部品でキャラクタLCD、ボタン、ロータリエンコーダPSoC基板とCY8C4245AXI-483があったのではんだづけしてLCD点灯までやった。


f:id:tohkaf:20151204002100j:plain

元は24chのCapSenseボタン+LED用に用意した基板

LCD駆動

Character_LCDモジュール一つを配置してコードを書く。

#include <project.h>

int main()
{
    uint16_t i;
    CyGlobalIntEnable; /* Enable global interrupts. */

    /* Place your initialization/startup code here (e.g. MyInst_Start()) */
    LCD_Char_1_Start();
    LCD_Char_1_Position(0,0);
    LCD_Char_1_PrintString("Hello PSoC");
    for(i = 0 ;; ++i)
    {
        /* Place your application code here. */
        LCD_Char_1_Position(1,0);
        LCD_Char_1_PrintNumber(i);
        CyDelay(1);
    }
}


f:id:tohkaf:20151204002443p:plain

ピン配置はマニュアルに記載あり。

f:id:tohkaf:20151204002510p:plain

動いた

f:id:tohkaf:20151204002155j:plain

次は音を鳴らす部分とLCD, Button等ハード周りを片付ける。