telecommande-media.ino
Les touches de consommation (volume, lecture/pause) font partie du HID clavier : deux boutons suffisent pour une télécommande de bureau. Le 32U4 restant aussi port série, on peut débuguer en parallèle.
Matériel requis
Une Arduino Leonardo (ATmega32U4, 16 MHz, 5 V) dont l'USB est natif : la carte peut se faire passer pour un clavier ou une souris. 2 boutons poussoirs.
Branchement
Boutons vers GND sur les broches 2 et 3 (pull-ups internes).
Fonctionnement
Chaque front d'appui envoie une touche média (KEY_VOLUME_UP, KEY_MEDIA_PLAY_PAUSE) que l'OS interprète globalement. Dans l'Arduino IDE, choisissez « Arduino Leonardo » et le port, puis Téléverser. Attention : un sketch qui s'endort trop vite peut « perdre » le port USB ; maintenez RESET 12 s pour effacer le bootloader.
Pour aller plus loin
Ajoutez KEY_NEXT_TRACK / KEY_PREVIOUS_TRACK, ou un potentiomètre pour un volume analoge.
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;
}