🛠 Transformer l'Esplora en clavier USB (HID)

Arduino Esplora — Ficha de placa · intermediaire · Schéma : IMG-esplora-intermediaire-2-esplora-hid-clavier.svg — Esplora représentée en train de taper dans un champ de texte d'un ordinateur via les bibliothèques Keyboard, boutons du losange reliés aux touches A/S/D/F.

Objetivos

Aprovechar la firma del Esplora: al igual que la Leonardo, el ATmega32u4 integra el transceptor USB y puede enumerarse como un verdadero dispositivo HID. Con la biblioteca Keyboard, la placa se convierte en un teclado reconocido por cualquier ordenador sin necesidad de controladores. Enviarás letras con los botones del mando en forma de rombo y un texto con el botón del joystick.

Material

Código completo

/* Esplora -> clavier USB HID. Attention (recommandation officielle pour la
   classe Leonardo) : testez d'abord une version Serial, un code HID fou
   peut prendre le controle du poste de travail ! */
#include <Esplora.h>
#include <Keyboard.h>

void setup {
  Keyboard.begin;
  Serial.begin(9600);        // le CDC cohabite avec le HID sur le 32U4
}

void loop {
  if (Esplora.readButton(SWITCH_LEFT)  == PRESSED) Keyboard.write('A');
  if (Esplora.readButton(SWITCH_DOWN)  == PRESSED) Keyboard.write('S');
  if (Esplora.readButton(SWITCH_UP)    == PRESSED) Keyboard.write('D');
  if (Esplora.readButton(SWITCH_RIGHT) == PRESSED) Keyboard.write('F');

  if (Esplora.readButton(SWITCH_JOYSTICK) == PRESSED) {
    Keyboard.print("Esplora HID depuis l'ATmega32u4 !");
    Keyboard.write(KEY_RETURN);
    delay(500);              // anti-rebond pour une phrase complete
  }

  // Combinaison : bouton joystick + slider = volume (media key)
  if (Esplora.readSlider > 900) {
    Keyboard.write(KEY_MEDIA_VOLUME_UP);
    delay(200);
  }
  delay(50);
}

Verificación esperada

Abre un bloc de notas: cada pulsación de un botón del mando en forma de rombo escribe A, S, D o F. El botón central del joystick escribe la frase completa seguida de un Enter. Al llevar el slider al máximo, sube el volumen del PC (tecla multimedia). El administrador de dispositivos muestra un «dispositivo de teclado HID» conectado, sin ninguna instalación.

Errores frecuentes

  1. Salir en HID sin red de seguridad: un sketch que envía pulsaciones en bucle puede hacer el PC inutilizable. Prevé una condición estricta (botón pulsado) y sabe cómo recuperar la placa: Reset y luego carga en la ventana de ~8 s del bootloader Caterina, o activación mediante apertura del puerto a 1200 baudios.
  2. Olvidar Keyboard.begin: sin esto, no sale nada.
  3. Esperar un joystick real: la biblioteca Keyboard es un teclado; para los ejes analógicos en HID, se necesita la biblioteca Mouse (ver el siguiente tutorial) o un descriptor HID personalizado (nivel avanzado).
  4. Efecto de rebote: sin temporización, una pulsación puede producir varias letras; añade un seguimiento de estado (RELEASED→PRESSED) en lugar de un simple delay si quieres precisión.
  5. Buscar el puerto serie desaparecido: el CDC coexiste con el HID en la misma enumeración USB; si redefines tú mismo los descriptores, puedes perder el monitor serie — hazlo solo con pleno conocimiento de causa.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales