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 Leonardo (ATmega32U4, 16 MHz, 5 V) con USB nativo: la placa puede hacerse pasar por un teclado o un 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 Leonardo » y el puerto, y suba. Ojo: un sketch que duerme demasiado rápido puede « perder » el puerto USB; mantenga RESET 12 s para borrar el bootloader.
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;
}