2nd Prototype - 16 Switches
We know we can create the twister board on a small scale, now it's time to see if we can do it on a normal scale. We decided on 4 separate colors in 4 rows and 4 colors, which means we will have a total of 16 switches. This is where our problems started.


Liz and Allister discovered a way of coding the 16 switches using something called Row-Column Scanning. Allister also purchased a Multiplexer for another possible solution. Here is what we discovered:
We didn't want to use the Multiplexer at first because we have never used a Multiplexer and from what we gathered there is no documentation on using a Multiplexer with an Arduino. So Row-Column Scanning was our first choice.
We were able to wire the board with the 16 switches allowing each row to turn on a corresponding LED.

This is where we ran into our first issue with our 16 switches. The way Row-Column Scanning works is that you have to have a pin for every row and column. Which in our case is a total of 8 pins considering we have 4 rows and 4 columns. That means we have 8 pins for the rows and columns in addition to our 4 LEDs coming out of our Arduino as outputs. We realized we don't have enough pins. So Row-Column Scanning will not work.
On to the Multiplexer...

Allister took a picture of the Multiplexer's datasheet at the store he bought it at. We then spent most of the night trying to figure out what it all meant. After getting a pretty good idea of how the Multiplexer is setup we asked a friend who has used Multiplexer's before if she could help. This is where we discovered the problem with the Multiplexer. Apparently the way a Multiplexer works is managing 16 inputs with only 4 switches. This will not work for our idea since we need each of the 16 switches to work independently of each other. So now we are under the impression the Multiplexer will not work.
Here is some info on Multiplexers that was helpful:
Wiki - Multiplexer
Thread on using an Analog Mux with the arduino
After brainstorming other solutions the same friends who said it wouldn't work said if we use the Multiplexer is a different way we could have the result we are looking for. She explained if we used the Multiplexer to scan all 16 inputs then using the 4 selects (data inputs) in the Multiplexer we can write a loop that will constantly scan the 16 inputs to see which combination is turned on. So we went with it.

Allister than cut a board so we could keep everything together:

Everything is wired and now ready for the coding.....we hope:

By the way we are using a 16:1 Digital Multiplexer and the datasheet Allister found is here.