PS2 Keyboards are easy to interface, requiring only 5 volt power and 2 signals.
The keyboard's clock signal must connect to an interrupt pin. The data signal may connect to any pin, but do not use the pin with an LED connected to ground because the LED current will interfere with the data signal.
PS2 Library Link :- http://dl.dropbox.com/u/18995031/PS2Keyboard.tar.gz
The keyboard's clock signal must connect to an interrupt pin. The data signal may connect to any pin, but do not use the pin with an LED connected to ground because the LED current will interfere with the data signal.
Basic Usage
PS2Keyboard keyboard;
Create the keyboard object. Even though you could create multiple objects,
only a single PS2 keyboard is supported by this library.
keyboard.begin(DataPin, IRQpin)
Begin the receiving keystrokes. DataPin and IRQpin are the pin numbers
where you connected the PS2 keyboard's Data and Clock signals.
keyboard.available()
Check if a keystroke has been received. Returns true if at least one keystroke.
keyboard.read()
Read the next keystroke. -1 is returned if no keystrokes have been received.
Keystrokes are returned as ASCII characters. Special keys are mapped to
control characters.
Example Program
#include <PS2Keyboard.h> const int DataPin = 8; const int IRQpin = 5; 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); } } }
PS2 Connector Pinout
PS2 Library Link :- http://dl.dropbox.com/u/18995031/PS2Keyboard.tar.gz
0 comments:
Post a Comment