This is the second in a series of posts on my Physical Computing Midterm project. The first one on Ideation and Concept Development is here.
Disclaimer: I still do not own any of the rights to any Jurassic Park properties; imagery, sound, video, or otherwise. Please don’t sue me. This project is still for academic purposes only.
Sensors and Control
Ok. We’ve got the idea: create a book that controls the movie version of itself. (The obvious choice being Jurassic Park.)
From the start we wanted to use a flex sensor attached to the cover of the book as a switch. Open the book, play the movie. Close the book, pause or stop.
We also decided that a FSR (force sensitive resistor) would be a great way to determine where in the book the user is by reading the weight of the pages laying flat. The user flips through the book, the weight of the pages laying on the back cover changes and the movie fast forwards or rewinds accordingly. It’s a really natural, pleasurable motion associated with reading that we’re mapping to the movie.
Setting Up the Sensors
We bought a few books to mess around with. It became obvious very quickly that a hardback was the way to go. We picked out a particularly boring-looking hardback that no one would miss and we got to destroying it.
We attached the sensors and wrote a short program to get them connected through the serial port. This way we could test them in a real environment and see what range of readings they were giving us.
We found that while the flex sensor worked like a charm, the FSR was having trouble picking up the weight of the book. This was the first of a few ongoing issues with the FSR. Because the weight of the book is distributed over a much larger area than the sensor, the was very little force on the sensor itself. In order to concentrate the weight of the book in a more focused area we implemented what we’re calling “the Princess and the Pea” solution. Which you’ll see below.
Now that the sensors were sensing we started thinking about the larger user experience. We wanted to create a stand for the book, something that would situate the book/sensor system for the user and look good doing it.
I had some big ideas that involved a scale model of the Jurassic Park gates.
For the sake of prototyping and troubleshooting we created a box first.
We actually had a bit of trouble with this set up. The FSR was getting good strong readings, but they were constantly changing and the book wobbled. We decided it was a better idea to put the FSR in the book itself on the inside back cover and add a little hex nut or something small and hard to the back page as the “pea.”
The Processing code was relatively simple. The video library makes it easy to play, pause, jump, etc. All the basic action we were looking for. The trouble was getting a single reading off the FSR. We found (not surprisingly) that as pages turned the FSR would give use constant readings and the movie would constantly change frames. Making it impossible to jump to a time and play the movie from there. Yining tackled this problem by introducing thresholds. If the FSR was within a range of numbers, the code told Processing to pick a nice round number and use that. To skip forward or back the new reading had to be outside the set range. This basically solved the problem, but requires the user to flip a bunch of pages to affect the change.
I think this code could certainly be refined, maybe even on the Arduino side of things.
We created a simple bookstand emblazoned with the iconic logo. Wired the sensors through the book and into the stand. And once everything was hooked up, we had a working build.
In the next post I’ll have a more polished wrap up.