Hirsch&Mann was commissioned by the Science Museum London to build three exhibits that celebrated the legacy of Alan Turing. In 2012, they opened their Codebreaker exhibition in celebration of the centenary of Turing’s birth. The exhibition included a history of his incredible career, including artefacts like the groundbreaking Pilot ACE computer.
We were asked to create a series of exhibits which demonstrated and recognized the progress in computing while at the same time representing a spirit of engineering and innovation. To achieve this, Hirsch&Mann worked in collaboration with the very talented teams at The Cross Kings and Technology Will Save Us.
We created three installations which each represented a programming principle: looping, variables, and conditionals. At the heart of each of these exhibits is an Arduino – an open source hardware platform which is incredibly accessible and has a growing community of contributors.
Each exhibit has the following:
- A display area to see the results of the program unfold.
- A console area where each of the programs can be interacted with.
- A code display area – which when activated, steps through the code events to help explain how the programming principles work.
Looping is the act of carrying out a set of instructions again and again and again. The instructions are the same but the details inside those instructions may differ. As soon as you get to the end of the instructions, simply return to the top and start again. A real world analogy for this would be a shopping list – which you re-use every week.
The exhibit consisted of a wheel that repeatedly spins around – representing the loop. The wheel has a single spinning dial which has a strip of 60 RGB LED’s on it. Outside the wheel are 5 dividing lines – like slices in a pie. On the console are 5 rows of 6 switches. Each row represents one of the slices of the pie, and each switch represents a section of LED’s that can be turned on or off.
Visitors are invited to use these switches to control which LEDs are on and off in each slice of the pie – giving visitors the ability to create very simple and very complex patterns with just 30 switches. The arm spins around fast enough to leave a persistence of vision trail thus creating ‘ light images’ using the visitors inputs. The idea is that the loop is repeated forever, but this allows for simple and complex emergent behaviours.
Variables are containers for values – like a cup can hold a certain amount of water, so can a variable hold a certain amount of its value! A variable can be used throughout a program – it can be updated, checked, reset etc. They are a way to ‘clone’ and share a value within a program.
Visitors are introduced to the concept of variables through a physical tree like sculpture. The tree is built up from repeated instances of branching arms resulting in a tree with 30 branches. Each branch has a changeable angle which is the variable.
Visitors are invited to change the angles of the branches by using 4 sliders on the console. When changed, these variables have a dramatic physical impact on the overall shape of the tree sculpture.
A conditional statement in a program checks to see whether a condition that you have set is true or false. If its true, then it will perform the operation you have specified. If false, it can be set to perform another action, or simply be ignored. Conditional statements help programs make decisions based on various inputs and outputs. They help to define the brains of a system by creating rule based behaviour.
Visitors will be introduced to the concept of conditionals through a selection of IF/THEN statements. A large pixel display grid will present a series of 4 IF conditions and 4 THEN results. The conditions are pre-set and the results are all selected by visitors.
The resulting image will be drawn slowly as each pixel responds to the IF/THEN statements. Depending on what visitors have set to be the outcome of the various conditions, the pattern will change over time. The system is based on a modified Wolfram cellular automata which only has 4 possible outcomes. The pattern is drawn by a row of pixels based on the states of the two ‘parent’ pixels above it.
Daniel Hirschmann (Creative Direction, Programming)
Katrin Baumgarten (Mechanical Engineering)
Nissen Richards Studio