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 Micro (ATmega32U4, 16 MHz, 5 V) au format painboard avec connecteur micro-USB et USB natif (clavier/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 Micro » et le port, puis Téléverser. Sous Windows, un pilote .inf peut être requis pour le port COM. Le 32U4 étant l'USB, un mauvais sketch peut bloquer le reflash (reset double).
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;
}