This week Emily, Lina, and I endeavored to complete our proposed P Comp project of hacking an old PC mouse to permit somoene to operate the device using a footpad.
We met early on Saturday on Canal Street and shopped for some material to use for the footpad. We went to a fabric store where Emily’s desire to use an animal print led us to a cow pattern print where the cow’s “spots” were in the shape of little (Mickey) mouse heads. We knew once we saw it that we had to go for this material. It inspired us to build the pad in the shape of a mouse’s head, with the face divided into quadrants holding the sensors controlling the left/right and up/down movement of the mouse, and the right and left ears serving as the right and left click buttons.
The other key was Lina’s decision to use relays to operate the click buttons on the mouse. We had discussed using transistors, but Lina was familiar with relays and they were a lot easier to wire up on the board.
The relays were the right call, as you can see here as we use them to simulate the right/left click action of the mouse. (Notice how I was really working the gum in the video!):
The next challenge was to simulate the x- and y-axes movement of the cursor on the screen. We initially thought to pull the encoder wheels off the mouse and attach them directly to the axle of the motors, but that didn’t work all that well, as you can see here:
The problem was that the encoders really had to sit in their housing in order to properly activate the movement function of the two axes, but the size of the motors prevented us from allowing them to placed where they normally would be if we left them attached directly to the motor axles as seen in the video.
Eventually, we solved the problem with the motors by taking the parts from another mouse, putting its encoder wheels in the housing provided by the mouse, and then cutting the encoder wheels from the first mouse down and using them as gears to intersect with the now properly housed encoder wheels. Here’s Lina showing Mustafa the new direction we were taking with the problem of the motors:
It wound up being the right solution:
The left and right clicks were working, even after we transferred the sensors to the “mouse pad”. (Note the time in the early morning, which explains why we’re all so groggy):
The last challenge was to build the housing for the guts of the mouse to hold the motors. We built a makeshift “Stonehenge” that was not an aesthetic triumph, but it did work!
The project was particularly grueling because of all of the late nights we had to put in on it. But the burden was lessened by the help of so many people on the project, chiefly Lina’s husband Andres, Anaid (the Angel of P Comp!), who provided us with so much help with parts and suggestions (particularly, schooling us on the perf board), Todd, who was constantly around with great suggestions, Oscar, who help us solve the problem of powering the project, Rory, John Dimatos, and of course, Scott, our teacher, who gave generously of his time with extended office hours on Monday.
My thanks go out to all above, and especially to my two project partners, Lina Giraldo and Emily Ryan, for all their great work and patience throughout the process. It was very tense at times, and there were a few flare-ups (Lina stated it best when she wrote in an e-mail that we were learning as much about working in groups as we were about P Comp), but we came through the process with a functioning project that more than a few people told us was ambitious enough to be a final project. That felt great to hear. Most importantly, despite a last minute problem due to some jostling in transporting the project to it show area, thanks to some last minute tinkering by Lina–and the grace of God–it worked when it needed to–which is when we were presenting.
As anyone who has ever taken P Comp will tell you, that feeling, when something you sweated over for many hours performs when the audience is around it, is hard to top!
Thanks to the awesome Andrew Jordan, we have some footage of our mousepad in action on that day: