telecommande-media.ino

Arduino Leonardo — Fiche carte · Fichier : telecommande-media.ino · Langage : Arduino · Usage : Télécommande multimédia : boutons qui pilotent volume et lecture

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;
}

← Retour à la fiche