telecommande-media.ino
Las teclas de consumo (volumen, reproducción/pausa) forman parte del HID teclado: dos botones bastan para un mando de escritorio. Como el 32U4 mantiene además el puerto serie, se puede depurar.
Hardware necesario
Un Arduino Micro (ATmega32U4, 16 MHz, 5 V) en formato para protoboard con conector micro-USB y USB nativo (teclado/ratón). 2 botones pulsadores.
Cableado
Botones a GND en los pines 2 y 3 (pull-ups internas).
Funcionamiento
Cada flanco de pulsación envía una tecla multimedia (KEY_VOLUME_UP, KEY_MEDIA_PLAY_PAUSE) que el SO gestiona globalmente. En el Arduino IDE, elija « Arduino Micro » y el puerto, y suba. En Windows puede requerirse un driver .inf para el puerto COM. Como el 32U4 es el propio USB, un mal sketch puede bloquear el reflujo (doble reset).
Para ir más lejos
Añada KEY_NEXT_TRACK / KEY_PREVIOUS_TRACK, o un potenciómetro para volumen analógico.
telecommande-media.ino
// 2 boutons = media HID : volume +/- et lecture/pause.
#include <Keyboard.h>
const int B_VOL = 2, B_PLAY = 3;
bool p1 = HIGH, p2 = HIGH;
void setup() {
pinMode(B_VOL, INPUT_PULLUP);
pinMode(B_PLAY, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
bool v = digitalRead(B_VOL);
if (v == LOW && p1 == HIGH) {
Keyboard.write(KEY_VOLUME_UP);
delay(200); // anti-rebond grossier
}
p1 = v;
bool p = digitalRead(B_PLAY);
if (p == LOW && p2 == HIGH) {
Keyboard.write(KEY_MEDIA_PLAY_PAUSE);
delay(200);
}
p2 = p;
}