Arduino: управление плеером AIMP

Автор: admin G+   Дата: 29 октября 2011



Продолжим серию абсолютно бесполезных, но интересных и удивительных вещей. Хотя насчет бесполезности громко сказано, но давайте о всем по порядку. Итак, сегодня хочу предложить вам сделать удаленное управление плеером AIMP с помощью Arduino (если вы не знаете, что это такое, то посмотрите статью первое знакомство с arduino ).

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

Что потребуется: Arduino-совместимая плата (в моем случае это Freeduino 2009), тактовые кнопки (с 2 выводами), соединительные провода, резисторы (у меня оказались на 2 КОм) макетная плата, AIMP 3 (Обязательно версия 3, на старой работать не будет!!!). Конечно, можете собирать и без макетной платы, но я настоятельно рекомендую приобрести ее, ведь с макеткой процесс сбора схем происходит на порядок быстрее, нагляднее, и качественнее, нежели делать все на скрутках.

Собираем схему:

Схема устройства

Для увеличения картинки нажмите на нее. Поясню, если плохо видно на фотографии. Во-первых, выведем с платы питание (я взял 3.3В), и землю. Соединим проводами с соответствующими шинами на макетной плате. Зеленый провод втыкаем в цифровой вход, пусть это будет 12. Другой конец зеленого провода воткнем в вертикальный ряд. Далее в этот-же ряд втыкаем резистор (один конец которого соединяем с землей). Далее в этот-же ряд втыкаем один контакт кнопки. Второй контакт кнопки у нас расположится примерно через один ряд от текущего. И в конце-концов, соединим этот контакт кнопки с питанием.

Схема

Аналогично соединяем еще пару кнопок.

В итоге у нас получилась схема с 3 кнопками. Теперь осталось самое интересное, а именно программная часть. Сначала напишем скетч для ардуино, и загрузим его в микроконтроллер:

int btnPin = 12; //Play/pause
int prev = 11; //Предыдущая песня
int next = 10; //Следующая песня
int val=0;
int a; void setup()
{
pinMode(btnPin, INPUT);
pinMode(prev, INPUT);
pinMode(next, INPUT);
Serial.begin(9600); // будем записывать в COM-порт
} void loop()
{
val = digitalRead(btnPin); // узнаём состояние кнопки
if(val==HIGH) // кнопка нажата
{
a=2;
Serial.println(a, DEC);
}

val = digitalRead(prev); // узнаём состояние кнопки
if(val==HIGH) // кнопка нажата
{
a=3;
Serial.println(a, DEC);
}

val = digitalRead(next); // узнаём состояние кнопки
if(val==HIGH) // кнопка нажата
{
a=4;
Serial.println(a, DEC);
}

delay(190); // Задержка, может придется поиграться с этим значением
}

Теперь пришла пора написать приложение для Windows, которое будет принимать от контроллера значения, и отправлять команды плееру AIMP. Немного поискав в интернете, обнаружил, что авторы плеера сделали для разработчиков AIMP API (правда только для Delphi). Ну что-же, будем писать на нем. Думаю нет смысла выкладывать сюда текст программы, выложу полностью исходники программы, и отдельно программу для тех, кто не имеет желания мучаться с программированием.

Программа (exe) - Скачать
Исходники + AIMP API - Скачать
Скетч для Arduino - Скачать

Для работы программу нужно настроить - нажать кнопку Настройка и выбрать Com-порт (можете посмотреть его в среде программирования Arduino), другие данные не трогайте. Далее нажимаете подключиться, и все - теперь программа принимает данные от микроконтроллера.

Демонстрация работы:


Запись имеет метки: , ,

Посмотрите еще:

Если вам понравилась (или не понравилась) статья Arduino: управление плеером AIMP, пожалуйста выскажите свое мнение о ней. Вы можете обсудить эту статью на нашем форуме
Мы будем очень рады, если вы присоединитесь к нашему дружному сообществу! Ведь вместе мы сможем делиться разными советами, техниками и руководствами, и только объединившись мы сделаем этот мир чуточку светлее :)

Комментарии

  1. XRaptor пишет:

    Здорово! Чем больше читаю про эту ардуину, тем больше хочу ее купить. Чего только люди не собирают на ее основе! Да и процесс сбора девайсов со стороны кажется очень простым, как конструктор в детстве :)

    Надеюсь, что когда куплю и себе такую игрушку, все останется так-же просто, и я не буду разочарован.

  2. Mel пишет:

    В статье нет ничего насчет подключения светодиодов. Не подскажите, как вы их подключили?

  3. admin пишет:

    Все просто ведь! Смотрим по схеме - когда нажимаем кнопку, у нас начинает идти ток к проводу, идущему к цифровому входу. Значит светодиод можно засунуть одной ногой между кнопкой и резистором, второй ногой - в землю.



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

До того, как вы отправите комментарий