• Home
  • Back to Sonic Robots Main page
  • About
  • Contact

Recital

  • Learning
    • MR 808 Technique – Acoustics
    • MR-808 Technique – IT & Interaction
    • Browse all
    • Electronics
    • 3D-Printing
    • Modding
    • Arduino
    • Technical practice
    • Sensors
  • Music robots list
    • Browse all
    • Autonomous
    • Experimental
    • Glockenspiel & mallet
    • Floppy & retro
    • Piano robots
    • Robot bands
    • Robotic drum
    • String robots
  • Research
    • Lectures

Popcorn Drums Piezo Midi Controller

I recently build a popcorn controlled drum set! While making popcorn some time ago, and experoiencing the strength with which the popcorns explode, I started to think in which ways I could use that. Maybe popcorn triggered toy car? I then thought I would do a popcorn triggered houshold orchestra. But finally I attached the popcorn to a drumset. So this is how it works:

The popping of the popcorn triggers 12 piezo contact microfons, which are hard wired to a an Arduino Mega and converted to MIDI Signal. This MIDI Signal goes to our custom-made robotic drum System, which plays the drums.

You could also just connect the MIDI output to a synth and play around with randomly created

SHOPPING LIST

// WRITTEN FOR ARDUNIO MEGA (2560)
// For Use with Arduino Uno, use “Serial” to send the Midi Notes (instead of “Serial1”)
// and delete the lines of code that send Values to the Console for Debugging [Lines 89-90, 107-111]// The Number ob Pads also has to be reduced to the UNOs 8 Analog-In-Ports (7 With Sensitivity Poti) [Lines 20, 21, 53, 88]

unsigned char PadNote[16] = {36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
int PadCutOff = 30; // Minimum Value for a triggered Note
int MaxPlayTime = 150; // Cycles before a 2nd hit is allowed
#define midichannel 0; // MIDI channel. (0-15)

boolean activePad[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // Array of flags of pad currently playing
int PinPlayTime[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // Counter since pad started to play

unsigned char status;

int pin = 0;
int hitavg = 0;

void setup()
{
Serial.begin(115200); // connect to the serial port 115200 for Serial Monitor
Serial1.begin(31250); //connect to the second serial port for MIDI out
pinMode(LED_BUILTIN, OUTPUT);

pinMode(7, OUTPUT); //GND Poti Sensitivity
pinMode(6, OUTPUT); //VCC Poti Sensitivity

digitalWrite(7, LOW);
digitalWrite(6, HIGH);
}

void loop()
{
for(int pin=0; pin < 15; pin++) { hitavg = analogRead(pin); // read the Voltage from the Piezo if((hitavg > PadCutOff))
{
if((activePad[pin] == false))
{

hitavg = 127; // Velocity to play the Note with

MIDI_TX(144,PadNote[pin],hitavg);
digitalWrite(LED_BUILTIN, HIGH); // Lets the builtin LED blink every time a note is triggered
PinPlayTime[pin] = 0;
activePad[pin] = true;
}
else
{
PinPlayTime[pin] = PinPlayTime[pin] + 1;
}
}
else if((activePad[pin] == true))
{
PinPlayTime[pin] = PinPlayTime[pin] + 1;

if(PinPlayTime[pin] > MaxPlayTime)
{
activePad[pin] = false;
MIDI_TX(128,PadNote[pin],127); // Call Send-Midi-Note Routine
digitalWrite(LED_BUILTIN, LOW);

}
}
}

PadCutOff = analogRead(15); // reading the Voltage from the Poti for Sensitivity
Serial.print(PadCutOff);
Serial.print(“\n”);
}
void MIDI_TX(unsigned char MESSAGE, unsigned char PITCH, unsigned char VELOCITY)
{

status = MESSAGE + midichannel; //Sending triggered Notes via Midi
Serial1.write(status);
Serial1.write(PITCH);
Serial1.write(VELOCITY);

Serial.print(“Triggered note “); //Sending triggered Notes user-readable via Serial for Debugging
Serial.print(PITCH);
Serial.print(” with Velocity “);
Serial.print(VELOCITY);
Serial.print(“\n”);

}

2 years ago Leave a reply Allgemein

Touch Piano with MIDI USB on Arduino Leonardo

This sketch realizes a simple USB Piano with no additional circuitery. It uses the build in USBMIDI possibility of the Arduino Leonardo. Simply connect wires to Analog in A0 – A6 and start playing!


The Code can be found here:

4 years ago Leave a reply Allgemein, Arduino

Volca Korg External Power DC Plug

Korg chose to use some very strange DC power adapter. If you want to use build your own power supply, I found that this one works:

  • HS 17-10 : Hohlstecker Knickschutz, Ø außen: 4,0 mm, Ø innen: 1,7 mm
  • HS 17-10 :: DC plug 1.7 mm/4.0 mm/9.5 mm straight

Germany distributer

4 years ago Leave a reply Repairing and moding stuff

How to Build Techno Music Robots

Dear Reader,
In this article I will explain the technical background of my techno music robots. Maybe you have seen my giant MR-808 Robot. Thats where I started dealing with Robotic Electronic Music (R.E.M.) on a daily basis. Since then my whole life is dedicated to experimenting, building and playing shows with music robots. I wake up with them in the morning and think about music robots at night. Why? Because I think that electronic music has to evolve and I am very bored with music synthezisers, modular synthezisers, samplers, and computers. I want Future! Robots! And Techno!

Also I am just release my first debut album with help from Mouse On Mars, Kompakt and many many other wonderful people. Its the worlds first techno record made only with robot! You can find it here

But back to robotics. My music robots always consist of four parts:

  • The Electronics (PCB with MIDI-In, Mosfet, )
  • (more…)

4 years ago Leave a reply Actuators for robotics, learning

Stephan Eicher und die Automaten

Stephan Eicher und die Automaten from Daniel Infanger on Vimeo.

https://www.stephan-eicher.com/

4 years ago Leave a reply Robot bands, Robotic Projects

String triggered by electromagnet – DIY ebow style

Winter time – workshop time! Experiment with an monchord which is triggered by the changing field of a solenoid. It creates beautiful and a little haunting overtones.
The solenoid is switched on and off. When the bass note or an overtone is hit, the string startes to vibrate. It works like an ebow without the feedback coil.

5 years ago Leave a reply Actuators for robotics

Touch Pad Midi Keyboard with the Grove Kit and Arduino

Grove I2C Touch Sensor Midi keyboard

Create a Midi keyboard with 4 buttons with the Seedstudio Grove Kit touch sensor.

  • It uses the USB MIDI Library with an Arduino Leonardo,
  • the Arduino USB interface can be used directly as an MIDI Interface
  • http://wiki.seeed.cc/Grove-I2C_Touch_Sensor/
  • https://www.arduino.cc/en/Reference/MIDIUSB

Repository and Files: https://github.com/Sonicrobots/Capacitive-Touch-Midi-Keyboard/blob/master/main.ino

5 years ago Leave a reply Allgemein, Arduino, Electronics, learning

Kolja Kugler – One Love Machine Band

Sculpturist and welding expert [Kolja Kugler] builds robots and robotic installations for years already. His pneumatic robotic band is a smashed together explosion of steam punk like mechanics and music instruments.

Website

5 years ago Leave a reply Robot bands, Robotic Projects

8 Channel 10W LED Driver with Midi Input

We wanted to create light effect: short fades of 10W Leds which can be put on stage and are triggered via MIDI.

Features

  • 8 Channels
  • Up to 10W LEDs at 12V per channel
  • One LED Driver CAT 4101 per channel
  • PWM Dimming of the brightness via Midi
  • MIDI-IN and through

Circuit

We used a dedicated LED Driver for each channel. Its the CAT 4101 which can drive up to 1A. A TLC5940 creates the PWM Signal. Up to 16 PWM Channels from the TLC (here we use only 8) are controlled via SPI from an ATMEGA168. Like this the load of the ATMEGA is kept low when a lot of dimming is performed. Midi-In is straight forward through an Optocoppler.
The MIDI Channel can be set with an hex coded 16 stage switch.

Programming

Our sketch contains a programm for fast dimming of the LEDs. Like this an LED will flash and slowly decay, which is a cool effect together with sound. You can see an example here (with 3W LEDs):

Rescources

You can of course write your own sketch using ours. A good start is the example in the TLC5940 Arduino Library.

LEDS

We used bulk cold white 10W LEDs, which cost about 1EUR each.

  • CAT 4101 PDF
  • TLC5940 16 Channel PWM Driver PDF
  • Githaub PCB and Code here

5 years ago Leave a reply Allgemein, Arduino, Electronics

How to make a haunted portray picture with moving eyes – Arduino edition

You don’t own a haunted castle but still want that Scottish chic of a “ghost chateau”? Make your own ancestors portray with automatic moving eyes and easily scare away unwanted guests!

We all know that old movies, where the young couple is staying in the haunted castle for the first night and gets scared away by pictures of some beardy ancestors, where the eyes seem to follow the spectators. In the end its just the butler who is spying from behind to get the heritage … but anyway. So you want to build one of these pictures, too. It’s not hard!

Before you start

  • Time: 6-8h building time + time for the stuff you order online to arrive (days!)
  • Level: Mid. A little programming, soldering and general handcrafting skills required
  • You need: standard Tools (cutter, drill, screw driver),
  • Arduino Uno,
  • Standard Servo Motors from Futuba or Hitec e.g. this
    one
    ,
  • Hot Glue,
  • Wire,
  • Frames with old pictures (see below),

Preparations

First you need a picture of your loved (or hated) one. A good portray in a high resolution (> 2MB in size) is recommended. Some photoshop magic later you have the picture with a custom background you find in the Internet. Put it into an online oil painting generator to create an even more old school look.
clipboard01
Now you need one or two framed pictures from the flee market.
haunted-eyes-4-frame
Cut away the original background – maybe you can reuse it if its hard wooden sheet. In other cases cut some fresh wooden sheet of 2-5mm thickness.
haunted-eyes-5-frame
Measure the frame and rezise the digital portray accordingly. We printed the photos out on A1, 230g/cm linen structure paper as a digital print (in europe yuo can use flyeralarm).
haunted-eyes-fotos

Start making

img_20160920_151920773_hdr
When the prints come from the printing service you can start making! We reused the background from the original frame picture we got from the flee market, but you can use any type of (wodden) material thats fits in the frame. We recommend a thickness of 2-6mm.
Now its time to cut the shape of the print as well as the eyeballs of your loved or hated on. A wonderful job, plus you have spare eyeballs now!
haunted-eyes-1-7
Now mark on the wooden background where the eyes are sitting. Now you need eyes. Its not so easy to get decent eyeballs in the Internet (we haven’t checked the dark web though), so you are very lucky, because we prepared some for you! You can find a print ready A4-pdf with fitting eyeballs here. Adjust the size when you have a bigger / smaller image and print them out on A4.
haunted-eyes-1-6
Take your background wood and mark where eyes will go. Measure it with the eyeballs you arleady have. Cut out a square as in the picture below.
haunted-eyes-1-9
Glue the eyes to the remaining wood you just cut out (which you made a little smaller on both small sides so it can move!)
img_20160922_155710443haunted-eyes-1-10

We then used spray glue to glue the portrait to the background.
haunted-eyes-1-19

Electronics

Now you start with the electronics. You need a servo motor like this one.
haunted-eyes-1-15

We had a 3D-printer so we could print a holder. You can find the STL files in the github repo below. If you don’t have acess to a printer or use another type, we recommend building something similar from wood. The following steps are how we did it with our setup. It will probably differ if you want to rebuild this. Use your imagination and handcrafting skills to replicated the functions.

img_20160922_155702415_hdr
Time to build the mechanical part! We used a brass tube (4mm) which is screwed on the servo motor as an arm. This holds a 1mm acrylic thread. connected to the eyes-square.
haunted-eyes-1-16

haunted-eyes-1-14

On the eyes-sqaure we used an holder (the black one) and a terminal thread to hold the acrylic thread and a rubber band.

img_20160922_155716077

The moving eye-square is on the one side connected to the moving servo motor. The other side is fixed with a rubber band, so it gets drawn back if the servo releases. Be sure to put some wood over the backside so the eyes can still move, but also don’t fall out to the back!

haunted-eyes-1-21

Now, wire and program the arduino with the code oftware you can find in the Github repository below. A description of how the servo(s) are wired can be found in the code. We used a 12V / 2A wall plug to power the whole thing.

haunted-eyes-1-11

You are done! Ready to get haunted!

haunted-eyes-1-22haunted-eyes-1-1haunted-eyes-1-3

Resources

  • Arduino Code at github
  • PDF with eyeballs (pdf)
  • online oil painting generator
  • 3D Printed Servo holder

6 years ago 2 Comments Allgemein
Older posts
Recent Posts
  • Popcorn Drums Piezo Midi Controller
  • Touch Piano with MIDI USB on Arduino Leonardo
  • Volca Korg External Power DC Plug
  • How to Build Techno Music Robots
  • Stephan Eicher und die Automaten
Recent Comments
  • Brynjulf Blix on Midi-in Pitchbend with an Arduino
  • Nick Patel on Spotify and the native windows 7 firewall
  • jhon on Problem with network printer not printing through windows firewall
  • Luqman on M@P Group – Robot Guitar
  • Arne on External power for the Korg Monotron and the Stylophone
Imprint
Impressum
Contact

Love or hate? Get in touch!

Email: contact@sonicrobots.com

2016 © Sonic Robots - Learning