« Mid-Term: 1st Prototype | Main | Problems with our Multiplexer / Wiring »

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.

2ndPrototypeDrawing.jpg

2ndPrototype.jpg

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.
2ndPrototype3.jpg

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...
2ndPrototype_DataSheet.jpg

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.

2ndPrototype_Multplexer.jpg

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

Everything is wired and now ready for the coding.....we hope:
2ndPrototypeEnd-of-Day.jpg

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


TrackBack

TrackBack URL for this entry:
http://itp.nyu.edu/~cb1591/cgi-bin/mt/mt-tb.cgi/22

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)