🛠 Transformer l'Esplora en clavier USB (HID)

Arduino Esplora — Fiche de carte · 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.

Objectifs

Exploiter la signature de l'Esplora : comme la Leonardo, l'ATmega32u4 intègre le transceiver USB et peut s'énumérer comme véritable périphérique HID. Avec la bibliothèque Keyboard, la carte devient un clavier reconnu par n'importe quel ordinateur sans pilote. Vous enverrez des lettres avec les boutons du losange et un texte avec le bouton du joystick.

Matériel

Code complet

/* 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);
}

Vérification attendue

Ouvrez un bloc-notes : chaque appui sur un bouton du losange tape A, S, D ou F. Le bouton central du joystick écrit la phrase complète suivie d'une Entrée. En poussant le slider à fond, le son du PC monte (touche multimédia). Le gestionnaire de périphériques montre un « périphérique clavier HID » connecté, sans aucune installation.

Erreurs fréquentes

  1. Partir en HID sans filet : un croquis qui envoie des frappes en boucle peut rendre le PC inutilisable. Prévoyez une condition stricte (bouton enfoncé) et sachez récupérer la carte : Reset puis téléversement dans la fenêtre ~8 s du bootloader Caterina, ou déclenchement par ouverture du port à 1200 bauds.
  2. Oublier Keyboard.begin : sans lui, rien ne sort.
  3. Attendre un vrai joystick : la bibliothèque Keyboard est un clavier ; pour les axes analogiques en HID, il faut la bibliothèque Mouse (voir le tuto suivant) ou un descripteur HID personnalisé (niveau avancé).
  4. Effet de rebond : sans temporisation, un appui peut produire plusieurs lettres ; ajoutez un suivi d'état (RELEASED→PRESSED) plutôt qu'un simple delay si vous voulez de la précision.
  5. Chercher le port série disparu : le CDC cohabite avec le HID sur le même énumérage USB ; si vous redéfinissez vous-même les descripteurs, vous pouvez perdre le moniteur série — ne le faites qu'en connaissance de cause.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels