dlrm.ru :: Madscientist's laboratory
 Резюме  Портфолио 

 Статьи 

Техпереводы Разработка сайтов

⇑ ТехноСтатьи ЛитСтатьи ⇒

Раздел «Мэйк ит ёсэлф»

Плеер-пряжка с акселерометром и SD-картой

Около года назад увидел эту замечательную идею самодельного плеера на SparkFun. Думаю, многим будет интересно сделать такую штуку. Данный проект примечателен ещё и тем, что он несложен и может быть использован как первый практический урок программирования ARM-контроллеров для новичков. Представляю вашему вниманию свой перевод статьи SparkFun с некоторыми дополнениями и пояснениями.

   

С чего всё начиналось

Ребята случайно наткнулись в сети на интересные пряжки для ремней, что послужило мотивом к созданию проекта. Цель проекта состояла в создании встроенного в прягу mp3-плеера, реагирующего на движение и работающего без подзарядки по крайней мере пару часов.


MP3 плеер-пряжка

Компоненты

Вот перечень основных компонентов, используемых в проекте:
  • LPC2148 (32-битный ARM микроконтроллер) – центральный процессор, мозги плеера
  • VS1002 (MP3 декодер) – для декодирования MP3 данных и передачи аудио
  • MMA7260 (Акселерометр) – управляющий вход
  • Слот MicroSD – SD карта будет использоваться в качестве памяти
  • Коннектор Mini-USB – для загрузки песен и зарядки аккумулятора
  • Кнопка-слайдер с тремя положениями переключателя
  • Коннектор Audio Jack
  • Трёхцветные светодиоды – просто для красоты (мигающие диоды это же всегда круто выглядит:)
  • Кнопка On/Off переключателя
  • MAX1555 (USB-charger) – собственно, для зарядки аккумулятора
  • DC/DC-преобразователь на 3.3В – например TPS76333
Первая задача с которой столкнулись разработчики – как организовать питание девайса. Батарея должна быть достаточно мощной, чтобы обеспечивать ток 100мА хотя бы два часа и должна иметь возможность перезарядки. После недолгих поисков решение было найдено – литий-ионные аккумуляторы таблеточного типа (Coin Cell) ёмкостью 200мА/час, CR2450! В России легче достать аккумуляторы LIR3048, можно использовать их (правда они побольше размером). Собираем все компоненты в принципиальную схему и переходим к трассировке печатной платы.

PCB

Вторая задача – уместить всё это добро на печатной плате. Очень просто: замеряем нашу пряжку, рисуем контур платы в PCB-редакторе и размещаем компоненты.


Плата плеера должна уместиться между зубчатыми краями

Располагаем компоненты так, чтобы при взгляде на пряжку вы видели круто выглядящую печатную плату. Соответственно, в слое Top размещаем наши светодиоды и микросхемы.


Вид спереди

На задней стороне ставим батареи, mini-USB, аудио-коннектор и слайдер для изменения громкости так, чтобы они были доступны пользователю при застёгнутом ремне.


Плату крепим с обратной стороны пряжки с помошью скобки из оргстекла

OK, заказываем производство платы. Ремень выглядит действительно круто!

Код

Теперь, когда печатная плата готова и все компоненты припаяны, переходим к самому интересному – написанию кода! Чтобы при отладке не загружать свою программу каждый раз через последовательный порт, логично использовать загрузчик (нпример, SparkFun LPC2148 USB Bootloader, подробнее о нём можно почитать в описании), позволяющий сохранять код прошивки на SD-карточке (и LPC2148 автоматически перепрограммируцтся новым кодом). Итак, загружаем на плату загрузчик, и можно приступать к написанию кода для mp3-плеера. Перед написанием любого кона нужно решить, как организовать управление устройством. Выбор mp3-композиции: т.к. дисплея у нас нет, то первое что приходит в голову – это случайное воспроизведение. Осталось придумать как реализовать функцию «воспроизведение/пауза», изменение громкости и переход к следующей композиции. Для этого у нас есть три положения кнопки-слайдера и акселерометр. И отлично, движение слайдера вверх и вниз будет отвечать за громкость, а нажатие будет давать команду паузы/воспроизведения. Используем акселерометр для смены трека: чтобы сменить песню надо подвигать бёдрами (ну, или устроить танец живота). Да, да, оттягивайтесь по полной! Добавим ещё немного весёлостей: если акселерометр обнаруживает, что пользователь танцует, начинает мигать трёхцветный светодиод. Сказано – сделано! Написание кода не особо сложная штука: берём образец кода с отладочной платы MP3 Development Board, выкидываем всё лишнее и настраиваем управление и мигание диодами.


Это ж новый стиль, чёрт возьми!


Если вы хотите сделать свой плеер-пряжку, разработчики советуют не стесняться использовать их примеры кода и разводки платы. Удачи)

Downloads:



©2009 Иван Самков

При использовании материалов с сайта, пожалуйста, указывайте ссылку на первоисточник: www.dlrm.ru.

                                                                                  
  ____________________________________________________________________________
                                        Обратная связь ||  ©2008-2009 dlrm.ru  ||  © Ivan Samkov


:: Делириум Арт ::