Если Вы читаете эти строки, значит что-то пошло не так… с подключением данного микроконтроллера. Знаю, у меня самого за сутки до написания статьи было так-же, но техноманьяки — народ упоротый упертый
Можно было спокойно заюзать любую из трех имеющихся ардуин или "голую" 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!
Готово?
Ctrl-x — regedit — поиск ишем digistump в реестре и беспощадно удаляем, F3 — поиск дальше!
Повторяем процедуру со словом digispark.
Контролный reboot в голову — винда все-же ;-)
Теперь нам нужно сделать две закачки — правильный комплект дров с лоадером — micronucleus по ссылке
У меня это была версия micronucleus-2.0a4-win.zip
Еще нужна прога ArduinoIde с предустановленной поддержкой Digispark-a — идем сюда:
качаем последний 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!
Успешных Вам проектов!
Андрей.
Автор: gerasimenkoao