As computing becomes more ubiquitous in our objects, designers need to be more aware of how to design meaningful interactions into electronically enhanced objects. At the University of Washington, a class of junior Interaction Design majors is exploring this question. These pages chronicle their efforts.

Tuesday, June 11, 2013

Dan | Stephen //Sensors


For our project, we need the Arduino to read how much paper is being pulled off the roll, so that we can get the user to use less of it. We scoured the internet for different sensors that we could use for this. One idea we had was to count the rotations of the paper roll. The problem with this is that the circumference of the paper roll, gets smaller as paper runs out, meaning we'd have to do some crazy math to calculate the right amount being used. It would also vary, depending on the brand of paper and the ply used. Back to the drawing board, Dominic suggested we use a computer mouse. This would sit right on the paper, and count sheets as they are pulled underneath it. This was a great idea, because it didn't involve any math and the parts were readily available at the local Goodwill stores. I bought two mice, one optical and a old school rollerball mouse with a PS/2 connection. the PS/2 standard has 6 pins that can directly interface with an Arduino board. The biggest headache we faced with this was the lack of usable code libraries. We found dozens of user created methods for using a computer mouse like what we were doing, but all of their solutions had code that was supported in older versions of Arduino, going back to the alpha version 0022.





We were able to get the mouse to connect but could not find any compatable code or get any useful readings. 

The next sensor we tried an infared emitter and detector. We set up a laser cut wheel with three holes, every time the laser was broken three times represented a full rotation of the toilet paper roll. We were able to get the sensors to respond and count but not as regularly as we wanted and we could not figure out what it was that was keeping us from getting to the solution. The code we used looked like this:
the process looked like this:




No comments:

Post a Comment