цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Регулятор громкости колонок компьютера на основе Arduino и потенциометра

Регулятор громкости колонок компьютера на основе Arduino и потенциометра

Автор: Mike(admin) от 15-10-2020, 23:55

Если вы любите смотреть фильмы или слушать музыку на компьютере, то, возможно, иногда ловили себя на мысли, что было бы удобно иметь ручку регулирования громкости где-нибудь подальше от компьютера и поближе к себе, лежащем на диване. И это можно сделать.


Регулятор громкости колонок компьютера на основе Arduino и потенциометра

Вы можете превратить Arduino в интерактивное USB-устройство ввода, такое как клавиатура, мышь, геймпад или же в нашем случае регулятор громкости, используя библиотеку HID Library.


В данном случае мы возьмем компактную плату Arduino Pro Micro с микроконтроллером ATmega32U4, который оснащен полноскоростным USB-трансивером.


Когда вы подключаете плату Arduino к компьютеру, она подключается напрямую через шину USB. Pro Micro можно запрограммировать на эмуляцию любого USB-устройства, которое вы только можете себе представить. Вы даже можете запрограммировать его на работу как мышь, клавиатуру или любое другое USB-устройство класса HID, в нашем случае это будет USB-контроллер громкости.


ATmega32U4 USB

Итак, сначала нам нужно установить HID Library. Просто откройте Arduino IDE, выберите вкладку «Sketch» и выберите «Include Library» - «Manage Libraries». Затем появится окно.


HID Library

Найдите HID-Project в строке поиска и установите HID-Project от NicoHood. После установки библиотеки снова откройте Arduino IDE и откройте прикрепленный файл скетча.


Подключите потенциометр к Arduino Pro micro по этой схеме.


Регулятор громкости колонок компьютера на основе Arduino и потенциометра

Загрузите в Arduino следующий код.



#include <HID-Project.h>           
#include <HID-Settings.h>

#define REVERSED false      

int val = 0;
int previousval = 0;
int val2 = 0;

void setup() {
  Consumer.begin();                    
  delay(1000);                           
  for(int a = 0; a < 52; a++) {
    Consumer.write(MEDIA_VOLUME_DOWN);    
    delay(2);
  }
}

void loop() {
  val = analogRead(A0);                   
  val = map(val, 0, 1023, 0, 101);     
  if(REVERSED) {
    val = 101 - val;
  }
  if(abs(val - previousval) > 1) {    
    previousval = val;
    val /= 2;                     
    while(val2 < val) {
      Consumer.write(MEDIA_VOLUME_UP);    
      val2++;
      delay(2);
    }
    while(val2 > val) {
      Consumer.write(MEDIA_VOLUME_DOWN);  
      val2--;
      delay(2);
    }
  }
  delay(301);                         
}

Теперь вы можете управлять громкостью компьютера оттуда, докуда хватит провода подключения Arduino по USB.


Регулятор громкости колонок компьютера на основе Arduino и потенциометра



© digitrode.ru


Теги: Arduino, USB




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий