Controlador de teclado
El Arduino Due tiene la capacidad de actuar como un anfitrión USB para
periféricos tales como un teclado conectado al puerto serie USB. Este ejemplo
demuestra el uso de la biblioteca Keyboard Controller.
Hardware Necesario
-
1 Placa Arduino Due
-
1 Teclado USB
-
(Nota: los teclados que se conectan a través de un concentrador USB interno, al igual que los teclados de Apple, no funcionarán)
Código
/*
Ejemplo de Keyboard Controller HID
Muestra la salida de un controlador de teclado USB conectado a USB de una placa Arduino Due.
creado 8 Octubre 2012
por Cristian Maglie
*/
// Necesita la biblioteca de control de teclado
#include <KeyboardController.h>
// inicializa el Controlador USB
USBHost usb;
// Conecta el teclado al controlador USB
KeyboardController keyboard(usb);
// Esta función intercepta la tecla pulsada
void keyPressed() {
Serial.print("Pulsada: ");
printKey();
}
// TEsta función intercepta la tecla soltada
void keyReleased() {
Serial.print("Soltada: ");
printKey();
}
void printKey() {
// getOemKey() devuelve el código OEM-asociado con la tecla
Serial.print(" key:");
Serial.print(keyboard.getOemKey());
// getModifiers() devuelve un campo de bits con los modificadores de teclas
int mod = keyboard.getModifiers();
Serial.print(" Modificador:");
Serial.print(mod);
Serial.print(" => ");
if (mod & LeftCtrl)
Serial.print("L-Ctrl ");
if (mod & LeftShift)
Serial.print("L-Shift ");
if (mod & Alt)
Serial.print("Alt ");
if (mod & LeftCmd)
Serial.print("L-Cmd ");
if (mod & RightCtrl)
Serial.print("R-Ctrl ");
if (mod & RightShift)
Serial.print("R-Shift ");
if (mod & AltGr)
Serial.print("AltGr ");
if (mod & RightCmd)
Serial.print("R-Cmd ");
// getKey() devuelve la traducción ASCII de la tecla OEM
// combinada con los modificadores.
Serial.write(keyboard.getKey());
Serial.println();
}
void setup()
{
Serial.begin(115200);
Serial.println("Programa iniciado");
delay(200);
}
void loop()
{
// Proceso de tareas USB
usb.Task();
}
Cómo se resuelve para Arduino UNO?, gracias.
ResponderEliminar