Thursday, 15 May 2014

Motors


















This circuit was built using several TIP122 transistors to allow 5v signals from the Arduino to control higher voltage components such as motors and lights. In addition to this, LEDs were used to provide a visual indication of the signal received by the circuit.
However, this may become problematic in certain contexts as the flickering lights could distract/detract from the aesthetic intentions of a particular performance or installation. This will be addressed in future developments of the circuit by adding a small toggle switch to enable and disable the LEDs.

In addition to this, a Max MSP patch was created to test and explore the possibilities of the circuit. In particular, the patch focuses on the interaction between mechanical motion and  various digital signals produced by the patch.

The patch allows the outputs of the circuit to be controlled using sequencers and audio analysis. More specifically, onset detection and amplitude following was used to map events in the audio domain to motors and solenoids.

The onset detection was found to be particularly effective when used to trigger solenoids and envelopes for the motor speed. Whilst testing the amplitude follower in the patch the acoustic sound produced by the motor started to feedback through the microphone creating a continuous fluctuation in the speed of the motor. 

Future development of this circuit will incorporate inputs and outputs for 10v Control Voltage used in modular synthesisers. This will allow the digital aspects of the instrument to communicate with analog hardware, increasing the flexibility of the system.



Saturday, 10 May 2014

Mixer



I have recently been designing a simple mixer interface and have built two channel strips to test the proposed layout.The sensors are connected to headers to facilitate future development and modularity.

This mixer is being created as previously used interfaces have either been too large or didn't provide enough potentiometers for controlling filter and send values without navigating through presets.

For these reasons, the mixer channels were kept as small as possible whilst attempting to retain accessibility for all of the sensors.

In addition to this, the current design attempts to provide a layout which would be suitable in both compositional and performative situations. Each channel on the mixer has 1 RGB led, 1 slider, 2 buttons and 7 potentiometers which will be mapped to gain, filter and send values. 


The buttons will be used to mute and reset the channel strip but could also be used for record, solo and additional sends. Potentiometers with centre detents were placed above the slider for controlling filter type, panning and fading between two sends.

Initially, joysticks were chosen for controlling the cutoff and resonance of the filters. However, this proved to be problematic as the chosen joystick contained a spring to return it to the centre. Whilst attempting to remove the spring, the joystick became inaccurate and tends to stick and slip on the enclosure. Furthermore, an affordable replacement joystick without a spring could not be found.

Thursday, 1 May 2014

Perfboard Patching Interface


This circuit detects connections made between the input and output headers using shift registers and an Arduino. The data is stored in a 32x32 array and is received by a 'matrixctrl' object in Max MSP. After experimenting with this circuit on a breadboard a version was made using perfboard allowing the pins to be located more easily. Additional headers were used to allow different configurations of the shift registers whilst exploring the possibilities of the circuit.

After chaining more than four shift registers together, the time taken to read all the pins starts to become significantly slower. However, it may be possible to make the code more efficient. It would also be beneficial to use OSC to send data, allowing the interface to be used with other software more easily.

Potential areas for future exploration include:
-storing and recalling presets
-recording and playback of patching
-crossfading when creating and removing connections
-patching multichannel data