This is an old version of the documentation. View the latest version here.
Control Surface  1.0.0
MIDI Control Surface library for Arduino
Multiple-Control-Change-Potentiometers.ino

Multiple-Control-Change-Potentiometers

This example demonstrates the use of MIDI Control Change potentiometers that can be used for changing effect parameters, volumes, pan and balance controls, etc. It can control almost any knob in your DAW software. This example shows how to define multiple potentiometers using an array.

Boards:
AVR, AVR USB, Teensy 3.x

Connections

Connect the left terminal of the potentiometers to ground, and the right one to VCC.

Behavior

Mapping

Select the Arduino as a custom MIDI controller in your DAW, and use the MIDI learn option to assign the potentiometers to a function.

Written by PieterP, 2019-08-13
https://github.com/tttapa/Control-Surface

#include <Control_Surface.h> // Include the Control Surface library
// Instantiate a MIDI over USB interface.
// Instantiate an array of CCPotentiometer objects
CCPotentiometer potentiometers[] = {
{A0, // Analog pin connected to potentiometer 1
0x10}, // Controller number of the first potentiometer
{A1, // Analog pin connected to potentiometer 2
0x11}, // Controller number of the second potentiometer
{A2, 0x12}, // Etc.
{A3, 0x13},
{A4, 0x14},
{A5, 0x15},
};
void setup() {
Control_Surface.begin(); // Initialize Control Surface
}
void loop() {
Control_Surface.loop(); // Update the Control Surface
}
USBMIDI_Interface
A class for MIDI interfaces sending MIDI messages over a USB MIDI connection.
Definition: USBMIDI_Interface.hpp:43
Control_Surface.h
The main header file that includes all Control-Surface header files.
Control_Surface
Control_Surface_ & Control_Surface
A predefined instance of the Control Surface to use in the Arduino sketches.
Definition: Control_Surface_Class.cpp:171
CCPotentiometer
A class of MIDIOutputElements that read the analog input from a potentiometer or fader,...
Definition: CCPotentiometer.hpp:19
Control_Surface_::begin
void begin()
Initialize the Control_Surface.
Definition: Control_Surface_Class.cpp:22
Control_Surface_::loop
void loop()
Update all MIDI elements, send MIDI events and read MIDI input.
Definition: Control_Surface_Class.cpp:45