Paso 5: PS/2 teclado - asignacion de terminales de prueba
Ahora es el momento para el método de entrada: teclado PS/2. Mucho podría hacerlo con un escudo de host USB, pero son mucho más caros que un conector PS/2 y un teclado PS/2 que ya tenga.
Lo que tienes que hacer primero, es cortar el cable desde el conector PS/2. Mina que encontré en la parte inferior de una caja de cable y convertido un dispositivo PS/2 a USB.
Ahora debe ver los 4 cables, generalmente variando en colores. Los colores en mi pasan a ser verde, negro, rojo y blanco. Conecta tu Arduino (no con la cola al hicimos en el paso anterior) y los cables. Os adjunto algunos cables extensibles para hacerlas más largas, y así pude plugin en su Arduino más fácil. Poner el cable negro en el puerto GND de tu Arduino (cualquiera es suficiente), ya que es más probable ser tierra. El cable rojo del gancho agarrador y fuera en el puerto de 5v. Conecte el teclado y las luces deben flash una vez, y luego ir en blanco otra vez. Esto significa que usted tiene el trabajo de potencia. Si esto no funciona, intente realizar diferentes combinaciones hasta que el teclado funciona. Ahora es hasta encontrar el pin de datos y el pin IRQ. Conecte un cable al pin 20 y la otra a 21. Si esto no funciona al cargar el código, luego cambiar los cables.
Ahora, instalar la biblioteca y cargar el código de abajo en su Arduino. lo que debe suceder una vez que usted comience a escribir en el teclado, los caracteres que escriba aparecerán en el monitor serie. Recuerda, si no funciona, pero el teclado se enciende todavía, trate de cambiar los datos y los pines IRQ.
El código:
<p>/* PS2Keyboard library example<br> PS2Keyboard now requries both pins specified for begin()</p><p> keyboard.begin(data_pin, irq_pin); Valid irq pins: Arduino Uno: 2, 3 Arduino Due: All pins, except 13 (LED) Arduino Mega: 2, 3, 18, 19, 20, 21 Teensy 2.0: All pins, except 13 (LED) Teensy 2.0: 5, 6, 7, 8 Teensy 1.0: 0, 1, 2, 3, 4, 6, 7, 16 Teensy++ 2.0: 0, 1, 2, 3, 18, 19, 36, 37 Teensy++ 1.0: 0, 1, 2, 3, 18, 19, 36, 37 Sanguino: 2, 10, 11 for more information you can read the original wiki in arduino.cc at http://www.arduino.cc/playground/Main/PS2Keyboard or http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html Like the Original library and example this is under LGPL license. Modified by Cuninganreset on 2010-03-22 Modified by Paul Stoffregen June 2010 */ #include </p><p>const int DataPin = 8; const int IRQpin = 5;</p><p>PS2Keyboard keyboard;</p><p>void setup() { delay(1000); keyboard.begin(DataPin, IRQpin); Serial.begin(9600); Serial.println("Keyboard Test:"); }</p><p>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); } } }</p>
Biblioteca: