Blog: entries tagged with "arduino"
Wednesday 27 August 2008
I’m finally back to working on some electronic projects. First up, the Express, an analog-to-MIDI converter built around a Bare Bones Board, an inexpensive Arduino clone.
I’ve been making up some patches for my Evolver synth to use it as an effect on guitar or bass, and thought it’d be nice to have some sort of pedal to control it, along the lines of a wah or volume pedal. The desktop model of the Evolver lacks a pedal input, hence the Express (for “expression”, both of the musical and genetic kind - evolution, geddit?). Currently, it reads one analog pin and spits out continuous controller data. Nothing particularly spectacular there, but it did fit wonderfully into the sturdy steel case from a computer keyboard A/B switchbox. There’s room for lots more inputs, and eventually I figure it’ll sport an additional analog in and some footswitch inputs which will send things like note on/off messages.
I’m still new to making enclosures, and to working metal in particular - instead of grinding out a hole that was slightly too narrow, I used a drill, which grabbed hold of the edges and warped the heck out of the front panel. Panic set in for a moment, but I managed to bash the thing back into shape using a busted old hard drive(!) as an anvil.
Word to the wise: there are two incompatible standards for the wiring of expression pedals:
1/4” - tip to wiper / ring to +5V / sleeve to ground: Clavia, CME, Electrix, Emu, Kurzweil, Oberheim, Roland/Boss
1/4” - ring to wiper / tip to +5V / sleeve to ground: Kawai, Korg, Yamaha
The former arrangement allows you to use a standard normalling jack to connect the tip to ground by default, so the input doesn’t float if nothing’s plugged in. I’m using a Boss pedal now, but my other pedal is a Yamaha, so if I want to use it as a second input, I’ll have to wire up something to cross those connections.
Being easily distractible by possibilities - giant trackball! LED matrix! stepper motor-controlled time-lapse photography! - I’m desperately trying to focus on a couple of projects at a time. Arduino project number two at present is using it for ultra-cheap and dirty sound generation, with piezo disc speakers plugged directly into the digital outputs. A little hacked-together code, and voilà:
I call it the Bee, though “Mosquito” might have been more appropriate. Modulating the pulse width creates some nice motion, but there’s a lot more to do, like getting R/C filters to tame some of the harshness - it really is annoying after a while. Oh yes, and putting a switch on it to shut it up between tests. And, of course, buttons and knobs to play it with… maybe even some sort of acoustic treatment, like a resonating soundbox or a spring reverb.
Sunday 22 July 2007
I hit the electronics store the other day - sadly, they didn’t have any opto-isolators, so no MIDI input experiments this time round. But I scored some 74HC595 ICs, for the driving of LED displays and other digital outputs.
Here’s some code to run a common-cathode 7-segment display using the 595 (the Arduino site has a tutorial on how to hook up the 595, send data to it, and daisy-chain multiple ICs). I’ve included a list of which pins to connect to which anodes on the display in the character set file, below. Displays differ in their pinouts, so if you’ll likely need to do some testing to figure out how the pins are arranged.
charset_7seg.h - I spent a few minutes scribbling out a character set, and here it is as an #includeable file. (I put it in lib/targets/libraries/LED7Segment for the compiler to find.)
And here’s a test sketch. It lets you flip through the characters using a potentiometer on analog pin 0, but if you don’t have one handy you could easily adapt it to display the characters one by one.
Wednesday 13 June 2007
One is that Evolver I mentioned. It’s the desktop version, a monosynth with no keyboard. First impressions:
Sturdy metal case. Knobs are rotary encoders, i.e. the clicky digital kind, and are a little dodgy - maybe this will improve with time? Cleverly designed interface cuts down costs and space by packing dozens of parameters into a matrix so you can adjust them all using eight knobs: hit a button to select a row, then turn the corresponding knob. It takes a little getting used to, especially since half of the parameters also require you to hit the Shift button to get at them.
It can make pretty analogue sounds, and glittering digital sounds, and frightening noise. It has two audio inputs for use as a signal processor, and it can do some wonderful spacy things to a fretless bass. Here’s one minute of me goofing around, using it as a bass synth, a ghostly lead, a crunchy bit-hacked rhythm, and some other effects. A bit of echo, reverb and compression added in Logic.
The other toy: an Arduino USB board.
Essentially, it’s a little computer processor on its own board. You can program it from a Mac, Windows or Linux box using a simple language based on C. It has a whole bunch of digital input/output lines, and six analog inputs that can double as pseudo-analog outputs (pulse-width modulated and not suitable for audio, but they work fine for dimming LEDs, for example). If you don’t need the USB interface, there’s a tinier, even cuter version.
More sounds and updates to come.
Page 1 of 1 pages