arduino_keyboard
https://github.com/techpaul/PS2KeyAdvanced
Hi everyone, this is also an Interesting project that brings 106 Inputs to your Arduino. Can't believe? Follow the project and see how this happens with a PS/2 Keyboard.
OK First of all you need
Arduino (UNO)
PS/2 Keyboard
PS/2 Keyboard connector
Step 1: Keyboard Conection
Following is the pin-out of the Connector. There are 4 wires coming from the keyboard and their connections to arduino Digital pins are as follows.
5V :- Arduino 5V out
Ground :- Arduino GND
Clock :- Arduino Pin 3
Data :- Arduino Pin 8
Step 2: Code
First include this library to Arduino Software. http://www.pjrc.com/teensy/arduino_libraries/PS2Keyboard.zip
#include < PS2Keyboard.h>
const int DataPin = 8; const int IRQpin = 3;
PS2Keyboard keyboard;
void setup() { delay(1000); keyboard.begin(DataPin, IRQpin); Serial.begin(9600); Serial.println("Keyboard Test:"); }
void loop() { if (keyboard.available()) { // read the next key char c = keyboard.read(); // check for some of the special keys if (c == PS2_ENTER) { Serial.println(); } else if (c == PS2_TAB) { Serial.print("[Tab]"); } else if (c == PS2_ESC) { Serial.print("[ESC]"); } else if (c == PS2_PAGEDOWN) { Serial.print("[PgDn]"); } else if (c == PS2_PAGEUP) { Serial.print("[PgUp]"); } else if (c == PS2_LEFTARROW) { Serial.print("[Left]"); } else if (c == PS2_RIGHTARROW) { Serial.print("[Right]"); } else if (c == PS2_UPARROW) { Serial.print("[Up]"); } else if (c == PS2_DOWNARROW) { Serial.print("[Down]"); } else if (c == PS2_DELETE) { Serial.print("[Del]"); } else { // otherwise, just print all normal characters Serial.print(c); } } }
Step 3: Testing
So we have finished our coding, Upload it to arduino and keep the Arduino connected to PC.Then open the Serial Monitor on Arduino Software and Press some keys on the Keyboard connected to Arduino and you will see It prints what you type on that keyboard.Comment your ideas.