unnamed e1745517697157 Saravati

Criando um Controle de Mídia com Arduino PRO Micro

Você já pensou em ter um controle físico para ajustar o volume, pausar ou mutar sua música ou vídeo favorito, tudo isso com um simples giro ou clique? Neste tutorial prático, vamos mostrar como criar um controle de mídia USB usando o Arduino Leonardo ou Pro Micro, com um design simples e funcional.

Esse projeto é ideal para quem está começando com HID (Human Interface Device) no Arduino, e quer entender como seu microcontrolador pode se comunicar diretamente com o computador para enviar comandos de mídia, como se fosse um teclado ou controle remoto.

IMG 0123 Saravati
Volume, Play/Pause e Mute com Potenciômetro e Botões

Materiais Necessários

Para montar o seu controle, você vai precisar de:

Montagem – Diagrama de Ligações

Monte os componentes conforme a tabela abaixo. A protoboard vai te ajudar a organizar as conexões com facilidade:

ComponentePino no ArduinoConexão
PotenciômetroA0Pino central → A0Pinos laterais → 5V e GND
Botão Play/PauseD2Um terminal → D2Outro terminal → GND
Botão MuteD3
Um terminal → D2Outro terminal → GND

Dica: Se preferir não usar INPUT_PULLUP no código, adicione resistores de pull-down (10kΩ) nos botões.

Código Completo

Abaixo está o código que fará tudo funcionar. Ele usa a biblioteca HID-Project, que permite enviar comandos HID como se o Arduino fosse um teclado ou controle multimídia.

#include <HID-Project.h>

const int potVolume = A0;

const int btnPlay = 2;

const int btnMute = 3;

int lastVolume = -1;

bool lastPlayState = HIGH;

bool lastMuteState = HIGH;

void setup() {

  Consumer.begin();

  pinMode(btnPlay, INPUT_PULLUP);

  pinMode(btnMute, INPUT_PULLUP);

}

void loop() {

  int currentVolume = analogRead(potVolume);

  if (abs(currentVolume – lastVolume) > 5) {

    if (currentVolume > lastVolume) {

      Consumer.write(MEDIA_VOL_UP);

    } else {

      Consumer.write(MEDIA_VOL_DOWN);

    }

    lastVolume = currentVolume;

    delay(30);

  }

  if (digitalRead(btnPlay) == LOW && lastPlayState == HIGH) {

    Consumer.write(MEDIA_PLAY_PAUSE);

    delay(200);

    while(digitalRead(btnPlay) == LOW);

  }

  lastPlayState = digitalRead(btnPlay);

  if (digitalRead(btnMute) == LOW && lastMuteState == HIGH) {

    Consumer.write(MEDIA_VOL_MUTE);

    delay(200);

    while(digitalRead(btnMute) == LOW);

  }

  lastMuteState = digitalRead(btnMute);

  delay(10);

}

Como Funciona?

  • Potenciômetro (A0): conforme você gira, ele altera o valor lido. Se o valor mudar significativamente, o código envia um comando de aumento ou redução de volume.
  • Botão Play/Pause (D2): ao pressionar, o Arduino envia o comando MEDIA_PLAY_PAUSE.
  • Botão Mute (D3): um clique envia o comando MEDIA_VOL_MUTE, ativando ou desativando o som.

Personalizações e Expansões

Esse projeto é totalmente modular, e você pode melhorar ainda mais:

  • Adicionar novos botões: para avançar/faixa anterior usando os comandos MEDIA_NEXT e MEDIA_PREV em pinos livres como D4, D5.
  • Scroll com outro potenciômetro:

cpp

CopiarEditar

if (scrollValue > lastScrollValue) {

  AbsoluteMouse.move(0, 0, -1); // Scroll para baixo

} else {

  AbsoluteMouse.move(0, 0, 1);  // Scroll para cima

}

  • LED de feedback: conecte um LED ao pino D13 para indicar visualmente quando o Mute está ativo.
IMG 0124 Saravati

Conclusão

Agora você tem um controle físico de mídia funcional e estiloso! Um ótimo projeto para aplicar conceitos de eletrônica, leitura analógica e comunicação HID com o computador. Ele é simples de montar, fácil de programar e muito útil no dia a dia.

Dica extra: Encaixe tudo dentro de uma caixa plástica ou impressa em 3D e utilize knobs estilosos para dar um acabamento profissional.

Ficou com vontade de expandir o projeto? Que tal adicionar controles de brilho, zoom, ou até integração com softwares específicos? Solte a criatividade e comente o que você gostaria de fazer a seguir! 

Veja nosso projeto pronto em nosso Instagram

Saiba mais sobre a parceria Saravati e Sara Educação

Este “Guia de Montagem” é uma colaboração especial entre a Saravati e a Sara Educação, criado pelo Professor Felipe Rosa. Nosso objetivo é enriquecer a comunidade de entusiastas da eletrônica, IoT e automação com recursos educacionais de alta qualidade. Através dessa parceria, buscamos inspirar e capacitar criadores em seus projetos, disponibilizando esses guias em nosso blog e nas redes sociais.

@saravatirobotica no Instagram e Tiktok

@sara.educacao no Instagram e Tiktok