Wednesday, November 28, 2007
Arduino workshop
Wednesday, November 21, 2007
Phidgets Smidgets.
We met the others on the way to The Wellcome Trust and so we started the class. Massimo Banzi explained the origins of the Arduino board as a device to allow for the rapid prototyping of design ideas. He has a way of talking about technology that makes you believe that you can just start taking things apart and building machines out them. We spent the first day learning the basics of the control programmes and by 5.30 we were well “cooked on both sides”.
We were encouraged to bring various bits of redundant kit to “hack” for the next day. I brought in an old Wacom tablet as I thought it might contain some interesting possibilities and I had always wanted to see the inside of one. After chatting to Massimo about how to get some readings out of it, I attempted to solder some wires to strategic places on the circuitry. Unfortunately I succeeded in burning a large hole in it.
It taught me quite a lot, especially the importance of efficient and accurate electronics when putting together these sorts of systems. I speak as someone who comes from an art background who had not programmed before last month.
The workshop drew to a close with a review of everyone’s projects and the award of Tom Igoe’s book Making Things Talk to the person whose name was drawn out of a hat. We all came away from the workshop feeling inspired and well informed enough to know how to put that into practice. We look forward to Massimo’s visit in December.
Arduino anti-theft device
Due to scurrilous thieving sods at the pub I work at I'm in the process of building an anti theft device using Arduino technology for the Guitar Hero 2 wireless controller. I'm going to use an RFID tag and an RFID reader and some cunning. Lordy I might actually find some practical use for myself from the workshop!
Tuesday, November 20, 2007
Tinkering versus engineering
Massimo gave a more psychological definition: "what happens when you try something you don't quite know how to do, guided by whim, imagination and curiosity". Conventional engineering is goal driven and so this is one way it differs from tinkering. Massimo talked about the value of building things without having any particular goals as this means there is no right or wrong, or concept of failure.
Massimo suggested several other ways in which tinkering differs from conventional engineering. Firstly, he believes people should be at the centre of any design process, rather than technology (which is typically what engineers do and perhaps explains why interfaces can seem so alien sometimes).
Secondly, Massimo's approach is to "describe by showing": quickly build prototypes in order to explore ideas. This approach is often used in conventional engineering too, but there tends to be more emphasis on formal methods rather than hands-on exploration.
Thirdly, he talked about how tinkering involves working out how existing systems work and then re-working and re-using them. As examples, he talked about scavenging the Olivetti junk yards in Ivrea for electronic parts, circuit bending and toy hacking.
I've been interested in the engineering/tinkering distinction for a while. In a 2002 paper with Paul Layzell we came up with the following distinctions that echo Massimo's:
ENGINEERING | TINKERING |
Clear goal/plan | Often no goal/plan |
Not necessarily dependent on previous designs | Uses whatever is to hand |
Aims for best solution given constraints | Makes some kind of workable object |
Insulates subsystems and minimises unforeseen side effects | Combines systems or transforms them for new uses |
Arduino workshops demonstrate that the tinkering approach is pedagogically very valuable, but it can be a potent design methodology as well. Evolutionary electronics research, which could be viewed as automated tinkering, can produce circuits that would not have been produced by conventional design, for example, Adrian Thompson's tone discriminator and Paul Layzell's evolved radio.
Adrian's research page is a great resource for finding out more about evolutionary electronics. It also has two novel, possibly unique, examples of applying haiku rules to academic paper titles (both were presented at a conference in Japan and have 17 syllables organised in a 5, 7, 5 pattern):
An Evolved Circuit,
Intrinsic in Silicon,
Entwined with Physics.
Through the Labyrinth
Evolution Finds a Way:
A Silicon Ridge.
Darwin viewed natural evolution as a tinkering process: “throughout nature almost every part of each living being has probably served, in a slightly modified condition, for diverse purposes” (C. Darwin (1886) The Various Contrivances by which Orchids are Fertilised by Insects. D. Appleton.). The biologist Francois Jacob was even more explicit: “Evolution proceeds like a tinkerer who, during millions of years, has slowly modified his products, retouching, cutting, lengthening, using all opportunities to transform and create” (F. Jacob (1989) The Possible and the Actual. Penguin Books.).
We are evidence that evolution can generate complex, creative systems. But as a blind process, it can take an incredibly long time. Surely it's always better to use a conventional, top-down approach to design if you want to get anything done in a reasonable time? Adrian Thompson argues in his paper Notes on Design through Artificial Evolution: Algorithms and Opportunities that for some design challenges conventional engineering cannot help us and the only way we can proceed is to adopt a tinkering or evolutionary approach. Keep hacking away at those Arduino boards...
Monday, November 19, 2007
Arduino goodies
From those basic starters it was pretty straightforward to get a light sensor hooked up and start pumping data into Processing. Next up was the potentiometer hooked up to the Piezzo sensor. By changing the voltage Chris and I were able to make an awful racket like a Theramin crossed with a cat.
Today we collected a bunch of old electrical stuff from the bins so we can start making our own pieces. Steim watch out.
Arduino workshop 17-18 November
George, Henry and Chris worked on an ambitious project to build a predator robot that would chase a prey robot. Rather than canibalise a remote control car they constructed everything from scratch, including the wheels (out of cardboard and gaffer tape). They managed to achieve a lot in a short time and with a few parts from the Autonomous Systems Lab at Sussex the robots should be charging around very soon.
Inspired by Massimo's Virtual Fish Tank, Jo worked on a circuit to identify objects by their colour using LEDs, a light sensor and a Quality Street box. The chocolates got eaten in order to provide filters for LEDs on the robots, apparently.
Jeremy worked on using a variety of sensors to drive Processing sketches. This involved cracking how to use serial communication and he can now link hardware to a wide range of programs, such as Flash and Max.
I explored linking Piezo transducers to Processing. I hooked up 4 (there are 6 analog inputs on an Arduino board) and connected them to coffee cups and a plastic milk bottle (found on the street on the way to the train station). It was necessary to separate the sensors in this way as when they were all wired on a breadboard they interfered with each other - knocking one could also trigger a neighbouring sensor. Thanks to Alexandra Deschamps-Sonsino for soldering the wires onto the Piezos (and for organizing a great workshop) so that I could then tape them to objects.
The Piezos are very sensitive and return values in the range [0, 1023] - the trick involves putting a large resistor (one mega ohm) in parallel with the sensor. I am hoping to use the outputs generated by knocking/tapping the sensors to drive a wave simulation. At the workshop I got the serial communication between Arduino and Processing working fine - when I hit the cups or bottle a windowin the top left hand corner of my laptop screen changed colour (the colour indicating which object had been struck).
It'll only take a little bit more coding to use the Piezo signals to drive waves (and their interactions) in Processing. I want to use these waves to perturb a neural network visualization that I coded in a previous project (Network).
Ultimately, I want to build a smallish network in hardware using a grid of LEDs which could be housed under glass or some diffusing material and perturbed by knocking the edge of the covering material - interactive coffee tables? The workshop has been an incredibly useful first few steps towards this. All the students have been inspired as well and I think one of the labs is going to become dedicated to physical computing projects. Skips are being searched for electronic junk as we speak.
Tuesday, October 9, 2007
Exploring InQbate
InQbate is a high-tech white cube with white floors and white movable walls (that also serve as white boards), multiple projectors and plasma screens and LEDs in the ceiling that can be set to different colours. They also have a fine collection of bean bags (which, of course, are white).
Diane explained that the space was primarily designed for presentations - although potentially far more immersive and technologically enhanced than any Powerpoint presentation I've experienced or given. Consequently, any configuration of the space tends to occur before a session. For example, videos and imagery can be assigned to different plasma screens and projectors and the lighting colour in different areas can be specified. Currently, the most dynamic feature of the space is the capacity to program the ceiling LEDs to automatically sweep through different patterns at specified intervals. Sounds can also be shifted around the space by an operator using a touch screen.
What we would like to explore is how the space can be made more responsive. For example, how we could get images and video to dynamically shift around the different projection surfaces in the room. How could we get the LEDs to change colour in response to movement of people in the space? Jo and George are keen to explore how we could interface with the software layer of the system that was developed in Informatics. What other ideas do people have for making this presentation space into a responsive space? Do people think that making InQbate more responsive would enhance the teaching and learning that takes place in the space or would it just be a distraction and extra complexity for tutors to deal with?
Wednesday, October 3, 2007
What is generative art?
Jon McCormack's Eden: an interactive sonic ecosystem
In a second talk Maggie will focus on the philosophical issues raised by computer generated art, but she suggested that applying computers creatively has led to radical changes in art. Firstly, the generality of digital computers means that they have the potential to generate more complex forms than traditional artistic tools, perhaps even forms that cannot, at the outset be imagined. Using Jon McCormack's phrase, Maggie argued that they enable artists to explore the computational sublime.
Secondly, digital computers enable artists to diminish or even completely relinquish their control over the artistic process, thereby 'shifting the locus of creativity'.
A close up of Jon McCormack's Eden
Technology is enabling powerful new forms of creative expression; Maggie's paper seems like a good place to start a discussion about how and why this is the case.