Laser Harps, Wind Controllers and MIDI stuff

Hi,

This is the first thread I've started in a while. Just wanted to share some pics of my Laser Harp controller (MkII) thus far and an earlier photo of my existing LH Frame in action.

As much as I have admired Stephen Hobley's LH design for some time now http://www.stephenhobley.com/blog/laser-harp-2009/ I don't have access to an Oscilloscope to justify making one. Also the cost to get the driver boards here are prohibitive so I decided to continue to refine what I already had essentially removing the PIC and replacing it with a Mega168.

Unlike a scanned laser and detector version of the LH, by using beam splitting optics and providing blanking (and safety to the human eye ball) the sensor setup is very straight forward essentially allowing beams to go in multiple directions with sensor being placed to match. As a musical instrument maker keeping it simple has opened up many creative possibilites.

My interest mainly lies in developing tools to input and feedback in a musical context and can safely say a Laser Harp is a wonderful way to explore some very interesting areas of creativity while extending general knowledge of the Arduino platform and digital electronics.

While what I have done is really nothing new the process for me has been. One nice little thing I found for reliability of the instrument is instead of having an often suggested separate LDR or Phototransistor measuring ambient light to offset changes that may affect the sensors, check each beam sensor instead. This is done by taking a few samples of each beam while they are all off, averaging them, putting them in an array and using this data to act as the low offset value. Then doing the same when all beams are on for the high offset value. This acts as an extra measure of anti-glitch proofing particularly if playing the instrument alongside other intelligent or unpredictable ambient lighting. This is useful if the sensors being
used are not all equal in resistance. Callibration can be called during downtime using Timer functions and/or when the player is not triggering essentially ensuring everything is OK once in a while. As the Laser is TTL controlled in my design measurement can be taken in between times (when the laser is on or off). The proviso of this though (works well for my particular sensors) is that what ever is on the input end of the circuit must be able to go HI and LOW within the
maximum blanking period of no more than 10us. Longer periods and the inputs will be ignored (the inputs only see one state) and the laser will start visibly frame dropping/flickering.

The reason I chose Analog logic over Digital on the beam sensors is so that I could then adapt each input for variable sensing eg. Ultrasonic and assign it to whatever MIDI note or control paramater I liked. In the code it is just a case of looking for a change on a particular input and the code deciding what MIDI event to execute based on a condition.

IN THE PICS - Below
Brain Board - iDuino running Mega168; MIDI Bus; Sensor Board Bus;
I/O Board - Dual 4051s Multiplex all 16 Analog Inputs; Dual 595s do all the LED, switch indicators etc.
LED Board - Acts as both beam sensor indicators and for setup; currently just retro cylon effect.

NOT SHOWN
Sensor Board - Voltage Divider Network of 10 resistors connected to 10 Phototransistors at the top of the LH frame via wire loom.
Button Board1 - 3 Momentary Buttons (UP, DOWN, SELECT)
Button Board2 - Laser Arm and LED Indicator; Mode Select Button and LED Indicator
150mW 532nM Laser with TTL mod
Tamper Switch - Drops Duty Cycle on Laser if cover opened or unit tipped over

TO DO
Make some room in my workshop so LH frame can be assembled again :wink:
Rewrite timing routine for TTL Laser Control using 16bit timer on Timer1, Test, solder header to Brain Board.
Remount Laser.
Solder Button and Sensor Boards to Brain.
Rewrite callibration routine.
Rewrite MIDI send routines.
External Footswitch (Patch Change)
Build Housing (Wood and Stainless Steel)

WISHLIST (on the drawing board)
Arduino1
Power/Laser Control; Cooling; TTL Control; Shutter Control
Multiplexers - 1 x 16 Analog In; 1 x 16 Analog Out;
Shutters x 12
DMX In/Out
I2C Slave

Arduino2
Multiplexers - 1 x 16 Analog In; 1 x 16 Analog Out; 1 x 16 Digital In; 1 x 16 Digital Out;
MIDI OUT, THRU
LCD I2C
Breath Sensor Input
Ultrasonic Input
Touch Sensitive Control Panel LEDs (buttons)
RGB Panel/Backlight
I2C master

RGB Laser Modules
Laser Power Supplies with TTL Modulation (x6 = 2 X RGB)

I hope to have my first prototype Mark III PCB done by the middle of the year. In the meantime Mark II is nearly complete. I will post more pics and code snippets as things progress.

MAIN BOARD

I/O BOARD

LED BOARD

MY HARP IN ACTION

Nicesauce :slight_smile:

I think an interesting thing would be to have the laser sense your hand and then an ultrasonic sensor sense the distance. Then you could use one distance sensor for the whole spread (as long as it is as wide angle as the spread of lasers) and the sensing with the lasers would tell it which 'string' you were playing.

Mowcius

Great minds think alike. Yes an ultrasonic sensor was what I have been thinking of too. In fact two of them so that using math can apply different velocities to MIDI send byte from different areas of the harp. Also two would suit being able to have a pitch up and pitch down controls. The next frame will be based on the illustration (below) so it is much smaller at 1.6m high. The sensors are attached to the instrument player side so that things like pitch bend, velocity or modulation control can be moved around the frame depending on the playing style and which MIDI controller you want to send the values to. I plan on using RGB Lasers with this new frame which is being constructed using a rare timber we have here called Kauri which is more than 30,000 years old. Will look stunning when completed by the end of this year.

Cheers for the sauce

AKASHA YANTRA (Space Harp)

do you have a link to the sliptter(s) you used to get all the beams?
you are just using one laser right?

The splitter material is cheap and straight forward. Originally I robbed my sons microscope set of some glass microscope slides. These I cut up using a diamond cutter and mounted approx 1" square pieces to some bits of wood dowel. One face of the dowel is sanded flat to allow optics to be attached which is then sandwiched between a brass bracket. A screw then passes through each side of the top of the bracket and through the center of the dowel with a washer and nut to hold everything together. The bracket is screwed into the base of the instrument using a compression spring so that the whole thing acts like a gimbal. You can make small adjustments and the spring holds the gimbal in place. I found myself breaking the glass all the time so replaced them with a clear acrylic plastic sheet cut into small squares. One laser >150mW gave me 11 clean beams using basic splitters. Any more and the beam degraded too much to be visible. It's a case of playing around with different materials. Microscope slides were great (the ones I had were higher transmission than reflection ratios) but the plastic I had to try a few types until a few beams were looking like they had same brightness.

My next frame will have a laser at each end and a optical block in the middle mainly so I have the flexibility to go a complete Octave of 12 notes. The gimbals can be something as simple as a hinge mounted to the base with a single screw (allowing left to right swiver) with the optic hot glued or whatever to the hinge. I've just chosen to go all out on the materials and use some artistic license in the design of each piece of the harp. Cannot stress enough safety first when using any laser and bouncing it off any reflective surface. Blank the laser if possible. Exposure to ANY visible radiation should be limited to 0.25s, the blink reflex. Wear glasses for the correct wavelength and OD rating of the laser.


http://www.andrewkilpatrick.org/blog/?page_id=170
Although Andrew's construction is dated now in terms of the circuit the principles of everything else are the same. He is using low power diodes from laser pens, 1-5mW. 150mW+ can burn things including your eye balls.