Мидирование Korg Monotron Duo

Наткнувшись  на статью о мидировании Korg Monotron,
решил повторить устройство, но с Korg Monotron Duo.
К сожалению оригинальный скетч так и не сумел настроить под DUO,
пришлось написать свой, библиотека  DACMCP49xx сильно облегчила работу с mcp4921.

IMGP3366

Для MIDI входа использован  проект
HIDUINO, превращающий Arduino UNO в полноценное USB MIDI устройство.
т.е. для проекта понадобится Arduino c USB-UART выполненном на  ATmega16u2.

postimage

postimage

#include <SPI.h> 
#include <DAC_MCP49xx.h>
#include <MIDI.h>


#define SS_PIN 10
#define GATE_PIN 8
byte MIDI_COMMAND;
byte MIDI_NOTE;
byte MIDI_VEL;
byte ActiveNote;
MIDI_CREATE_DEFAULT_INSTANCE();

DAC_MCP49xx dac(DAC_MCP49xx::MCP4901, SS_PIN);

void setup() {

   MIDI.begin();
   dac.setSPIDivider(SPI_CLOCK_DIV16);
   dac.setPortWrite(true);
}


void loop()

{
MIDI_READ();
}


void MIDI_READ()
{
    if(MIDI.read())
    {
        if(MIDI.getType()==144)  //Note On
        {
            digitalWrite(GATE_PIN,LOW);
            MIDI_COMMAND = MIDI.getType(); 
            MIDI_NOTE = MIDI.getData1();
            MIDI_VEL = MIDI.getData2();
            ActiveNote = MIDI_NOTE;

            int SendNote=map(ActiveNote,33,50,7,210);
            dac.output(SendNote);
            
            
            digitalWrite(GATE_PIN,HIGH);
        }
    }
     
    if(MIDI.getType()==128) //Note Off
    {
        if(MIDI.getData1()==ActiveNote)
        
        {
            dac.output(0); 
            digitalWrite(GATE_PIN,LOW);
        }
    }        
}

скачать

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code