Lights Up!

Overview

This is an interactive built for MathCity Leeds. MathsCity aim to teach mathematical concepts through interactive learning, they are based in the Trinity shopping centre Leeds, UK. I was asked to build an interactive which demonstrated the principles of Elementary cellular automaton. These are simple sets of rules used to create a pattern of on-off states. Each light is turned on or off based on the three lights above it. For example, if the lights above a light are on-off-on then we might choose the light to be turned off. It depends on the rule set. Here is one of the rule sets that is programmed into the board:

There are four sets of rules programmed into the board and the active set is chosen randomly. The objective of the game is to figure out the rules.

The interactive game was named Lights Up! and was installed into the Leeds MathsCity centre in April 2023.

How it Works

When you first walk up to the device it may be in ‘screensaver’ mode, random lights will turn on and off to create random patterns until you push one of the 19 buttons at the top.

Pushing one of these buttons changes the state of the light just below it. As soon as you change one of the lights in the top row the rows below update based on the current rule set. This continues row by row to the bottom on the board. The effect is a waterfall of change based on a seemingly small change to the top row. This ‘butterfly effect’ leads to new patterns emerging on the board.

Once you are bored with the current set of rules you can push the button on the left to change them. This will lead to new patterns emerging.

How it's Made

The board is built in layers. Two pieces of mdf and one acrylic layer at the front.

The middle layer is an mdf frame with the centre made up of many 3D printed windows. These form a grid to hold the LED lights in place. Each light module consists of one addressable white LED held in a square compartment. Each compartment has a piece of frosted plastic at the front to diffuse the light.

Everything is connected to and controlled by an arduino mega.