В этом проекте мы создадим Ардуино-совместимый USB-регулировщик уровня громкости на контроллере Trinket от Адафруит и датчике угла поворота (крутилке) и схему регулятора громкости с энкодером. В конце мы напечатаем на 3D принтере корпус, заполним основу свинцовой дробью для придания веса и стабильности, а затем вырежем лазером акриловое основание.
Код для Ардуино нуждается в использовании библиотек Adafruit Trinket, которые можно скачать здесь (потребуется конкретно библиотека «TrinketHidCombo»). Больше информации можно найти здесь. Код для Ардуино можно скачать здесь.
Содержание статьи
Шаг 1: Необходимые детали
- Adafruit Pro Trinket, 5V, 16MHz (удостоверьтесь, что взяли версию на 5V, а не 3.3V)
- Датчик угла поворота (на фото крутилка со стержнем в виде буквы D, но в зависимости от кнопки, ваша крутилка может отличаться)
- Около 60см 5жильного кабеля. Сплющите и залудите концы кабеля как показано на картинке
Пять 15саниметровых отрезков термоусадки диаметром 3,5 — 4 см
Шаг 2: Припаиваем Trinket к крутилке
У крутилки есть 5 пинов — три с одной стороны и две с другой. Два пина на одной стороне связаны с кнопкой, они замыкаются, когда стержень крутилки зажат и будут служить для отключения звука. Эти пины не имеют полярности, и не имеет значения, каким образом вы припаяете к ним провода. Три пина на другой стороне — сигнальные. Если вы повернёте крутилку стороной с тремя пинами к себе, а стержень будет указывать вверх, то левый пин будет сигналом » A», средний — землей, правый – сигналом «B». Это отражено на прикреплённой картинке.
Соедините Trinket с крутилкой следующим образом:
- Пин #0 на Trinket к сигналу «A» на крутилке.
- Пин #1 на Trinket к одному из пинов кнопки на крутилке.
- Пин #2 на Trinket к сигналу «B» на крутилке.
- Пин 5V на другой пин кнопки на крутилке.
- Пин GND на Trinket к земле на крутилке.
Перед спайкой удостоверьтесь, что термоусадка есть на каждом проводе и максимально полно закройте каждый провод после припайки. Основа будет заполнена свинцовой дробью и провода будут контактировать с металлом, поэтому их нужно изолировать максимально качественно.
Шаг 3: Программируем Trinket
Откройте ИДЕ Ардуино. Скачайте и установите библиотеки Adafruit Trinket, а также код для контроллера звука (ссылки в начале проекта). Установите тип платы на «Adafruit Trinket 16MHz», и Programmer на «USBtinyISP».
Trinket должна быть в режиме Bootloader, иначе она не сможет принимать код. При первом подключении к USB порту компьютера, зелёный диод загорится, а красный будет мигать в течение 10 секунд, а затем погаснет. В этом 10секундном промежутке Trinket будет находиться в нужном режиме. Также можно ввести Trinket в режим Bootloader в любое время, просто нажав кнопку на той части Trinket, которая находится с противоположной стороны от USB порта.
Я обнаружил, что у ИДЕ Ардуино уходит больше 10 секунд на то, чтобы скомпилировать, проверить и отправить код на плату. Поэтому следите за зеленым прогрессбаром в нижней части окна ИДЕ и нажимайте кнопку на Trinket только тогда, когда он доходит до середины. В приложенном видео виден нужный нам прогрессбар. Когда он доходит примерно до середины, я нажимаю кнопку reset на Trinket.
Trinket будет принимать код только в тех случаях, когда прогрессбар дойдёт до конца, а 10 секундный промежуток еще не завершится. Если красный диод непрерывно горит перед тем, как выключится, значит код принимается. Если режим Bootloader закончился, а приём кода не начался, то вы увидите в ИДЕ Ардуино сообщение об ошибке на оранжевом фоне, просто повторите всё заново.
Шаг 4: Проверка крутилки
После того, как программирование завершено и Trinket перезагрузится, у вас появится возможность управлять громкостью звука при помощи крутилки. Вращение по часовой стрелке увеличит громкость, обратное вращение должно уменьшить громкость. Нажатие на кнопку крутилки должно выключить звук. Если вдруг окажется, что вращение вызывает обратный эффект, значит сигналы «A» и «B» на вашей крутилке имеют обратный порядок. Для решения проблемы вы можете поменять местами провода на крутилке. Либо поменяйте местами определение пинов (0 и 2) на строках 3 и 4 в коде Ардуино, а затем заново прошейте Trinket. В видео, прикреплённом выше, вы можете убедиться, что крутилка действительно управляет громкостью звука на компьютере.
Шаг 5: Печать корпуса на 3D принтере
Файл для 3D печати можно скачать здесь. Квадратный блок снаружи корпуса нужен для поддержки модели при печати. Все блоки поддержки легко отделяются, единственный сложный участок — это поддерживающий материал под мостиком, который будет служить для крепления Trinket. Для того чтобы убрать его, я использую комбинацию из отвёртки, угловых пинцетов и плоскогубцев. Важно убрать этот блок, или, по крайней мере, вытащить максимально возможную его часть, так как это пространство дальше будет заполняться свинцовой дробью.
Шаг 6: Прикручиваем электронику
Установите Trinket в корпус, закрутите шурупы. Вставьте крутилку через отверстие сверху, оденьте плоскую шайбу, гайку и крепко закрутите.
Все отверстия напечатаны на 3D принтере. Базовые размеры для винтов 2-56. Используйте два винта 2-56 x 1/4″ для крепления задней части платы. Если вы хотите пакет из 100 винтов, их можно приобрести здесь.
В качестве альтернативы, если вы хотите купить только то, что необходимо для создания вашего проекта, то можно приобрести это здесь.
Шаг 7: Добавляем девайсу вес
Корпус заполним свинцовой дробью — это придаст веса и стабильности. У нас выйдет около 175 грамм. Это не даст нашему внешнему регулятору громкости скользить по столу, в то время как вы крутите кнопку.
Удостоверьтесь, что дробь не попала в полсть, куда устанавливается Trinket. Используйте пинцет, чтобы протолкнуть дробь под мостик, о котором писалось выше и заполнить всю нижнюю часть доверху. Проверьте, что дробь плотно заполняет все пространство, иначе наш девайс будет издавать звук маракаса во время тряски, но и не переборщите, ведь нам нужно, чтобы нижняя крышка плотно прилегала при монтаже.
Шаг 8: Изготовление и установка нижней крышки
Файл DXF для нижней крышки доступен на Thingiverse. Я вырезал его лазером из 3 мм акриловой пластины. Крышку можно прикрутить шурупами, либо просверлить в ней углубления и прикрутить винтами с плоской головкой. Завершите работу с крышкой наклеиванием четырёх резиновых ножек — это не даст девайсу скользить.
Шаг 9: Завершающий
Насадите на штырь крутилки 38мм кнопку. Кнопку, которую использовал я, вы можете найти здесь. Помните, что моя кнопка подходит для штырька D-образной формы. Если вы будете использовать крутилку с плоским штырьком, покупайте кнопку, подходящую для вас.
Теперь вы можете подключить USB кабель и дать компьютеру около 15 секунд на то, чтобы обнаружить девайс. Теперь вы готовы управлять громкостью!