clavier_media.ino

LattePanda 3 Delta (id: lattepanda-3) · Archivo : clavier_media.ino · Lenguaje : Arduino · Uso : Tourner le bouton physique en touche clavier USB

El 32U4 es un dispositivo USB completo: un botón del conector se vuelve tecla de medios enviada a... el propio anfitrión LattePanda. El circuito completo botón → HID → sistema, sin cables ni drivers.

Hardware necesario

Una LattePanda 3 Delta (x86 Intel N5105, Windows 10/11 o Ubuntu) con su coprocesador Arduino compatible (ATmega32U4) conectado a los dos conectores de 50 pines. 1 botón pulsador (D2 a GND).

Cableado

Botón entre D2 y GND. El MCU se enlaza al anfitrión por el bus serie interno: el USB HID sale del 32U4 hacia el PC vía el controlador interno.

Funcionamiento

Keyboard.write envía un informe HID estándar; el núcleo del anfitrión lo trata como teclado real. La mantención marca repeticiones a 1 Hz. Lado anfitrión: pip install pinpong y python3. Lado MCU: el ATmega32U4 aparece como puerto COM — prográmelo con el Arduino IDE (placa « Arduino Leonardo »).

Para ir más lejos

Teclado de atajos para el estudio (silenciar micro, play), o combo teclado+ratón para presentaciones.

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...
}

← Volver a la ficha