telecommande-media.ino

Arduino Leonardo — Ficha de placa · Archivo : telecommande-media.ino · Lenguaje : Arduino · Uso : Télécommande multimédia : boutons qui pilotent volume et lecture

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

← Volver a la ficha