clavier_media.ino

LattePanda 3 Delta (id : lattepanda-3) · Fichier : clavier_media.ino · Langage : Arduino · Usage : Tourner le bouton physique en touche clavier USB

Le 32U4 est un périphérique USB complet : un bouton du connecteur devient une touche média envoyée à... l'hôte LattePanda lui-même. Le circuit complet bouton → HID → système, sans fil ni driver.

Matériel requis

Une LattePanda 3 Delta (x86 Intel N5105, Windows 10/11 ou Ubuntu) avec son coprocesseur Arduino compatible (ATmega32U4) relié aux deux connecteurs 50 broches. 1 bouton poussoir (D2 vers GND).

Branchement

Bouton entre D2 et GND. Le MCU est relié à l'hôte par le bus série interne — l'USB HID part du 32U4 vers le PC via le contrôleur interne.

Fonctionnement

Keyboard.write envoie un rapport HID standard ; le noyau de l'hôte le traite comme un clavier réel. Le maintien cadence les répétitions à 1 Hz. Côté hôte : pip install pinpong puis python3. Côté MCU : l'ATmega32U4 apparaît comme un port COM — programmez-le avec l'Arduino IDE (carte « Arduino Leonardo »).

Pour aller plus loin

Pavé de raccourcis pour le studio (mute micro, play), ou combo clavier+souris pour une présentation.

clavier_media.ino

// Cote MCU (carte « Arduino Leonardo ») : le 32U4 est le clavier.
// Bouton D2 = touche volume +/- ; le PC (l'hote !) recoit les medias.
#include <Keyboard.h>

const int BOUTON = 2;

void setup() {
  pinMode(BOUTON, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  if (digitalRead(BOUTON) == LOW) {
    Keyboard.write(KEY_MEDIA_VOLUME_UP);
    delay(150);                       // repetition volontairement lente
    while (digitalRead(BOUTON) == LOW) {
      if (millis() % 1000 < 20) Keyboard.write(KEY_MEDIA_VOLUME_UP);
      delay(5);
    }
  }
  // Raccourcis utiles : KEY_MEDIA_PLAY_PAUSE, KEY_LEFT_GUI...
}

← Retour à la fiche