telecommande-media.ino

Arduino Micro · 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 Micro (ATmega32U4, 16 MHz, 5 V) en formato para protoboard con conector micro-USB y USB nativo (teclado/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 Micro » y el puerto, y suba. En Windows puede requerirse un driver .inf para el puerto COM. Como el 32U4 es el propio USB, un mal sketch puede bloquear el reflujo (doble reset).

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