ADDAC001 – BRAIN MODULE

addac001
ADDAC001
Brain Module

8 Channel Digital to Analog Converter AD5668 IC with:
.16 bits resolution (0-65535)
.8 amplification knobs
.8 monitor leds

2 x 11 position switch
Assignable control knob
Reset Button

Arduino based Software with ATMEGA1280 IC
Transmit & Receive Leds
USB programmable

16HP
Eurorack format
compatible with +-12v and +-15v power supplies

This is the Brain of this set of Modules, all the other ones shown below are unable to operate without it.
This module contains the Atmega1280 IC, the FTDI232 IC for USB communication and the AD5668 IC a 16-bit Digital to Analog converter.
The outputs are true analog voltage. These are NOT PWM outputs.
This module can be connected to a computer through USB and interfaced with Max/Msp, Live, or your favorite software using OSC or MIDI
It will be shipped with a standard set of modes described here and easy updated through the Arduino software
Software instructions will be made avalable soon

For java enthusiasts an Arduino library is available to program new modes or reassign them
For C++ enthusiasts the same Arduino library will be open-source and full control enabled

Soon:
Arduino Library v01

This page exemplifies a code example

*Thanks to: DAC V11 by Robin Price 2009

The whole purpose of creating a dedicated library to control this system was to make it a lot easier both to program, without needing to deal with huge chuncks of code inside the arduino environment, and also to make it easily expandable when more control inputs are necessary.
All tricky* read/write operations and pin mapping will be done by the library, so in order to get it all easier we’ll just need to ask input data from cv/manual/gate/nunchuck/ethernet and shape any cv output you might think of and send them out to each individual channel.

I’ve been working on some basic modes:
a totally range defined random (random voltage max and min, random rate max and min and random seed control);
and also some basic lfo’s modes (square, triangle, saw, inverted saw, sine, adjustable random triangle range…)

Code example:

// LOADS LIBRARY
#include <ADDA.h>
// INITIALIZES LIBRARY CLASS
ADDA ADDAC;
// MODE A 11 POSITION SWITCH VARIABLE
int MODE=1;
// ARRAY TO STORE ANALOG and DIGITAL VALUES
int analogVals[6], digitalVals[8];
// ARRAY TO STORE DAC VALUES
int DACvoltages[8];

void setup(){
ADDAC.setup(); // Initialize the AD5668 IC
Serial.begin(9600); //change this when you want to graduate from usb midi to real midi
}

void loop(){
// read from MODE Selector Switch
MODE = ADDAC.readMODEswitch();

// read all from ADDAC002 – CV / Manual Inputs Module

for(int i=0;i<5;i++){
analogVals[i]=ADDAC.readAnalogs(i);
Serial.print(“MANUAL IN”);
Serial.print(i);
Serial.print(“:”);
Serial.print(analogVals[i]);
}

// read from ADDAC004 -Digital Inputs Module
for(int i=0;i<8;i++){
digitalVals[i]=ADDAC.readDigitals(i);
}

// Implemented modes access
//more to come…
if(MODE==0){
ADDAC.randomMode(1,0); // Random MODE , CV CHANNEL 0 = Update all
}else{
ADDAC.lfosMode(0,MODE,0); // Lfo MODE, Lfo TYPE , CV CHANNEL
}
}

  • Blogroll

  • Meta









  • programming

    Is programming a total blocker for you?

    View Results

    Loading ... Loading ...




  • Touchpad

    Would you like to see an X Y Touchscreen Module?

    View Results

    Loading ... Loading ...




  • IR

    Would you like to see an Infrared Receiver Module?

    View Results

    Loading ... Loading ...




  • actuators

    Would you like to control motors, leds or other actuators directly from the system?

    View Results

    Loading ... Loading ...