Начало работы с платой ATTiny88 — характеристики, прошивка

Всем привет!
В этой статье я расскажу ВСЁ про плату с микроконтроллером ATTiny88. Рассмотрим его характеристики, возможности, особенности и может ли эта плата заменить Arduino Nano.
ЗАЧЕМ ПОКУПАТЬ ATTINY88 вместо NANO???
Недавно ардуиновые платы (даже подделки) подорожали, и стали стоить около 500 рублей за Nano версию, хотя к сегодняшнему дню они обратно подешевели, теперь Arduino Nano стоит около 200 рублей. А плата ATTiny88 стоит всего 150 рублей. Экономия =)
На вид эта плата выглядит почти точно так же, как и Nano, и стоит дешевле 🙂
Сейчас узнаем, действительно ли она такая же как и Nano.
ХАРАКТЕРИСТИКИ ATTINY88
Рассмотрим характеристики платы с микроконтроллером ATTiny88:
- Всего FLASH памяти — 8 кб (8127 байт), а у Arduino Nano 32 кб;
- Память FLASH для скетчей — 6,780 кб, а у Arduino Nano 30 кб;
- Оперативка — 512 байт, а у Arduino Nano 2048 байт (2 кб);
- ЕЕПРОМ — 64 байта, а у Arduino Nano 1024 байт (1 кб);
- Цифровые пины — 26 штук;
- ШИМ пины — 2 штуки;
- АЦП, то есть аналоговые входы — 8 штук;
- Интерфейсы — I2C 1 штука, SPI 1 штука;
- 16 МГц кварцевый резонатор;
- Пины для ISP программатора;
- Нет аппаратного UART, а соответственно и Serial, почему, расскажу ниже.
В общем, у этой платы гораздо меньше памяти, чем у Arduino Nano? а также меньше ШИМ пинов и нет UART.
УСТАНОВКА ЯДРА ATTINYCORE И ПРОШИВКА ПЛАТЫ
Чтобы прошить эту плату, вам потребуется установить в Arduino IDE такую штуку — ядро. Подробнее про установку ядра для Arduino IDE можно прочитать здесь.
Для этой платы вам потребуется вот эта ссылка — http://drazzy.com/package_drazzy.com_index.json
Установите ядро ATTinyCore по инструкции и наслаждайтесь =)
Теперь расскажу как ПРАВИЛЬНО прошить эту плату.
- Устанавливаем драйвера по этой ссылке;
- В настройках выбираем плату ATTiny88 Micronucleus;
- Оставляем стандартные настройки;
- Порт не выбираем (у нас даже такой возможности не будет), плату не подключаем;
- Подключаем USB кабель в компьютер, но пока без платы;
- Нажимаем кнопку «ЗАГРУЗИТЬ» скетч;
- Когда в окне компиляции будет написано ПОДКЛЮЧИТЕ ПЛАТУ, подключаем плату к USB кабелю, подключенному в ваш компьютер;
- Ждём окончания загрузки. Если всё прошло успешно, хорошо. Если нет, проверьте порядок действий и повторите попытку.
РАСПИНОВКА ATTINY88

На этой картинке можно ознакомиться с распиновкой этой платы. Плата имеет две гребёнки по 16 пинов (боковые) и одну гребёнку на 6 пинов (для ISP программатора), а также USB порт для прошивки.
Эта плата не имеет аппаратного UART, поэтому встроенный Serial работать не будет, если только SoftwareSerial. USB порт подключен напрямую к микроконтроллеру, а значит, что плата может быть HID устройством (Human Interface Device — мыши, клавиатуры и прочее). Такой возможностью может похвастаться не каждая Arduino! Вот уже преимущество перед Nano.
ОСОБЕННОСТИ ПЛАТЫ ATTINY88
Номера пинов отличаются от номеров пинов на Arduino:
Цифровые пины с 0 до 16, с А0 до А7 и ещё один под номером 25 имеют общие номера, обозначаются числами от 0 до 25 (с буквой А цифровые пины тоже просто числом).
Аналоговые пины обозначаются либо с буквой (А0-А7) либо без буквы (0-7).
Например: считаем цифровое значение с пина А4 (обозначение на плате). Номер цифрового пина — 23. Код пишем так:
int pinValue; // Создаём переменную для значения с пина
void setup(){
pinMode(23, INPUT); // Делаем 23 ц. пин на ВХОД
}
void loop(){
pinValue = digitalRead(23); // Считываем значение
}
Чтобы считать аналоговое значение с этого же пина, нужно использовать уже его аналоговый номер. Код вот такой:
int pinValue; // Создаём переменную для значения с пина
void setup(){
pinMode(A4, INPUT); // Делаем 4 a. пин на ВХОД
}
void loop(){
pinValue = analogRead(A4); // Считываем значение
}
Это не готовый код, его нужно дополнить нужными вам функциями. Это просто демонстрация того, как правильно указывать номер пина.
ИНТЕРФЕЙСЫ
Плата имеет всего 2 готовых интерфейса — I2C и SPI. Номера пинов платы указаны те, которые написаны на плате.
I2C: пин SCL — A5, пин SDA — A4.
SPI: пин CS/SS — 10, пин MOSI — 11, пин MISO — 12, пин SCK — 13.
Если вам нужен Serial, тогда нужно использовать библиотеку SoftwareSerial.h, и колдовать с ней.
ВСЕ ОТЛИЧИЯ ОТ NANO
- Нет Hardware Serial;
- На 4 цифровых пина больше;
- Можно сделать HID устройство;
- Эта плата дешевле;
- Прошивается нестандартным ядром;
На этом всё! Спасибо за внимание!