I wrote some code that wraps the serial interface and the control commands of the Arduino CV/Gate into a MATLAB class. I used the following example code in MATLAB to benchmark the speed.
a = cvgate('/dev/tty.usbserial-AH01DRO4', 115200);
a.voltage = 0;
a.gate = 0;
c = 0;
t = tic;
while true
a.voltage = 5 * (0.5 + sin(2*pi*toc(t))/2); % fluctuate at 1 Hz
a.gate = ~a.gate; % flip the gate on and off
update(a);
c = c + 1;
if mod(c, 100)==0
% display the number of updates per second
disp(c/toc(t));
end
end
The video below shows the control voltage (red LED) fluctuating at 1Hz from 0 to 5V. The gate (green LED) is flickering on and off, but that is at a rate too fast to capture on camera. It manages approximately 100 updates per second.
The Arduino is running this sketch which is controlled by this MATLAB class.
