I thought I’d share some experimentation I’ve been doing with the Arduino and a 12 bit dac (mcp4921).
I’d been looking for things I could do with it and one obvious thing that came to mind was creating a sync signal for the Volca’s.
I analysed the output of the sync signal from the SQ-1 as best I could with a multimeter and could see that the signal was peaking around 0.32 volts.
Now if I could get the dac to output a voltage somewhere in that range at a regular interval I’d be able to control the Volca’s tempo from the Arduino.
The mcp4921 connects to the Arduino via SPI. Here I’m using pins 10 (CS to dac pin 2), 11 (SDI/MOSI to dac pin 4) & 13 (CLK to dac pin 3).
The rest of the dac pins are configured as follows;
pin 1 to Arduino +5v
pin 5 to Arduino ground
pin 6 Voltage reference to Arduino +5v
pin 7 to Arduino ground
pin 8 dac output to positive on headphone jack
You can download the Arduino sketch here.
The sketch employs a delay between setting the signal high and low which is set by the value of the variable tempo_delay. The delay is in ms and converting from bpm to the correct ms delay is simply as case of using the following formula. tempo_delay = (60,000 / BPM) /2.
Here are some rough values to get you started.
80 bpm = 376
90 bpm = 334
120 bpm = 250
126 bpm = 238