With this project, we are experimenting with sending the sense of touch over a network. We decided on a design that lets the users on each side send and recieve touch. Each device will be made of a grid of "touch pixels". These pixels will move up and down depending on the forces applied on each device. For example, if the first user is pressing on a pixel and the second user is not pressing on the corresponding pixel, then the pixel will move down on the first user's grid and up on the second user's grid. If both are pressing on corresponding touch pixels, then the net force is applied, ie, the pixel of the user who is pressing harder will move down and the other user's pixel will move up. We are using the equation F=ma to determine how fast the pixel should move up or down.
1) Build one "touch pixel" of grid and have it apply and measure force.
2) Build second "touch pixel" and have it send measured force to the other though wires
3) Have the two "touch pixel" interact by sending measured force to eachother and applying the net force of both pixels to themselves
4) Have the pixels communicate over a network using UDP
5) Build 2 grids of "touch pixels"
6) Make sure it feels nice
7) Put membrane on top of grids
We started off by connecting two breadboards with wires, each with a servo motor attached. We had 2 potentiometers attached to the breadboards filling in for our force sensors which were being shippped. We had the output of both potentiometers go to both PICs. We programmed the PICs to take the differnce in the resistances of the potentiometers and divide by 4 to translate the value to a postion on the servo. We used serial output for debugging.
From there, we contructed a prototype of the touch pixel from papertowel tubes, ping pong balls and wire from an umbrella to test the construction. We were still using potentiometers at this point.
The potentiometers didn't demonstrate the sense of force though, so it was a completely differnt interaction because in order to simulate no force was being applied, you would need to turn the potentiometer all the way to one side. We finally got our FSRs and plugged them in where the potentiometers were. We had to adjust the resistor we used to measure a small amount of force. It still wasn't exaclty applying force just right, and then we remembered the equation Force = mass * acceleration, and used that to determine how fast the arm of the servo would move back and forth. We made up an arbitrary mass to use for the equation since the measurement we received in from the FSR was a resistance value and not a force measurement.
Then we taped the FSR's onto the tops of the ping pong balls, whiched served to simulate the user pressing the pixel and it moving corresponding to the force applied. But since the ping pong ball was round, the FSRs kept slipping and it was sometimes difficult to find where the exact point to press was.
After that, we created touch pixels out of wood to see how we liked the feel of it to use for our final design. We drilled a hole
through a block of wood and ran the wires for the force sensors through it and had the FSR at the top of the block covered with a
piece of foam. We created a square of wood for the block to move through that acted like the paper towel tube. We then created
a base and attached the servo to it with the wire attached to the servo arm and the end of the block of wood with the force sensor.
This worked pretty well, but the more it got used, the wires on the FSR would get tugged and the ribbon on the FSR would rip.
(insert pic of wooden touch pixel here)