View Categories

Digispark

Digispark - неофициальное семейство Arduino-совместимых плат от Digistump. Эти ребята из США делают отладочные платы на различных микроконтроллерах и шилды для них. Китайцы быстро смекнули, что дигиспарк на базе ATtiny85 - отличная штука и начали продавать свою версию. До кризиса плата стоила около 80 рублей - что весьма приятно для основы небольшого проекта. В этом уроке рассмотрим именно дигиспарки на базе ATtiny85, вы можете видеть их на картинке выше в разных модификациях.

Первая сама плата вставляется в USB, вторая и третья - подключается по micro USB. Отдельное спасибо тому, кто проектировал плату: работать с ней на брэдборде то ещё приключение.

Четвёртая плата является "пустышкой", в которую можно вставить ATtiny в DIP-8 корпусе. Пины выведены так, что можно удобно подключать USB ASP программатор, но работать на макетке опять же не выйдет. Можно прошить загрузчик от дигиспарк и прошиваться по USB.

Информация #

Купить:

Документация:

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

Характеристика Значение
Микроконтроллер AVR ATtiny85
Логический уровень 5V
Напряжение питания ~3.. 5.5V (от 1.5V при пониженной частоте)
Макс. ток с пина 20 mA (пик 40 mA)
Частота тактирования внутреннее до 32 MHz
Flash 8 kB
RAM 512 B
EEPROM 512 B
GPIO 6 (5 + RST)
ADC 10 bit 4 канала / 2 диф канала, компаратор
ШИМ пины 3
Таймеры 2x 8 bit
Аппаратные интерфейсы 1x SPI, 1x USI (I2C+UART)

Это относительно свежая модель и в ней используются некоторые новые технологии, которых нет в той же ATmega328 (Arduino UNO/Nano), например:

  • PLL - умножитель частоты. МК может тактироваться от внутреннего источника с частотой 16 МГц и выше (мы разгоняли до 32 МГц)
  • Соответственно высокочастотный ШИМ
  • Улучшенный таймер, умеет делать аппаратный deadtime
  • Встроенный усилитель АЦП - можно измерять термопару без внешних железок
  • Дифференциальный АЦП

Основная фишка этих плат - программный USB, то есть USB порт подключен напрямую к пинам микроконтроллера! Что это даёт:

  • Плата может прикидываться USB HID устройством (клавиатура, мышь, геймпад, MIDI)
  • Загрузка прошивки по USB (используется загрузчик Micronucleus)
  • Экономия на отсутствии USB-UART преобразователя, плата стоит дешевле

Распиновка #

  • P0: ничего особенного
  • P1: подключен светодиод. Пин не может работать в режиме INPUT_PULLUP
  • P2: ничего особенного
  • P3: USB пин. Подтянут к VCC резистором на 1.5 кОм
    • Не трогать этот пин, если нужна работа USB, также на момент загрузки прошивки!
    • Нет смысла в режиме INPUT_PULLUP
  • P4: USB пин
    • Не трогать этот пин, если нужна работа USB, также на момент загрузки прошивки!
  • P5: на оригинальных платах "отключен" от RST при помощи программатора. На китайских платах - нет. Поэтому:
    • Не использовать как выход
    • Не подавать низкий сигнал (МК перезагрузится)
    • Можно измерять аналоговый сигнал до VCC/2 (до 2.5V при питании от 5V)

Нумерация пинов #

  • Цифровые пины - по подписям на плате (без буквы), например P0: digitalWrite(0, HIGH)
  • Аналоговые пины - по номеру вывода АЦП (как на распиновке), например P2: analogRead(1)

Начало работы #

  • Ссылка для менеджера плат: http://drazzy.com/package_drazzy.com_index.json
  • Плату выбирать ATtiny85 (Micronucleus / DigiSpark)
  • Также нужно установить драйвера: скачать можно по этой ссылке, на официальном GitHub проекта (в разделе Релизы, вот прямая ссылка на архив). Драйвера есть для Win, MacOS и Linux
  • Пользователям Linux читать здесь

Прошивка загружается следующим образом: ПЛАТУ НЕ ПОДКЛЮЧАЕМ, ПОРТ НЕ ВЫБИРАЕМ, нажимаем загрузка, ждём компиляции. Появится надпись "подключите плату". Втыкаем плату в USB и прошивка загружается

Библиотеки #

Большинство Arduino-библиотек совместимы с дигиспарком, также у него есть свой набор встроенных библиотек (ссылка на библиотеки в новом ядре). Из них можно выделить:

  • Adafruit_NeoPixel - оптимизированная библиотека для адресной ленты
  • DigisparkJoystick - USB джойстик
  • DigisparkKeyboard - USB клавиатура
  • DigisparkMouse - USB мышь
  • DigisparkSoftSerial - программный Serial. Название отличается от стандартной библиотеки!
  • DigisparkTinyPinChange - прерывания на любых пинах
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх