Отключаемые счетчики электроэнергии на пульте. Все с документами пломбами, гарантией и без посредников!

Информационный экран для iPod

Информационный экран для iPod

Моя девушка, любительница музыки, попросила меня придумать способ просмотра информации о треке, играющем на iPod Touch во время использования его за рулем.  Те, кто имеет или имели iPod Touch, знают, что читать информацию на нем во время вождения далеко не просто. Для просмотра информации о треке необходимо два раза нажать кнопку Home, при этом буквы очень маленькие.

Я решил сделать устройство, которое будет работать с iPod и брать с него информацию о проигрываемом треке, а потом отображать её на экране, закрепленном в удобном для водителя месте. После довольно длительной работы и исследований, я сделал устройство, описанное в этой статье. Оно отображает на экране информацию о названии песни, исполнителе, альбоме, длительности песни и отображает значок воспроизведение/пауза. Также при помощи этого устройства можно листать песни вперед/назад, включать воспроизведение/ставить на паузу песню.

Исследования

Первым шагом в создании этого устройства было выяснение, возможно ли такое вообще. Я никогда не работал с iPod, и не знал, публичны ли протоколы для работы с ним.

Одним из первых сайтов, на который я наткнулся, был Cornell senior design с подробной документацией о принятии и отправлении команд с/на iPod. На  этом сайте есть схема соединений. Также благодаря этому сайту я убедился, что это возможно.

Я наткнулся еще на нескольких ресурсов, а потом попал на самый главный. Я нашел блог Дэвида Финдли,  в котором он написал о дополнениях к iPod и библиотеке Arduino, которая позволяет легко работать с iPod. Я использовал эту библиотеку в своем проекте.

Также я нашел сайт с описанием Apple Accessory Protocol. Информация с этого сайта не нужна для понимания работы библиотеки Давида, но это может пригодиться в других проектах.

Элементы

Arduino (Для прототипа я использовал Uno, а в готовом устройстве Pro Mini)

PodBreakout

4x Кнопка без фиксации

Графический ЖК-дисплей (я использовал MONOCHRON от Adafruit)

Потенциометр 10кОм (для регулировки контрастности)

Разъем USB Mini

Аудио джек 3,5 мм  

Резистор 100 Ом

3х Резистор 1 кОм (3x)

2х Резистор 1 МОм

2х Резистор 33 кОм

Резистор 22 кОм

Резистор 100 кОм

Для сборки также необходимы:

BLS штырьки и разъемы

Провода

Стойки

Корпус

Фольгированный текстолит (если вы собираетесь делать свою плату)

Аппаратная часть

Поскольку я использую Arduino, вся обвязка микроконтроллера находится на Arduino. К нему подключаются только провода и резисторы. Распиновку разъема iPod найти по ссылке.

Необходимые соединения указаны для каждого контакта, указанного по ссылке. Также информация о контактах есть на сайтах перечисленных выше. Я и позже буду ссылаться на эти сайты.

Основное

ЖК-дисплей использует популярный контроллер KS0108.Для Arduino есть библиотека GLCD. ЖК-дисплей занимает большую часть контактов с Arduino. Для правильного присоединения ЖК-дисплея ориентируйтесь на документацию библиотеки. Ссылка на библиотеку будет приведена ниже.

Для последовательных линий TX и RX используются контакты 1 и 0 соответственно, подключенные к последовательным линиям iPod.  ТX Arduino подключается к RX iPod и наоборот. То есть, контакт 1 Arduino подключается к контакту 18 разъема iPod, контакт 0 Arduino подключается к контакту 19 разъема iPod. Поскольку iPod работает от напряжения примерно 3В, а Arduino от 5В, нужно использовать делитель напряжения на линии передачи Arduino. Для него используются резисторы 1кОм. Теоретически, я должен использовать схему сдвига уровня, но я обнаружил, что Arduino не имеет никаких проблем с получением входящего сигнала 3В.

Осталось только присоединить кнопки.

Интерфейс

21 контакт  разъема iPod подключается к GND через резистор 500кОм, я использовал два резистора по 1 Мом, соединённых параллельно.  Контакты 25 и 27 разъема используются для контроля зарядки iPod. Если подать 2.8В на вывод 25 и 2.0В на вывод 27 можно получить от iPod около 1А и зарядить аккумулятор. Эти напряжения получаются при помощи простых делителей напряжения.

Другое

Все остальные соединения прямые. Смотрите схемы и документацию.

Программная часть

Для успешной компиляции прилагаемого кода вам понадобятся следующие библиотеки:

  iPodSerial

  GLCD

В документации, прилагаемой к каждой библиотеке, написано о работе с ней.

Код для этого проекта можно скачать внизу статьи. Я использую Advanced Remote с установленной библиотекой iPodSerial. При помощи этой библиотеки обрабатываться нажатия на кнопки и вывод информации на дисплей, а при помощи библиотеки iPodSerial происходит работа с IPod. Я не собираюсь разбирать код, но вы можете скачать его и изучить его самостоятельно.

Проектирование платы

Я делал плату для этого проекта, ориентируясь на корпус. Я сделал три отдельных платы. На основной плате находится Arduino и ЖК-дисплей, на плате с кнопками находятся только кнопки, а на интерфейсной плате находятся резисторы для зарядки, распознавания и т.д.

Eagle файлы прилагаются. Основная плата была сделана методом фрезеровки, а остальные методом травления.

Сборка устройства

Этот раздел статьи краток, я думаю, вы сами сможете установить устройство в корпус. Я использовал герметичный корпус с просверленными отверстиями. Возможно, позже, я установлю устройство в корпус, сделанный при помощью вакуумного формования, но оно работает и сейчас.

Компоненты должны быть припаяны и подсоединены.

Использование

Когда всё было сделано, устройство получилось даже лучше, чем ожидалось. Моей девушке оно нравится, что важно для меня. Спасибо за чтение!

Скачать скетч к Arduino и файлы печатных плат в формате Eagle

Оригинал статьи на английском языке (перевод: Александр Касьянов для сайта cxem.net)


Категория: В помощь автолюбителям
Метки:

Написать коментарий

*
= 3 + 8

Добавить изображение

Последние статьи