telecommande-media.ino

Arduino Micro · 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 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;
}

← Retour à la fiche