clavier_media.ino

LattePanda Alpha · 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 Alpha (x86 Intel m3-7Y30, Windows 10 o Linux) con su coprocesador ATmega32U4 compatible Arduino Leonardo en los 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. El ATmega32U4 es un Leonardo auténtico: prográmelo como « Arduino Leonardo » en el IDE por su puerto COM interno. En el anfitrión, la librería Python lattepanda de DFRobot habla con él por serie.

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