The images above are the ones I used for the pressure pads. I tried to size them so that the candidates took up roughly the same size of each frame. I originally looked for similar background colors, but then it seems people chose their backgrounds quite deliberately. Perhaps Stein's green background explains why she won in my Brooklyn election ...
The beginning of the video (which is from the primary) shows the process of making the pressure pads. Basically I cut recycled cardboard (cereal box) to roughly the size of the portaits and afixed tinfoil to both sides. (Two pieces per candidate, eight total). Then I stripped insulated wire and slipped the exposed wire under the tinfoil on each side, and sealed the edges with electrical tape. The most important thing is that the wire needs to make contact with the tinfoil. When the two pieces of the tinfoil make contact, we will get a HIGH. Think of it as like a wire sandwich. Of course, you don't want the pad to be always giving HIGH, so I used thin packing foam to prevent the two pieces from touching. The pressure of the pigeons will depress the foam enough to allow the two pieces to make contact and give a HIGH vote.
Wiring To Arduino
For the first iteration I just used a breadboard and for the second iteration I soldered to a blank pcb to make it more stable. The wiring is nice and simple. The only extra component you need is a resistor for each pad.
In the first video you may notice there are 3 wires coming out of pressure pad. That was a waste of wire, in second version I just did 2 wires, one for each side of pad. Pictures below show the soldered version, as well as Fritzing breadboard. Same idea as how you wire a push button. Wires from top half of pressure pad go directly to ground. Wires from bottom half are connected to 5V through 10k resistors. Wires from bottom half of pressure pad also go to digital pins on Arduino to read. First time I did those from pressure pad itself, second time I just did it from pcb which is better!
There are two aspects to the code, one file is to be uploaded to Arduino, and one file is the Processing sketch which helps you visualize the data.
The way it works is that when a button is pressed, the Arduino sends a 1, 2, 3, or 4 over the serial port to Processing. Processing reads the incoming data and adjusts the vote graph. (1 for Clinton, 2 for Trump, etc.)
I decided to only send the vote if I had a LOW followed by a HIGH. Otherwise, if a pigeon is sitting for a while sending a continual HIGH HIGH HIGH HIGH, there would be a ton of votes. If you stipulate that there must be a low inbetween, it ensures that pigeon must have stepped off for a moment. I also only send the vote if there's been a HIGH for at least 300 milliseconds.
I'm not an expert programmer by any means so feel free to improve. Link below takes you to dropbox folder with code. You don't have to log in, just press "continue to download"
Link to Code