Hello arduino community!
I just received my Uno in the mail and have decided making communication with my old electric typewriter my first project. I have seen this done (with arduino), but have a couple of questions to make sure I get things started out correctly.
One of the recent projects I have seen actually uses solenoids to actuate the keys. I don't want to go this route. I just want to interface with the keyboard matrix. Here is my plan:
I have some 595 series shift registers. I have read the arduino tutorial on these and its very straightforward for me. The typewriter I'm interfacing with is powered by an Intel 8052. The ribbon cable has 17 inputs on it. I haven't traced them out, but it appears to be an 8x9 matrix. If I short out a couple points from the rows/columns a get a character.
My plan is to have 3 shift registers. The first two will cover the rows and the output pins of the third will go to the columns. So if I send three bits, this should send power to one input of a row and one input of a column. I will be sure to ground any unused output pins on the registers.
Will that have the same result as my initial test of physically connecting the two points?
Also, if this is correct, the plan is to write some code to map the matrix. If I can figure out the 0 and 1 key, I could have it print the received bit and the letter that resulted. e.g. 000100000000000000001000 A , etc.
Linux is my OS of choice and I can write some pretty mean scripts with bash and perl.. but I often think line by line and not necessarily pragmatically. So.. final question is: Once I have the matrix mapped out, do I then end up with a really long table that just defines each letter? It seems obvious that I would, but I know I have written 70 lines of code in the past that has been condensed to about 4 by various folks on the net..
Once again, I am basically just looking for some "you're on the right paths" or "this won't work" kind of feedback. I'm not trying to be lazy.. just don't want to go have to buy a new arduino, typewriter and shift registers because I've fried them :)
BTW, I know the 8052 has serial input capabilities, but for what I want to learn (I learn via projects), I would like to go this route for now. (Besides, the 8052 datasheet isn't nearly as fun as reading up on arduino stuff).. I suppose I would be a little sad to learn that my project could have been done with two wires and 20 minutes, but like I said..its a learning experience)
Thanks for any guidance anyone can offer. I chose Arduino because I am very passionate about Open Source and look forward to someday being able to share some info with the community (once I get smart) ;)