Site Loader

USB регулятор громкости на энкодере и микроконтроллере AVR ver.2

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

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

Для реализации этого решения беру те же самые платы AVR-USB-MEGA16 и  AVR-USB-TINY45 . 

                      

И те же схемы подключения энкодера.

        

!!!!! Опубликованная ниже прошивка для ATMega16 настроена на работу с кварцем

12 МГц, а не 16 МГц как на схеме.

Для того чтобы регулятор определялся как устройство управления мультимедиа клавишами был использован соответствующий USBHidReportDescriptor, взятый из USB дескриптора мультимедиа клавиатуры, и написан соответствующий код обработки.

Пример USB дескриптора
PROGMEM char usbHidReportDescriptor[25] = { /* USB report descriptor */
 0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
 0x09, 0x01, // USAGE (Consumer Control)
 0xa1, 0x01, // COLLECTION (Application)
 0x85, 0x01, // REPORT_ID (1)
 0x19, 0x00, // USAGE_MINIMUM (Unassigned)
 0x2a, 0x3c, 0x02, // USAGE_MAXIMUM (AC Format)
 0x15, 0x00, // LOGICAL_MINIMUM (0)
 0x26, 0x3c, 0x02, // LOGICAL_MAXIMUM (572)
 0x95, 0x01, // REPORT_COUNT (1)
 0x75, 0x10, // REPORT_SIZE (16)
 0x81, 0x00, // INPUT (Data,Var,Abs)
 0xc0 // END_COLLECTION};

Рабочие примеры firmware для макеток находятся в исходниках написанных с использованием AVR Studio 5.0.

P.S. Устатовка FUSE битов

Для ATMega32: FUSE_L = 0xCF, FUSE_H = 0x18, LOCKOPT BYTE: 0x3F.

Для ATTyny85: FUSE_L = 0xD1, FUSE_H = 0xDD

P.P.S. Предупреждение! Регулятор собранный на ATTiny45, может не определяться после выключения компьютера, если во время включения он подключен к USB порту. Приходится его переподключать.

P.P.P.S 16.02.2015 Решена проблема с тем, что регулятор собранный на ATTiny45 не определялся после перезагрузки или выключения компьютера. Описание решения смотреть в статье. Исходные коды качать по ссылке [3].

[Ссылки]

  1. Исходные коды.
  2. Исходные коды вер.2. Можно увеличить скорость изменения громкости заданием в коде значения переменной AdditionalKeyPress.
  3. Исходные коды вер. 3. Решена проблема для устройств без кварца (ATTiny45, ATTiny85), которые не определялись после перезагрузки.
  4. USB регулятор громкости ver.1
  5. Макетная плата AVR-USB-MEGA16
  6. Макетная плата AVR-USB-TINY45
  7. blyat

USB регулятор громкости для ПК и не только

На чтение 4 мин.



Здравствуйте, уважаемые читатели. Сегодня я расскажу, как я делал внешний регулятор громкости для компьютера. Устройство подключается к USB-порту компьютера, определяется как стандартное HID-устройство, драйвера устанавливать не нужно. При вращении ручки регулируется громкость, при нажатии происходит приглушение звука. За подробностями прошу под кат…

Предисловие

Девас был сделан чисто из спортивного интереса, просто захотелось сделать такую поделку. В основе устройства энкодер и Digispark — небольшая Arduino-совместимая платка от Digistump на базе микроконтроллера Attiny85. Есть платы c разъемом микро-USB, я использовал вариант с обычным разъемом USB типа А, ссылка:

Ну и выше названный инкрементальный энкодер с кнопкой, ссылка:

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

Красный и зеленый провод это кнопка энкодера, замыкается при нажатии на ручку. Синий, черный и коричневый это выход энкодера для отслеживания вращения ручки.

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

Для работы устройства необходимо прошить микроконтроллер, я использовал готовое решение от Adafruit.

1. Первым делом нужно скачать драйвера для нашей платы Digispark — прямая ссылка

2. Устанавливаем Arduino IDE (я использовал версию 1.6.7) и добавляем ссылку для менеджера плат, в менеджере плат скачиваем «Digistump AVR Boards» и выбираем плату «Digispark (Default — 16.5mhz)». Подробная инструкция как это сделать в Digistump Wiki

3. Скачиваем библиотеку Adafruit-Trinket-USB. Из скачанного архива нам нужна папка «TrinketHidCombo», добавляем её в Arduino IDE — копируем в «C:Program Files (x86)Arduinolibraries».

Все готово для прошивки нашей платы, Digispark прошивается немного не так как остальные Arduino платы.

Открываем TrinketVolumeKnobPlus.ino, путь размещения — C:Program Files (x86)ArduinolibrariesTrinketHidComboexamplesTrinketVolumeKnobPlus

Нажимаем «Загрузка», скетч скомпилируется и появится приглашение для подключения Digispark:

Вставляем Digispark в USB порт и ожидаем завершения загрузки. По окончании через несколько секунд Digispark переподлючится уже как HID-устройство ввода.

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

В данном устройстве программное обеспечение эмулирует нажатие мультимедийных клавиш клавиатуры:

• уменьшить громкость, код:

TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_DOWN)

• увеличить громкость, код:

TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP)

• приглушение звука, код:

TrinketHidCombo.pressMultimediaKey(MMKEY_MUTE)

Теоретически можно эмулировать любые клавиши клавиатуры, список клавиш можно посмотреть в библиотеке TrinketHidCombo.h

К сожалению я не сделал фото собранного устройства на макетной плате.

Убедившись что всё работает как задумано, нужно делать самое сложное — корпус.

Печатная плата и корпус

Решил сделать устройство в цилиндрическом корпусе с большой «крутилкой». Из массива бука выточил заготовку под корпус.

Такого же диаметра из алюминия выточил ручку для энкодера.

По размерам внутреннего диаметра деревяной заготовки нарисовал плату в Sprint-Layout

Ссылка для скачивания — тут

С помощью ЛУТ изготовил плату

Установил энкодер и разъём USB (выбрал USB типа B для надежности), у платки Digispark немного обрезал «разъем» и припаял ее к основной плате. К энкодеру подключил Digispark проводками.

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

В деревяном корпусе вырезал прямоугольное отверстие для разъёма USB типа B. Это оказалось самым трудоёмким процессом, корпус относительно мал, пришлось максимально аккуратно работать. После этого дерево обработал льняным маслом

Саморезами закрепил внутренности в корпусе

Энкодер немного «гулял» внутри корпуса, чтобы его зафиксировать изготовил из текстолита такую пластину

Пластина надевается на ось энкодера, фиксируется двумя гайками, её размеры точно по внутреннему диаметру корпуса. Теперь энкодер сидит как влитой

Осталось одеть большую алюминиевую «крутилку»

Демонстрация работы устройства

Вместо эпилога

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

Всем спасибо за внимание.

USB регулятор громкости для ПК и не только RankBrain.ru

На чтение 4 мин.



Здравствуйте, уважаемые читатели. Сегодня я расскажу, как я делал внешний регулятор громкости для компьютера. Устройство подключается к USB-порту компьютера, определяется как стандартное HID-устройство, драйвера устанавливать не нужно. При вращении ручки регулируется громкость, при нажатии происходит приглушение звука.

За подробностями прошу под кат…

Предисловие

Девас был сделан чисто из спортивного интереса, просто захотелось сделать такую поделку. В основе устройства энкодер и Digispark — небольшая Arduino-совместимая платка от Digistump на базе микроконтроллера Attiny85. Есть платы c разъемом микро-USB, я использовал вариант с обычным разъемом USB типа А, ссылка:

Ну и выше названный инкрементальный энкодер с кнопкой, ссылка:

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

Красный и зеленый провод это кнопка энкодера, замыкается при нажатии на ручку. Синий, черный и коричневый это выход энкодера для отслеживания вращения ручки.

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

Для работы устройства необходимо прошить микроконтроллер, я использовал готовое решение от Adafruit.

1. Первым делом нужно скачать драйвера для нашей платы Digispark — прямая ссылка

2. Устанавливаем Arduino IDE (я использовал версию 1.6.7) и добавляем ссылку для менеджера плат, в менеджере плат скачиваем «Digistump AVR Boards» и выбираем плату «Digispark (Default — 16. 5mhz)». Подробная инструкция как это сделать в Digistump Wiki

3. Скачиваем библиотеку Adafruit-Trinket-USB. Из скачанного архива нам нужна папка «TrinketHidCombo», добавляем её в Arduino IDE — копируем в «C:Program Files (x86)Arduinolibraries».

Все готово для прошивки нашей платы, Digispark прошивается немного не так как остальные Arduino платы.

Открываем TrinketVolumeKnobPlus.ino, путь размещения — C:Program Files (x86)ArduinolibrariesTrinketHidComboexamplesTrinketVolumeKnobPlus

Нажимаем «Загрузка», скетч скомпилируется и появится приглашение для подключения Digispark:

Вставляем Digispark в USB порт и ожидаем завершения загрузки. По окончании через несколько секунд Digispark переподлючится уже как HID-устройство ввода.

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

В данном устройстве программное обеспечение эмулирует нажатие мультимедийных клавиш клавиатуры:

• уменьшить громкость, код:

TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_DOWN)

• увеличить громкость, код:

TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP)

• приглушение звука, код:

TrinketHidCombo.pressMultimediaKey(MMKEY_MUTE)

Теоретически можно эмулировать любые клавиши клавиатуры, список клавиш можно посмотреть в библиотеке TrinketHidCombo.h

К сожалению я не сделал фото собранного устройства на макетной плате.

Убедившись что всё работает как задумано, нужно делать самое сложное — корпус.

Печатная плата и корпус

Решил сделать устройство в цилиндрическом корпусе с большой «крутилкой». Из массива бука выточил заготовку под корпус.

Такого же диаметра из алюминия выточил ручку для энкодера.

По размерам внутреннего диаметра деревяной заготовки нарисовал плату в Sprint-Layout

Ссылка для скачивания — тут

С помощью ЛУТ изготовил плату

Установил энкодер и разъём USB (выбрал USB типа B для надежности), у платки Digispark немного обрезал «разъем» и припаял ее к основной плате. К энкодеру подключил Digispark проводками.

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

В деревяном корпусе вырезал прямоугольное отверстие для разъёма USB типа B. Это оказалось самым трудоёмким процессом, корпус относительно мал, пришлось максимально аккуратно работать. После этого дерево обработал льняным маслом

Саморезами закрепил внутренности в корпусе

Энкодер немного «гулял» внутри корпуса, чтобы его зафиксировать изготовил из текстолита такую пластину

Пластина надевается на ось энкодера, фиксируется двумя гайками, её размеры точно по внутреннему диаметру корпуса. Теперь энкодер сидит как влитой

Осталось одеть большую алюминиевую «крутилку»

Демонстрация работы устройства

Вместо эпилога

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

Всем спасибо за внимание.

OPEN-SMART EC11 Модуль поворотного энкодера 360 Инкрементальный импульсный потенциометр Ручка регулировки громкости с кнопкой для Arduino

Описание продукта

Описание:

Этот модуль представляет собой инкрементный поворотный энкодер, который может вращаться на 360 градусов. Он кодирует сигнал вращения от оси и выводит сигнал электронным импульсом.

По импульсу с контакта SA и SB можно узнать, вращается ли он по часовой стрелке или против часовой стрелки.

Он также может выводить высокий уровень с контакта SW при нажатии на него.

Спецификация:

-Рабочее напряжение: 3-5,5 В;

-Рабочий ток: 1,5 мА (МАКС.)

-Количество импульсов для одного круга: 20

— Активный уровень для кнопки: Высокий.

— Размеры: 28,9 х 23,9 х 31,3 мм

Комплектация:

1 модуль поворотного энкодера

Подробнее Фото:










Дополнительная информация

При заказе у Alexnld.com, вы получите подтверждение по электронной почте. Как только ваш заказ будет отправлен, вам будет отправлена ​​электронная почта с информацией об отслеживании доставки вашего заказа. Вы можете выбрать предпочтительный способ доставки на странице информации о заказе в процессе оформления заказа. Alexnld.com предлагает 3 различных способа международной доставки: Авиапочта, Заказная Авиапочта и Служба ускоренной доставки. Ниже указаны сроки доставки:

.
Авиапочта и зарегистрированная авиапочта Район Время
США, Канада 10-25 рабочих дней
Австралия, Новая Зеландия, Сингапур 10-25 рабочих дней
Великобритания, Франция, Испания, Германия, Нидерланды, Япония, Бельгия, Дания, Финляндия, Ирландия, Норвегия, Португалия, Швеция, Швейцария 10-25 рабочих дней
Италия, Бразилия, Россия 10-45 рабочих дней
Другие страны 10-35 рабочих дней
Ускоренная доставка 7-15 рабочих дней по всему миру

Мы принимаем оплату через PayPal,и с помощью кредитной карты.

Оплата с помощью PayPal / кредитной карты —

ПРИМЕЧАНИЕ. Ваш заказ будет отправлен на ваш адрес PayPal. Убедитесь, что вы выбрали или ввели правильный адрес доставки.

1) Войдите в свою учетную запись или используйте кредитную карту Express.

2) Введите данные своей карты, заказ будет отправлен на ваш адрес PayPal. и нажмите Отправить.

3) Ваш платеж будет обработан, и квитанция будет отправлена ​​на ваш почтовый ящик.

Отказ от ответственности: это отзывы пользователей.Результаты могут варьироваться от человека к человеку.

OPEN-SMART EC11 Модуль поворотного энкодера Инкрементальный импульсный потенциометр 360° Ручка регулировки громкости с кнопкой для Arduino Продажа

Способы доставки

Общее расчетное время, необходимое для получения вашего заказа, показано ниже:

  • Вы размещаете заказ
  • (время обработки)
  • Мы отправляем ваш заказ
  • (время доставки)
  • Доставка!

Общее расчетное время доставки

Общее время доставки рассчитывается с момента размещения вашего заказа до момента его доставки вам. Общее время доставки делится на время обработки и время доставки.

Время обработки: Время, необходимое для подготовки ваших товаров к отправке с нашего склада. Это включает в себя подготовку ваших товаров, проверку качества и упаковку для отправки.

Время доставки: Время, за которое ваш товар(ы) будет доставлен(ы) с нашего склада в пункт назначения.

Рекомендуемые способы доставки для вашей страны/региона показаны ниже:

Адрес доставки: Доставка из

Этот склад не может доставлять товары к вам.

Способ(ы) доставки Время доставки Информация об отслеживании

Примечание:

(1) Упомянутое выше время доставки относится к расчетному времени в рабочих днях, которое займет доставка после отправки заказа.

(2) Рабочие дни не включают субботу/воскресенье и праздничные дни.

(3) Эти оценки основаны на обычных обстоятельствах и не являются гарантией сроков доставки.

(4) Мы не несем ответственности за сбои или задержки в доставке в результате каких-либо форс-мажорных обстоятельств, таких как стихийное бедствие, плохая погода, война, таможенные проблемы и любые другие события, находящиеся вне нашего непосредственного контроля.

(5) Ускоренная доставка не может быть использована для адресов абонентских ящиков

Предполагаемые налоги: Может применяться налог на товары и услуги (GST).

Способы оплаты

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

* В настоящее время мы предлагаем оплату наложенным платежом для Саудовской Аравии, Объединенных Арабских Эмиратов, Кувейта, Омана, Бахрейна, Катара, Таиланда, Сингапура, Малайзии, Филиппин, Индонезии, Вьетнама, Индии. Мы отправим код подтверждения на ваш мобильный телефон, чтобы убедиться, что ваши контактные данные верны. Пожалуйста, убедитесь, что вы следуете всем инструкциям, содержащимся в сообщении.

* Оплата в рассрочку (кредитной картой) или Boleto Bancário доступна только для заказов с адресами доставки в Бразилии.

Rotary Encoder с Arduino — примеры включены

//Код Arduino — управление яркостью светодиодов с Rotary Encoder

 

#include

 

int btnPin=3; //GPIO №3-Кнопка на энкодере

int DT=4; //GPIO #4-DT на энкодере (выход B)

int CLK=5; //GPIO #5-CLK на энкодере (выход A)

int LED_Pin=6; //Пин, используемый для ШИМ-сигнала для управления яркостью светодиода

BfButton btn(BfButton::STANDALONE_DIGITAL, btnPin, true, LOW);

 

счетчик целых чисел = 0;

инт угол = 0;

инт aState;

int aLastState;

int prev_counter = 0;

// Кнопка Press Hanlding Функция

Void Presshandler (BFButton * BTN, BFButton :: Press_Pattern_t Pattern) {

Переключатель (Pattern) {

Case Bfbutton :: One_Press:

Serial. println(«Одно нажатие»);

      счетчик = 255;

      Serial.println(счетчик);

      перерыв;

      

    case BfButton::DOUBLE_PRESS:

      Serial.println(«Двойное нажатие»);

      счетчик = 70;

      Serial.println(счетчик);

      перерыв;

      

    case BfButton::LONG_PRESS:

      Serial.println(«Длинное нажатие»);

      счетчик = 0;

      Серийный номер.println(счетчик);

      перерыв;

  }

}

 

void setup() {

  // поместите сюда код установки для однократного запуска:

  Serial.begin(9600);

  Serial.println(угол);

  pinMode(CLK,INPUT_PULLUP);

  pinMode(DT,INPUT_PULLUP);

  pinMode(LED_Pin, OUTPUT);

  aLastState = цифровое чтение(CLK);

 

  //Настройки кнопки

  btn.onPress(pressHandler)

  .onDoublePress(pressHandler) // время ожидания по умолчанию

  . onPressFor(pressHandler, 1000); // настраиваемый тайм-аут на 1 секунду

}

 

void loop() {

  // поместите сюда свой основной код для повторного запуска:

 

  //Дожидайтесь нажатия кнопки для выполнения команд

. читать();

  

  //Отслеживание вращения энкодера

  aState = digitalRead(CLK);

 

  if (aState != aLastState){    

     if (digitalRead(DT) != aState) {

       counter ++;

       угол ++;

     }

     else {

       counter—;

       угол —;

     }

     if (counter >=255 ) {

       counter =255;

     }

     if (counter <=0 ) {

       counter =0;

     }

     Серийный номер.println(счетчик);

  }  

  aLastState = aState;

 

  analogWrite(LED_Pin,counter);//Установка яркости светодиода

  

}

5-клавишная клавиатура с питанием от Arduino включает поворотный энкодер

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

JC Pro Macro — еще одна компактная USB-клавиатура. Клавиатура, работающая на плате Arduino Pro Micro, оснащена пятью механическими клавишами и добавляет поворотный энкодер, а также дополнительный OLED-дисплей I2C для отладки и несколько входов/выходов для управления внешним оборудованием, таким как вентилятор.

Характеристики и характеристики клавиатуры JC Pro Macro:

    Плата MCU
  • — плата, совместимая с Arduino Pro Micro, с микроконтроллером Microchip ATmega32U4 AVR
  • Пользовательский ввод
    • 5 программируемых клавишных переключателей
    • Поворотный энкодер для управления громкостью или другими «поворотными» элементами, а также переключатель 6-го входа, т. е.е. вы также можете нажать его как кнопку.
  • Расширение –
    • 2 контакта GPIO (I2C) для управления дополнительным OLED-дисплеем в стиле 1306 или другим оборудованием I2C
    • 4-контактный разъем
    • с 5 В, GND и 2x GPIO может использоваться для управления вентилятором PW или для других целей.
  • Разное – 4 адресуемых светодиода WS2812B 5050
  • Источник питания — 5 В через порт Micro USB на плате MCU
Поворотный энкодер можно использовать для управления вентилятором PMW.

JC Pro Macro был протестирован на компьютере Macintosh, но он также должен работать на Linux, Windows и других системах, поддерживающих класс USB HID.

Схемы недоступны, но разработчик — Джереми Кук — предоставляет ресурсы в репозитории Github с файлами STL для основания и 3D-печатной ручки, а также пять эскизов Arduino:

  • Стандартный код используется для управления мультимедиа (громкость, пропуск/назад песни, воспроизведение/пауза) и имеет режим «покачивания», который поддерживает ваш компьютер в бодрствующем состоянии и выглядит так, как будто кто-то возится с мышью.
  • Режим Slihter.io добавляет третий режим для игры в слайдер.ио.
  • Экспериментальный режим вентилятора включает ШИМ-выход для сломанных контактов с правой стороны, который соответствует стандартному ШИМ-вентилятору ПК. Протестировано с вентилятором Noctua на 12 В, но с вентилятором на 5 В оно должно работать еще лучше.
  • Experimental Music Mode для подключения небольшого динамика к контакту 7 GPIO для воспроизведения ряда нот.
  • Экспериментальный режим Final Cut Pro X добавляет режим, в котором колесо действует как джог. Нажмите вниз, чтобы остановить. Нажмите вниз и правую нижнюю кнопку, чтобы вернуться в стандартный режим.
  • Клавиатура JC Pro Macro

продается в составе различных комплектов на Tindie по цене от 6,95 долларов США только за печатную плату без каких-либо компонентов и до 49,20 долларов США за полную систему, как показано на первом фото. В настоящее время ни один из комплектов не поставляется в сборе, поэтому вам все равно придется все паять самостоятельно, и Джереми загрузил видео, чтобы показать, как это сделать.

JC Pro Maco — не единственная клавиатура на базе Arduino с поворотным энкодером, и он черпал вдохновение из других проектов, перечисленных на Tindie, включая программируемую макроклавиатуру Hub16 с 16 клавишами и двумя поворотными энкодерами.

Жан-Люк основал CNX Software в 2010 году на полставки, прежде чем уйти с должности менеджера по разработке программного обеспечения и начать писать ежедневные новости и обзоры на полную ставку позже в 2011 году.

Поддержка программного обеспечения CNX! Пожертвовать через PayPal или криптовалюты , стать покровителем на Patreon, или купить обзорные образцы

Простая ручка регулировки громкости своими руками!

Вот мои не очень простые заметки после выполнения «Простых» инструкций из «Простая ручка регулировки громкости своими руками!». Общая стоимость: 3 доллара + кровь + пот + слезы.

Digispark ATTiny85    +    Поворотный энкодер    =   USB-регулятор громкости

Во-первых, у вас будет дерьмовое время, чтобы Windows 10 распознала ваш ATtiny85, так что берите пиво и знайте, что это сработает завтра или послезавтра — если вам повезет.

Ради интереса я подключил свой ATtiny85 к компьютеру с Windows 10 коротким дерьмовым USB-кабелем, который работал один раз, а потом нет — на это ушел целый день.

ИСПОЛЬЗУЙТЕ ХОРОШИЙ USB-КАБЕЛЬ

Загрузите и установите драйверы Digikey — это Digistump.Файл Drivers.zip.

Скачайте Arduino IDE (я использовал v1.8.5 ).

У меня он был установлен ранее, но версия была старой старой старой, поэтому я удалил ее и установил версию 1.8.5.

Теперь вам нужно установить библиотеки Digikey. Следуйте инструкциям на этой странице.

Вот дополнительная информация о библиотеках – на случай, если вам понадобится дополнительная информация.

Обычно вы устанавливаете библиотеки Digikey, а затем устанавливаете для платы Digispark 16,5 МГц.

И я не уверен, что это имеет значение, но я установил свой программатор на: USBtinyISP .

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

Если вы все это проделали, но не можете заставить светодиод мигать, посмотрите это видео и убедитесь, что вы все делаете правильно:

Посмотрев это, я понял – или признал, – что все делаю правильно, но моя платочка не распознается/не находит/отклоняется Windows.Именно тогда я подумал о замене USB-кабелей, что и оказалось проблемой. (Спасибо Raspberry Pi и сотням часов мазохистского блаженства, которое вы приносите. Если бы я не был погружен в Raspi, я бы не заподозрил USB-шнур в штанах. Почему это в скобках?)

Итак, как только вы добились того, чтобы плата распознавалась Windows 10 — кстати — вы можете указать, щелкнув правой кнопкой мыши исполнителя, ранее известного как Кнопка «Пуск » > «Диспетчер устройств» >, и держите это окно открытым, пока вы физически подключаете плату — он должен обновиться, если Windows признает его существование.Это хорошая вещь. Если он ничего не делает, то он даже не знает, что он там.

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

Парень из Instructables — Крис (я так не думаю) говорит: «Я не буду учить вас, как использовать среду разработки Arduino» — ну круто! Вышеизложенное поможет вам пройти половину пути. Спасибо Крису за вдохновение.

Теперь вы можете скачать нужные библиотеки:

https://учиться. adafruit.com/trinket-usb-volume-knob/код

И нажмите Загрузить последнюю библиотеку безделушек .

Обратите внимание, что это ZIP-файл со встроенным подкаталогом. Вам нужно выбрать в нем определенные подкаталоги, а не просто разархивировать на локальный C и надеяться, что это сработает.

Установить библиотеки здесь:

 C:\Users\yourstupidname\Documents\Arduino\libraries 

НЕТ – не распаковывать их. Вам нужно разархивировать их, а затем переместить все подкаталоги, чтобы это выглядело так:

 C:\Users\yourstupidname\Documents\Arduino\libraries\TrinketFakeUsbSerial
C:\Users\yourstupidname\Documents\Arduino\libraries\TrinketHidCombo
C:\Users\yourstupidname\Documents\Arduino\libraries\TrinketKeyboard
C:\Users\yourstupidname\Documents\Arduino\libraries\TrinketMouse 

Вернее:

Теперь скопируйте код с https://learn.adafruit.com/pages/2570/elements/423111/скачать

И создайте новый «скетч» в Arduino IDE, затем вставьте код.

Нажмите «Файл» > «Сохранить» > затем сохраните здесь:

 C:\Users\yourstupidname\Documents\Arduino\libraries\ShitFuckBastard\ShitFuckBastard.ino 

Ваш ATtiny85 все еще подключен?

Отключите его.

Прежде чем нажать кнопку «Загрузить» в среде IDE, его необходимо отключить.

Обратите внимание, что на этом этапе ничего не нужно подключать.

Нажмите кнопку «Загрузить» и подождите, пока вам не будет предложено подключить ATtiny85. Теперь подключите его, и вы должны получить положительный отзыв, например:

.

Затем следует сообщение «Выгрузка завершена». сообщение в зеленой полосе.

Проводка такая же, как показано в Instructables. Вращающийся энкодер имеет 3 контакта: средний контакт является заземлением, а два крайних — это соединения для передачи данных. Неважно, если вы подключите соединения для передачи данных в обратном направлении, это просто означает, что ваша ручка будет перевернута, если вы сделаете это неправильно — справа низкий уровень, слева высокий.Просто поменяйте местами соединения.

Средний штырь 3-контактного жгута на поворотном устройстве подключается к этикетке GRD на вашем ATtiny85, а провода данных 3-контактного жгута подключаются к данным P0 и P2 на 5-контактном обуздать.

Кто-нибудь, подскажите, как припаять провод к проводу без третьей руки. Я залудел оба, а затем спаял их вместе, в результате чего получился беспорядок холодной пайки. Обратите внимание, что два провода «кнопки» НЕ подключены, так как функция кнопки энкодера не работает…

Пока это все.Я так и не дошел до того, чтобы рассказать, как подключить два других контакта от энкодера для Mute, который, я так понимаю, не работает так, как описано — ЛИБО. Но вот код, который должен это сделать. На самом деле, если бы мне пришлось делать это снова, я бы использовал этот код отключения звука вместо этого, поскольку он добавляет функциональность, даже если вы используете стандартный кодировщик без отключения звука (т.е. он ничему не повредит).

Код кнопки отключения звука также включен в библиотеки здесь:

C:\Users\yourstupidname\Documents\Arduino\libraries\TrinketHidCombo\examples\TrinketVolumeKnobPlus\TrinketVolumeKnobPlus.ино

И кто-то еще разместил здесь свой собственный код отключения звука.

Это еще одна оплошность Криса, который говорит, что код в Instructable дает вам одновременно громкость и отключение звука. Это не . Но потом он разместил его несколько лет назад и с тех пор переехал в Цинциннати, где попал в небольшое дорожно-транспортное происшествие из-за заблудшего зефира и кредитной карты (не спрашивайте), и то, что было сочтено рутинный осмотр, превращенный в визит из Центра по контролю и профилактике заболеваний (CDC) и последующее лечение с применением фортепианной струны и концентрата апельсинового сока (не спрашивайте).Мы болеем за тебя, Крис!

Оставайтесь с нами. Хотя это круто, я думаю, что хочу три кнопки для volUp, volDwn и Mute вместо поворотного переключателя — такова человеческая природа.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован.