Плата ATtiny88. Начало работы
Сабж
Из-за кризиса полупроводников цены на микроконтроллеры очень сильно выросли: 2 бакса с бесплатной доставкой за нашу любимую Arduino Nano превратились в... 8 баксов! Спасением может стать esp8266 (урок про неё), но не всегда она может заменить нанку. И тут на сцену выходит плата на базе МК ATtiny88:
Всего 1.5$, а на вид - полный аналог нанки! Так ли это? Рассмотрим подробнее.
Купить на Aliexpress
Дёшево купить плату на ATtiny88 можно тут: ссылка, ссылка, ссылка, ссылка.
Возможности
Плата:
- 16 МГц кварц
- ISP хэдер для программатора
- USB-UART отсутствует, USB подключен к микроконтроллеру на пины 0 и 1
- Соответственно прошивка по USB, а также работа в качестве HID устройства
ATtiny88 имеет на борту:
- Flash память: 8 кБ (6780 Байт с учетом загрузчика)
- SRAM память: 512 Б
- EEPROM память: 64 Б
- Таймеры: 1х 8 Бит без ШИМ + 1х полноценный 16 БИТ
- GPIO: 26 пинов
- Прерывания: 2х INT, все пины - PCINT
- ШИМ: 2 пина
- АЦП: 8 пинов, внешнего опорного нет
- Интерфейсы: I2C, SPI
Не имеет на борту:
- Аппаратный UART, про Serial можно забыть
- Аппаратное умножение. Вычисления будут медленнее
Начало работы
Нужно установить ядро ATtinyCore:
- Запустить Arduino IDE, перейти в Файл/Настройки/
- В окошко “Дополнительные ссылки…” Вставить http://drazzy.com/package_drazzy.com_index.json
- Нажать ОК
- Перейти в Инструменты/Плата/Менеджер плат… Начать вводить в поиске “attiny”. Выбрать и установить ATTinyCore
- Теперь в списке плат Инструменты/Плата/ появится семейство плат ATTinyCore! Выбираем ATtiny88 (Micronucleous, MH-ET t88 w/16MHz CLOCK). Настройки оставляем стандартные, подробнее о них написано на странице ядра (ссылка выше).
- Также нужно установить драйвера: скачать можно по этой ссылке, на официальном GitHub проекта (в разделе Релизы, вот прямая ссылка на архив), либо с моего FTP. Драйвера есть для Win, MacOS и Linux.
- Пользователям Linux читать здесь
Прошивка загружается следующим образом: ПЛАТУ НЕ ПОДКЛЮЧАЕМ, ПОРТ НЕ ВЫБИРАЕМ, нажимаем загрузка, ждём компиляции. Появится надпись “подключите плату”. Втыкаем плату в USB и прошивка загружается.
Распиновка
Особенности
- Нумерация пинов в ядре отличается от привычной Arduino: в программе константы A0.. A7 это числа 0.. 7
- Цифровые пины - по номеру пина.
digitalRead(15)
- пин 15,digitalRead(17)
- пин A6 - Аналоговые пины - по маркировке на плате или номеру АЦП. Пример с A0:
analogRead(A0)
илиanalogRead(0)
- Цифровые пины - по номеру пина.
- Для работы
Serial
придётся использовать встроенный SoftwareSerial (на любые пины) и внешний USB-UART преобразователь - Для имитации HID устройства (клавиатура, мышь) можно использовать библиотеку EasyHID, она поддерживает эту плату начиная с версии 2.0
- Watchdog не работает, если прошит стандартный USB загрузчик
Полезные страницы
- Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
- Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
- Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
- Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
- Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
- Поддержать автора за работу над уроками
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])