Драйвер attiny85 через usb скачать

Осваиваем ATTiny85 и Lilypad, DigiSpark в частности.
После изучения платформы Arduino на базе Uno и обзора множества носимых устройств, захотелось освоить мир компактных контроллеров и модулей, которым не нужны блок питания, макетка, куча проводов и которые выглядят как настоящие миниатюрные гаджеты. Одно время была популярна платформа Lilypad, на которой собирались всякие носимые устройства. Сейчас хайп поутих, но все же китайцы наклонировали аналогичных устройств и успешно их продают за пару баксов. В качестве контроллера обычно выступает ATTiny85, но есть и модификации, а выглядит это симпатично: Здесь все как обычно — чем больше пинов вам нужно, тем дороже и габаритнее это получится.

На этой платке есть стабилизатор, позволяющий запитаться от источника до 20В. Стандартное питание от 2.5В до 5В (через USB). Сердцем устройства является 8-ми битный контроллер ATTiny85. Этот малыш может делать очень многое, программируется из той же Arduino IDE, что и старшие братья, посредством USB-кабеля, предоставляет достаточно памяти, чтобы реализовать полезную программу, подробнее. Для программирования этой платы вам потребуется: Arduino IDE, драйверы Digistump и небольшая настройка IDE, все описано здесь. У меня на Windows 8 драйверы не завелись (хотя пишут, что работать должно), я в итоге работал на Windows 10. Есть интересная особенность — подключать плату к USB нужно только после того, как среда об этом попросила — в подвале/консоли Arduino IDE будет об этом сообщение.

В это время среда автоматически ищет USB-порт, к которому подключена плата. С одной стороны это удобно, но с другой, приходится отключать остальные устройства из USB (у меня там была мышь), иначе не прошьет. Для повторной прошивки нужно отключить контроллер от USB и подключить снова, когда попросит среда… В целом это терпимо, если сравнивать с другими методами прошивки ATTiny85. У контроллера есть три аналоговых входа и два цифровых выхода, включая ШИМ. Для разработки несложных устройств этого достаточно: плавно помигать светодиодами, попищать пьезодинамиком, снять показания акселерометра, фотоэлемента и т.п. Все эти функции выполняются стандартными командами для Arduino, что конечно очень упрощает программирование.

Об этом чуть позже. Поскольку платка маленькая, то сразу захотелось сделать какой-то компактный автономный гаджет, который можно запитать батарейкой CR2032 ( 200 мАч). Но как оказалось, платка потребляет. 10 мА и батарейки не хватит даже на один день работы. “Шеф, все пропало…” Стал разбираться в чем дело и выяснилось вот что. Контроллер умеет “засыпать”, то есть переходить в режим низкого энергопотребления. Режимов этих несколько, читайте даташит.

Мне подошел режим “усыпления” с использованием сторожевого (watchdog) таймера. Контроллер просыпается раз в 8 секунд (можно и чаще) и накручивает счетчик, по которому можно организовать сон на любое по длительности время. Более того, на время сна нужно отключить периферию (АЦП в частности) и тогда потребление снизится до 4мА. Однако, все еще многовато. На плате установлен не очень эффективный стабилизатор напряжения. Если его удалить, то потребление платы снизится еще на 3 мА. Выпаивается он довольно легко.

Еще, при включении платы можно заметить, что загорается светодиод. Пользы от него почти 0, так что смело отковыриваем и его, а в итоге получаем желанное потребление в 200 мкА. В десятке статей я читал, что кому-то удавалось снизить потребление до 3 мкА, но… больше ничего мне сделать не удалось — все что можно было отключить я отключил. В любом случае, это хороший результат и такой уровень потребления вполне приемлем. Есть одна тонкость с отключением периферии перед режимом “сна”, об этом много пишут, но мало кто говорит как правильно это делать.

У всех стандартный код, который у меня не работал. Возможно, проблема кроется в особенностях конкретной платы или реплики микроконтроллера. Перед отключением АЦП необходимо обнулить напряжение на выходах контроллера. Проще простого, однако, стандартные советы не работали. АЦП полностью не отключался. Методом проб был найден работающий способ отключения АЦП, пожалуйста, учтите это в своих программах.

Вот пример программной заготовки, которая погружает контроллер в “сон”, доводит потребление до 200 мкА и больше ничего полезного не делает, но об этом в других статьях. Необычным образом дело обстоит и с отладкой программы. На этой платке нет стандартного вывода в последовательный порт, которым используется Arduino IDE. Разработчики пошли другим путем. Есть готовый модуль , который позволяет организовать вывод отладочной информации в любое активное окно, например, в обычный Блокнот. Например, чтобы вывести значение какого-то параметра, можно использовать такую функцию: Теперь, сразу после заливки программы в контроллер, достаточно сделать активным окно Блокнота и в него польются значения, которые выводит программа.

Дешево и сердито. Было довольно интересно, но в следующий раз, я не хотел бы тратить время на все эти мелочи, чего и вам желаю. Присоединяйтесь к сообществу разработчиков открытой инфраструктуры “умного дома”



  • Драйвер attiny85 через usb

  • Драйвер attiny85 через usb
  • Пользователи выбирают:
    >