First step: Open the keyboard, take the circuit board out with the USB cable. Sand off delicately the black varnish on the straight lines at the bottom of the circuit board.
Second Step: Open a text edit page and test “line combinations” . One cable links one line from the left and one line from the right. Note down the combinations found.
Step 3: Build the project. Encoded Book is a project that creates an electronic book. It is built out of pages with no meaning, a set of letters and signs that follow each other without any recognizable pattern.
As you turn the pages of the book, the contact is made with the keyboard, and a story appears on the screen.
I chose to display a tiny poem written by Sylvia Plath:
“Out of the ash
I rise with my red hair
And I eat men like air…”
The book is binded, and between each page I built a circuit that is then glued down. The only thing shown is two parts of copper tape that will be used as a switch as the pages are turned.
This is the right way to put the copper tape, after realizing my circuit was still opened when turning the pages (duh):
Each page is attached to the correspondant combination of lines on the keyboard circuit board.
Processing Sketch:
//////KEYBAORD HACK//////////
/////ENCODED BOOK////////////
PImage img1, img2, img3, img4, img5, img6, img7, img8;
void setup () {
size (1280,800);
background (0);
frameRate (10);
img1 = loadImage (“OUT.jpg”);
img2 = loadImage(“of the ash.jpg”);
img3 = loadImage(“i rise.jpg”);
img4 = loadImage(“with my red hair.jpg”);
img5 = loadImage(“And I eat.jpg”);
img6 = loadImage(“Men1.jpg”);
img7 = loadImage (“like air.jpg”);
img8 = loadImage (“sylvia plath.jpg”);
}
void draw () {
stroke (random (0,15));
fill (random (255), random (255), random (255), random (150));
rect (random (255), random (255), random (1280), random (800));
}
void keyPressed (){
if (key == ‘-‘) {
image (img1, 0, 0, 1280, 750);
}
if (key == ‘3’) {
image (img2, 0, 0, 1280, 750);
}
if (key == ‘*’) {
image (img3, 0, 0, 1280, 750);
}
if (key == ‘9’){
image (img4, 0, 0, 1280, 750);
}
if (key == ‘g’){
image (img5, 0, 0, 1280, 750);
}
if (key == ‘v’){
image (img6,0,0, 1280, 750);
}
if (key == ‘t’){
image (img7,0,0, 1280, 750);
}
if (key == ‘r’){
image (img8,0,0, 1280, 750);
}
}
When it didn’t work properly:
Final Prototype, working well:
Final Prototype zoom on screen graphics: