1

I am currently working on a project that involves automating an old Automark Indenting Machine. I want to be able to use an arudino to read a csv and then simulate pressing the keys of the keyboard attached to the machine. The Keyboard is matrixed and I traced back all of the inputs and outputs that the machine's microcontroller uses.

I figured the best way to go about accomplishing this would be by placing an NPN transistor across the two leads that the mechanical buttons presses. The arduino would output to the base of the transistor and connect the circuit. However, I am very new to the field of electronics and completely overwhelmed with how much I don't know.

Here is a question I found that was somewhat similar to my project: Interface 5v digital pulses to keyboard contacts?

I am fairly certain that the keyboard runs on 5V, however, I'm not sure about whether or not is it AD or DC. DC current readings range from .3mA to .8mA, while AC current measures around 1.36mA. I have included a couple picture of the keyboard. One picture shows how I soldered leads directly onto the board to see if I could use the arduino to sense the output sequence from the keyboards microcontroller and then output to the corresponding input for the keyboard but it resulted in the button staying pressed even after the pin was set to LOW.

enter image description here enter image description here

  • 1
    Those old keyboard are typically wired in a matrix, so if you can just map out the rows and columns you might make your job easier and need fewer connections. If, for example, the MCU is scanning the rows, then you can connect the rows to inputs on the arduino and then connect the columns to outputs on the Arduino. Pressing a key is a matter of waiting for the right row to be selected and then sending the output on the right column. – bigjosh Oct 27 '15 at 19:40
  • @bigjosh I do have all of the rows mapped and columns mapped out for the matrix. It was actually the first solution that I went to. I've written a code that would wait for input from the keyboard's microcontroller and than output at the right time but I am still not getting the desired result. – DanTheFlyingMan Oct 27 '15 at 19:59
  • Did you verify which way it is scanning (rows/cols)? Do you know what voltage it is scanning with? – bigjosh Oct 27 '15 at 20:09
  • I have two groups of pins. I'm 90% sure I know which one is scanning and which one provides signal back to the MCU. I have gotten it to simulate a keypress (somehwat erratically) but the button is never "unpressed" even when I switch the pins from high to low on the arudino. I think the scanning voltage is 5V but I honestly am not sure because the board does not have a clearly labeled common ground. – DanTheFlyingMan Oct 27 '15 at 20:13
  • Do you have access to an oscilloscope? If so, you can look at the signal that is doing the scanning and see the voltage it is scanning with. If you apply that voltage to the other axis at the same time as the scan is passing the key you want to simulate, it should register it. – bigjosh Oct 27 '15 at 20:16
  • Sadly I do not have access to an occiliscope but I do understand the mechanics of how the keyboard matrix works. My code already reflects exactly what you are talking about. This keyboard actually has an LCD screen on it that displays your text before you press enter to make it print. If say I want to print the letter "N" I can get it to register "N" and display it on the LCD screen. However, when I want to press enter it wont allow me to becasue the "N" key is staying activated though my program sets the outpin pin as off. – DanTheFlyingMan Oct 27 '15 at 20:23
  • Have you tried switching the driving pin to `INPUT` mode rather than setting to low in `OUTPUT` mode after the key has registered as pressed? – bigjosh Oct 27 '15 at 20:31
  • Very clever idea!! I got it to work somewhat, but it is very fickle now. Either it wont type anything at all but allow me to press buttons on the keyboard or it will type (usually 2 letters and not just one???) but that it will lock up the keyboard again. – DanTheFlyingMan Oct 27 '15 at 21:08
  • Was posted a long time ago but to wrap things up, I did end up finishing this project. I ditched the transistors and went with relays instead. Not as stealthy but far simpler. – DanTheFlyingMan May 02 '17 at 21:20

0 Answers0