513
edits
No edit summary |
No edit summary |
||
Line 190: | Line 190: | ||
[https://vimeo.com/170147174 ===> VIDEO] | [https://vimeo.com/170147174 ===> VIDEO] | ||
__________________________________________________________ | |||
Finishing the prototype:<br><br> | |||
The plan was to implement more switches into the carpet-matrix in order to allow playing with more output possibilities.<br><br> | |||
I achieved that by changing the design:<br><br> | |||
1) Layout<br> | |||
2) Switch Design<br> | |||
3) Programming<br><br> | |||
1) <br> | |||
I designed a bigger and more complex layout of „switch holes“ inside the „distance grid“.<br> | |||
The switch holes are VERTEILT all over the mat.<br> | |||
I kept all the cut out pieces in order to change the design as I need it by putting them back in place.<br><br> | |||
„Raster_Styro.jpg“ | |||
2) <br> | |||
I changed the switch design: they now consist of two carpet-size cardboard pieces that are supplied with „circuit lanes“ made of aluminium foil. <br> | |||
There are two cardboard pieces: one is equipped with the bottom part of each switch, the other one is equipped with the upper part. <br> | |||
The bottom part features eight and the upper part features six „circuit lanes“ that are located in a way so that they form a kind of matrix-grid when they are put on top of each other. <br> | |||
Raster_Karton.jpg <br><br> | |||
Zeichnung_Karton.jpg | |||
Zeichnung_Karton2.jpg | |||
Zeichnung_Karton3.jpg | |||
Alu_Karton.jpg | |||
Raster_Alu_Karton.jpg | |||
Alu_Karton2.jpg | |||
I first planned to use a resistor ladder for the Analog input pin of the arduino in order to minimize the amount of pins being used.<br><br> | |||
Schematic_Raster_Styro.jpg | |||
Alu_Resistor_Ladder.jpg | |||
Alu_Resistor_Ladder2.jpg | |||
As this did not work out (too many delays in the code, too slow, a lot of noise) I changed the design by attaching a separate wire to each of the eight „circuit lanes“ that go to the Arduinos digital input.<br> | |||
Now there are 6 + 8 = 14 wires coming out of the carpet. 6 of them are used as „digital out HIGH signals“ and the other 8 are used as „digital in, normally LOW“ pins that check if a button is pressed.<br> | |||
Arduino_Raster_Karton.jpg | |||
3)<br> | |||
The resistor ladder idea did not really work.<br> | |||
Therefore I decided to get a bit more into working with the Arduino Keypad library.<br> | |||
The library is made for a 4x3 keypad matrix.<br> | |||
This layout can easily be changed by adding more COLS and ROWS to the array.<br><br> | |||
You can find more information about the library here:<br><br> | |||
http://playground.arduino.cc/Code/Keypad | |||
http://www.dummies.com/how-to/content/how-to-specify-userdefined-functions-for-your-keyp.html | |||
Arduino_Raster_Matrix_Carpet.png | |||
External pullup or pulldown resistors do not need to be added.<br> | |||
The code uses the built in IMPUT_PULLUP command. <br> | |||
It is also configured to have a multi button press function for which you normally have to add diodes to each input in order to prevent short circuits.<br> | |||
I don’t exactly know why but the comments tell that these external diodes do not have to be added when using the keypad library.<br> |
edits