Андрей Смирнов
Время чтения: ~11 мин.
Просмотров: 19

Digispark на Attiny85 — подключение под Windows 10

Итак начнем с разбора самой платы и ёё возможностей .

ATtiny85 — небольшой микроконтроллер с приличными возможностями и приятными особенностями, включая:

Плата разработчика ATTINY85предназначена для разработки устройств с минимальными требованиями к периферии и возможностью непосредственного подключения к USB интерфейсу компьютера для программирования и отладки. Для подключения к компьютеру не требуется кабеля — контроллер подключается непосредственно в USB разъем. У контроллера выведено 6 выходов и все они доступны для использования. Два зарезервировано для работы с USB интерфейсом, к одному подключен светодиод. Для разработки можно использовать среду разработки Arduino IDE (OSX/Win/Linux).

Питаться устройство может от USB интерфейса, внешнего источника напряжением 5В и напряжением от 7В до 12В от внутреннего стабилизатора напряжения 5В 500мА. Переключение источника питания происходит автоматически.

Функции выводов контроллера:

</p>

  • Р0 — ARef, SDA, DI, PWM

  • P1 — DO, PWM

  • P2 — D/A, SCK

  • P3 — D/A, USB+

  • P4 — PWM, D/A, USB-

  • P5 — D/A

Характеристики:

</p>

  • Микроконтроллер: ATTINY85

  • Внутренний генератор: 8МГц

  • Встроенный умножитель частоты: 8

  • Объем памяти программ: 8Кбайт (6Кбайт доступных)

  • Аппаратные интерфейсы: SPI, I2C

  • ШИМ: 3 канала

  • АЦП: 4 канала

  • Индикаторы: Питание Состояние (Pin0)

Пинмапинг и распиновка 

 0_c63da_4600ebcf_XL.jpg

Покупал я платы на Алиэкспресс :

Самая простая версия  http://ali.pub/2ak39d   

HTB1jIHlavBNTKJjSszbq6yFrFXaL.jpg

Версия с микро USB  http://ali.pub/2ak3dn 

Версия с микроюсб про http://ali.pub/2ak3iw  

Устанавливаем своеобразный плагин для среды Arduino (поддерживается начиная с версии 1.6.5). Открываем настройки:

Вставляем в поле Additional Boards Manager URLs строку

Переходим в меню Инструменты — Boards Manager:

В выпадающем списке Type выбираем Contributed, а затем щелкаем по Digistump AVR Boards, при этом появится кнопочка Install, которую и нажимаем:

Начнется скачивание и установка софта и драйверов. Говорим, что согласны на все:

(Так же драйвера можно скачать здесь https://github.com/digistump/DigistumpArduino/releases)

Выбираем рекомендованную для начинающих плату Digispark (Default — 16,5mhz) — выбираем вашу плату :

Теперь можем перейти в раздел примеры — digispark и выбрать понравившийся вам тестовый скетч :

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

Связано это с особым режимом работы загрузчика: при старте контроллера он ждет загрузки кода через USB в течение 5 секунд, а потом переключается в режим исполнения имеющегося в памяти контроллера кода.Иными словами, если контроллер подключить к компьютеру до приглашения, то спустя пять секунд он начнет выполнять имеющийся код (если есть), а чтобы загрузить новый, нужно отключить и снова подключить плату к компьютеру.Загрузка пошла:

Знакомство с платой прошло успешно ! )))) 

Подписывайся на Geek каналы :

➤ VK — https://vk.com/denis_geek

➤ VK — https://vk.com/club_arduino

➤ VK — https://vk.com/chinagreat

➤ VK — https://vk.com/solar_pover

➤ VK — https://vk.com/my_vedroid

➤ VK — https://vk.com/3dprintsumy

➤ Youtube — http://www.youtube.com/c/Danterayne

★ Моя партнёрка с Aliexpress ★

http://ali.pub/1j9ks1 

★ Получай 10.5% скидку с любой покупки на Aliexpress! ★

http://ali.pub/1lx67o

★ Полезное браузерное приложение для кэшбэка  ★

Похожие статьи

Настройка Arduino IDE для программирования WiFi модуля ESP8266

ESP8266 это дешевые широко распространенные модули Wi-Fi. Они состоят из самодостаточного микроконтроллера с GPIO (дискретными входами-выходами), аналоговым входом, портами параллельной связи, I2C, SPI, и самое главное с блоком Wi-Fi связи. Изначально продвигаемые как дешовые модули Wi-Fi для плат Arduino и Raspberry Pi, они так же могут быть запрограммированы как отдельные платы разработчика при помощи Arduino IDE. Для этого необходимо сначала установить библиотеки и инструментарий  ESP8266 в Arduino IDE.

Установка драйвера CH340 для ардуино arduino и отключение цифровой подписи драйверов для windows

В последнее  время появилось много устройств с использованием микросхемы CH340G и потребность в драйверах для нее очень резко выросла. Много кто ищет где скачать и как установить драйвера для CH340G. Мы сегодня решили разобраться с этой проблемой

Подключаем к ардуино MLX90614 IR-TERMOMETER MODULE 28040 — модуль для бесконтактного измерения температуры

Подключение бесконтактного ИК-термометра mlx90614 к ардуино Для точного измерения температуры необходимо чтобы измеряемый объект полностью перекрывал обзор датчика mlx90614 Диапазон измеряемых температур -70 °C ~ 380 °C

Рекомендуемые товары

Набор полный для обучения Arduino RFID Starter Kit в пластиковом боксе

Обучающий набор с модулями радиочастотной идентификации 39 предметов. на базе Arduino Uno R3.Arduino..

900грн.

Теги: Начало работы с Digispark., а для кого то просто ATtiny85 с USB, Установка драйверов, работа с arduino IDE, electronica52, arduino, digispark установка драйверов, драйвера digispark, atiny85 driver

Если Вы читаете эти строки, значит что-то пошло не так… с подключением данного микроконтроллера. Знаю, у меня самого за сутки до написания статьи было так-же, но техноманьяки — народ упоротый упертый

Можно было спокойно заюзать любую из трех имеющихся ардуин или «голую» Atmega328P-PU/Atmega8-16PU

В конце концов, ПРОСТО загрузить USB-Linux c arduino ide под него.

Нет-же, в этот раз свет клином сошелся на Диджиспарке и ДЕСЯТКЕ — зря что-ли платил $3 за ESD-лицензию?.

«Уж если я чего решил, то выпью обязательно» пел Высоцкий, и как Вы поняли — таки да!

Ладно, с присказками закончили — бутаем комп, заходим в биос.

Находим пункт устройства/порты — USB — да, Digispark не работает с USB-3

Отключаем совместимось USB3-Disable (У некоторых просто может выставляться режим порта — ставим USB-2 Compatible)

У меня этот пункт назывался xHCI — Disable

Не торопитесь выходить — включите отладку — Debug-Enable

Опять на моем биосе эта функция зовется иначе — EHCI — Enable

Save&Exit

Гуд? Загрузили винду?

Не торопитесь входить в ArduinoIde!

Снесите для начала Все установленные ранее дрова под digistump/digispark!

Готово?

WIN-x — выполнить — regedit — поиск ищем digistump в реестре и беспощадно удаляем, F3 — поиск дальше!

Повторяем процедуру со словом digispark.

Контролный reboot в голову — винда все-же 😉

Теперь нам нужно сделать две закачки — правильный комплект дров с лоадером — micronucleus по ссылке

Страница загрузки github.com

У меня это была версия micronucleus-2.0a4-win.zip

Еще нужна прога ArduinoIde с предустановленной поддержкой Digispark-a — идем сюда:

Запиленный под Attiny85 софт

качаем последний ArduinoIDE, моя версия(на 07.06.2018) — DigisparkArduino-Win32-1.0.4-May19.zip, извлекаем содержимое.

На 64-битке — работает!

Распаковываем/сетапим наш микронуклеус драйвер.

Окей, запускаем DigisparkArduino версии 1.0.4!

Старый? А Вам Шашечки или Ехать?

Its a Sparta — это винда!

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

Но не торопитесь подключать плату в Usb порт!

Выбираем (в ArduinoIDE ) Сервис-Плата-Digispark (Tiny Core)

Далее Сервис-Программатор-Digispark

Наконец пришло время поморгать светодиодом 😉

void setup() {     //Set Pins 0 and 1 as outputs.     //Some Digisparks have a built-in LED on pin 0, while some have it on     //pin 1. This way, we can all Digisparks.     pinMode(0, OUTPUT);     pinMode(1, OUTPUT); } void loop() {     //Set the LED pins to HIGH. This gives power to the LED and turns it on     digitalWrite(0, HIGH);     digitalWrite(1, HIGH);     //Wait for a second     delay(1000);     //Set the LED pins to LOW. This turns it off     digitalWrite(0, LOW);     digitalWrite(1, LOW);     //Wait for a second     delay(1000); } 

Компилируем Ctrl-R

Загружаем Ctrl-U (ведь правда мы еще не вставляли плату в ЮСБ? ЭТО ВАЖНО!!)

Вот только после такой надписи внизу — включаем Digispark в порт.

иначе он будет бесцельно блинкать появляясь и исчезая в устройствах — как первый спутник земли!

Если ВСЕ пункты выполнялись внимательно и последовательно, то мы получим подобную картинку

И мигающий на плате светодиод — WIN!

Успешных Вам проектов!

Андрей.

Digispark — это плата, подобная Ардуино, только на базе микроконтроллера ATtiny85. Она не так наворочена в плане периферии как Ардуино, но зато компактная и дешевая. Особенной эту плату делает то, что для ее программирования не требуется программатор, достаточно просто подключить Digispark к компьютеру и можно заливать в нее новый скетч. При этом плата не содержит специализированных USB контроллеров или преобразователей, все необходимые функции для программирования через USB реализованы в загрузчике. О том, что нужно для программирования Digispark в среде Ардуино — под катом.

Характеристики Digispark

  • Память программ (FLASH) — 8КБ, из них около 2КБ занимает загрузчик
  • ОЗУ (SRAM) — 512 байт
  • Энергонезависимая память (EEPROM) — 512 байт
  • Тактовая частота 16МГц/16,5МГц
  • USI (Universal Serial Interface) — универсальный последовательный интерфейс. Может использоваться в двухпроводном (I2C/TWI) и трехпроводном (SPI) режиме
  • 4-х канальный 10-разрядный АЦП
  • Аналоговый компаратор
  • 2 8-битных таймера-счетчика
  • Сторожевой таймер
  • 8 выводов, 6 из которых доступны как линии ввода-вывода
  • Питание Digispark возможно от USB, либо от внешнего источника 5В или 7-35В (рекомендуется не более 12В)

Помимо микроконтроллера на плате установлен линейный регулятор напряжения 5В 500мА, небольшая обвязка для USB и пара светодиодов, один из которых подключен к выводу PB1 или PB0 в зависимости от модификации, другой служит индикатором питания. Плата оснащена USB разъемом типа А, что позволяет подключать ее к компьютеру без использования дополнительных проводов. Платы Digispark работают на частоте 16 или 16,5МГц. Ее источником служит PLL генератор: тактовый сигнал от внутреннего калиброванного RC-генератора (~8МГц) подается на вход умножителя на 8, в результате получается частота 64МГц, затем она делится на 4, что дает системную частоту 16МГц. При подключении Digispark к компьютеру загрузчик калибрует RC-генератор для получения системной частоты 16,5МГц. Начиная с версии загрузчика 1.0.6 калибровочная информация сохраняется внутри микроконтроллера. Предыдущие версии загрузчика этого не делали, поэтому при работе от внешнего источника питания (не от шины USB) такие платы работают на частоте 16МГц. Также следует упомянуть об одной особенности официальных плат Digispark. Первый вывод микроконтроллера ATtiny85 может использоваться как обычный пин ввода-вывода или как вход внешнего сброса — Reset. Назначение данного вывода определяется фьюзом RSTDISBL (External Reset Disable). Так вот в официальных платах Digispark фьюз RSTDISBL запрограммирован, то есть первый вывод является обычным пином ввода-вывода. В результате нам доступны все 6 линий ввода-вывода ATtiny85, но с другой стороны у нас больше нет входа внешнего сброса, а значит нет возможности что-либо сделать с микроконтроллером, используя ISP программатор. Что касается китайских клонов, то в них данных фьюз может быть как запрограммирован, так и нет.

Добавление Digispark в список плат IDE Arduino

Программирование Digispark осуществляется из среды IDE Arduino, для этого в нее должен быть добавлен пакет Digistump. Это делается через Менеджер плат, который появился в версии IDE 1.6.4. Для начала скопируйте в буфер обмена следующую строку:http://digistump.com/package_digistump_index.json Теперь в IDE открываем меню Файл > Настройки и в появившемся окне нажимаем кнопку рядом с полем ввода дополнительных ссылок для Менеджера плат. В открывшемся окне вставляем скопированную ранее ссылку новой строкой. Нажимаем OK для сохранения изменений и выхода из настроек: Следующий шаг — установка файлов для поддержки Digispark. Переходим в меню Инструменты > Плата > Менеджер плат… Чтобы не искать в списке интересующий нас пакет, отфильтруем его, введя в текстовом поле слово digispark. Выбираем пакет Digistump AVR Boards и нажимаем установить. После выполнения установки закрываем окно Менеджера плат:

Установка драйверов для Digispark

Пользователям Windows для работы с платами Digispark необходимо установить драйвера. Скачать их можно по ссылке https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip. Распакуйте архив и запустите Install Drivers.exe для установки драйверов. Подтвердите установку при запросе разрешения.

Программирование Digispark из IDE Arduino

Теперь у нас все готово для программирования плат Digispark. Для примера попробуем залить в нее скетч, мигающий светодиодом на плате. Скопируйте и вставьте в редактор следующий код:

voidsetup() {                   pinMode(, OUTPUT);       pinMode(1, OUTPUT);     }  voidloop() {   digitalWrite(, HIGH);    digitalWrite(1, HIGH);   delay(1000);              digitalWrite(, LOW);     digitalWrite(1, LOW);    delay(1000);            }

Как уже было сказано, в зависимости от модели платы Digispark светодиод на ней подключен либо к выводу 0 (модель B), либо к выводу 1 (модель A). Поэтому в приведенном скетче меняется состояние обоих выводов. В меню Инструменты > Плата выберите значение Digispark (Default — 16.5mhz).  COM порт и программатор указывать не нужно.Digispark_16.5mhz.png В отличие от плат Ардуино Digispark не нужно заранее подключать к компьютеру. Поэтому нажмите кнопку для загрузки скетча и дождитесь сообщения «Plug in device now… (will timeout in 60 seconds)»:Plug_in_device_now.png Вот теперь подключаем Digispark и дожидаемся сообщения «Micronucleus done. Thank you!». Светодиод на плате должен начать мигать с интервалом в 1 секунду.

Библиотеки и примеры для Digispark

Различные библиотеки для плат Digispark и примеры их использования вы можете найти на странице https://github.com/digistump/DigistumpArduino/tree/master/digistump-avr/libraries. Также, думаю, стоит упомянуть о IDE Arduino, заточенной специально под Digispark. Скачать ее можно отсюда: https://sourceforge.net/projects/digistump/files/DigisparkArduino-Win32-1.0.4-May19.zip/download. В ней уже установлены некоторые библиотеки и есть примеры скетчей.Используемые источники:

  • http://www.electronica52.in.ua/proekty-arduino/nachalo-raboty-s-digispark-a-dlya-kogo-to-prosto—attiny85-s-usb—
  • https://habr.com/post/413927/
  • /2018/12/digispark.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации