Even more LEDs! This time it's back to conventional 5mm ones. I had the idea for this piece many years
ago when I was working on LED signage and, finally, I've constructed it.
Here it is on a table in my workroom. Ideally it should have its very own plinth but I didn't want to
stop and build one now so this will have to do for the moment.
The following video shows it working:
The camera splurges the light too much, but you can kind of see the idea of it.
It's not a good idea to explain art too much but you might, perhaps, think about Van Gogh's painting
of an old pair of shoes which is as much about absence as it is the presence of the overly familiar.
My piece is (sort of) about the absence of a future: the kind of retro-future that some of us were
once so familiar with but which, of course, has never happened, and never will outside the pages of
books or on the screens of movies.
The Technical Stuff
I found an old pair of very cheap shoes that I'd bought a long time ago, worn once, and then decided
that my feet deserved better. Now I'm recycling them into a piece of sculpture. First job was to cut
holes in the soles. It wasn't too difficult - they're just a combination of soft and hard rubbery
material. Not particularly neat but then it doesn't show being underneath.
I then cut pieces of perforated circuit board to fit each shoe and wired up the LEDs.
The drive electronics of this is more or less identical to the first piece (The Long Way Round), again
with shift registers driving LEDs. This time, though, I'm using strings of LEDs to get the individual
bars and that necessitates a much higher LED voltage than the +5V from the Pi board. Having to have
the extra supply doesn't really detract from the look of the work because I can hide the power supply
under the table, or inside the plinth, once I build it.
Here are some pictures of the LED boards, the interface board, and finally the whole thing being
tested on the workbench.
The code is more complicated than it needed to be. I originally intended to feed a new (random) data
value into the shift registers on each step but, unfortunately, I wired the LEDs to the shift
registers in reverse order so, rather than bother to rewire them, I simply simulated the shift
register in the code and read out all 16 values each time.
import time import RPi.GPIO as GPIO import random # set GPIO directions - all outputs GPIO.setmode(GPIO.BCM) GPIO.setup(14,GPIO.OUT) #clock GPIO.setup(15,GPIO.OUT) #latch GPIO.setup(18,GPIO.OUT) #data # set initial state GPIO.output(14,False) GPIO.output(15,False) GPIO.output(18,False) # start off with LEDs off ledData = [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False] # do forever while True: for x in range(15,0,-1): # do for 15 LEDs ledData[x] = ledData[x-1] if random.randint(0,15) < 8: ledData = True else: ledData = False for x in range(0,16): # do for 16 LEDs GPIO.output(18,ledData[x]) GPIO.output(14,True) # generate clock GPIO.output(14,False) GPIO.output(14,False) GPIO.output(15,True) # after all 16, latch on s/r outputs GPIO.output(15,False) time.sleep(0.05) GPIO.cleanup()
Randomly driving the shift-register gives something reminiscent of a barcode flowing beneath the
shoes. A mesmerising flow of 'data' disappearing off into the past. The code part of this is so
trivial it could easily be made to work with a 50p microcontroller, which is probably how I'll adapt
the piece once I'm finished.
I probably lose a few points for originality with this slice, copying my own previous circuit, but
maybe I'll make up for it on the artistic side of things.
Now I need to think about what I'm going to do for Slice 5.
Here are links to the other slices:
I'm following along with this Design Challenge as an independent participant, not as one of the
challengers. I'm not entering the competition for the prizes.