Плата Arduino Attiny85 из серия Attiny - младшей линейки микроконтроллеров Atmel, имеющая урезанные по сравнению с ATmega чипы.
Официальное семейство плат ардуино было очень расширено сторонними производителями и энтузиастами в программировании микроконтроллеров. Чтобы понять, почему это произошло, нужно разобраться в том, что такое Arduino.
Платформа представляет собой плату с микроконтроллером и необходимой обвязкой, но сама суть заключается в наборе библиотек и языка Wiring, который позволяет создавать скетчи в простом и понятном виде.
Содержание
Характеристики ATtiny
В таблице мы приводим основные характеристики плат ATtiny:
ATtiny 44 | ATtiny 84 | ATtiny 45 | ATtiny 85 | Примечание | |
Макс. частота, МГц | 8 | 8 | 8 | 8 | От внутреннего генератора |
RAM, байт | 256 | 512 | 256 | 512 | |
Flash, Кб | 4 | 8 | 4 | 8 | |
I/O выводов | 11 | 11 | 5 | 5 | RESET не считаем |
Цена, $ | 1.66 | 1.8 | 1.49 | 1.69 | Розница DigiKey, просто для сравнения |
Распиновка Arduino Attiny85
Распиновку arduino attiny85 можно увидеть ниже, нажмите для увеличения схемы:
Еще одна схема, которая вам может пригодиться:
Плата Digispark с Arduino Attiny85
Совместимые платы могут как превосходить по характеристикам и размерам стандартные ардуино, так и быть меньше их, как было сказано выше. Отличным примером такой платы будет Digispark.
Характеристики платы довольно скромные, она поставляется с микроконтроллером, подготовленным для работы, arduino attiny85 – он представлен в восьминогом корпусе SOIC или более крупных размеров – DIP8. Характеристики весьма непритязательные:
- постоянной памяти – 8 Кб, для программного кода и 512 для исполняемого;
- так как доступно всего 8 выводов (ножек), вычтем две плюс и минус питания – получится 6 цифровых пинов, из которых 4 – это ADC и 2 PWM (ШИМ);
- доступно только аппаратное прерывание;
- контроллер работает на частотах от 1 до 20 МГц;
- в зависимости от конкретного чипа напряжения питания различны от 1.8 до 5.5 Вольт;
- в режиме энергосбережения потребляет мизерный ток в 0.1 мкА, при самом низком напряжении питания в 1.8 Вольт.
У оригинального digispark интересная конструкция, для его прошивки не нужно использовать micro USB кабель или USB-UART. Плата разведена таким образом, что, просто вставив ее в USB порт вашего компьютера, вы получите возможность программировать микроконтроллер.
Плата не только маленькая, но и очень простая – её сборка не займет много времени, и совершенно не составит труда для начинающих. Как собрать клон digispark своими руками мы расскажем немного позже.
Что нужно знать дополнительно
Определение: скетч – это программа, которая зашивается в память ардуины.
Сам по себе язык wiring – это не язык программирования в привычном виде, это надстройка над языком C. Удобоваримость и простота кода достигнуты за счет написания множества библиотек для работы с периферией и задержками. Последние задаются в количестве миллисекунд или микросекунд – ранее это было не столь явно, а в ассемблере и вовсе приходилось считать количество тактов, за которые выполняется один машинный цикл микроконтроллера, а потом производить бесполезные вычисления для формирования простоя системы на заданное время.
Чтобы упростить этот процесс и был придуман простой для понимания язык и Arduino IDE – среда разработки. Однако многие любители не останавливаются на достигнутом и переходят на уровень языка C.
Дело в том, что стандартные команды обращения к портам, чтения и записи выполняются довольно долго средствами ардуино. Поэтому вы можете обращаться к ним напрямую, и ускорить работу платы в десятки раз, где это необходимо, да и ШИМ на ардуино работает на низких частотах, что не есть хорошим признаком, а на Си, повторюсь, всё в разы быстрее.
О возможностях среды разработки
Arduino IDE имеет встроенный набор плат и микроконтроллеров, с которыми можно работать; в её основе лежит классический программатор AVR, кстати, благодаря ему и можно обращаться к устройству командами на Си.
Однако не всегда удобно и рационально использовать предложенные микроконтроллеры. Согласитесь, что глупо брать плату с парой десятков выводов для работы с 1 датчиком и 1 исполнительным механизмом, в роли которого может быть:
- сервопривод;
- транзистор;
- светодиод;
- соленоид и т. д.
Поэтому сторонние разработчики создали целый ряд совместимых плат. Работать с ними можно через Arduino IDE, используя простые команды встроенного языка. Для этого были переписаны загрузчики и библиотеки команд.
Как сделать очень маленькую Ардуино своими руками?
Саму плату Arduino версии UNO, например, можно использовать, как универсальный программатор. Вы можете легко запрограммировать с помощью arduino attiny2313 и другие МК семейства AVR и МК иных производителей. Сама серия Attiny, как вы можете увидеть из названия, – младшая линейка микроконтроллеров Atmel, имеющая урезанные по сравнению с ATmega чипы.
На рисунке – пример прошивки платы ардуино с помощью другой платы ардуино, в случае выхода микроконтроллера первой из строя, когда в него нужно прошить загрузчик.
Сам термин ISP – расшифровывается, как «внутрисистемное программирование», то есть прошивка чипа уже в непосредственно собранной схеме – такая методика применяется не только в любительских конструкциях, но и для корректирования программного обеспечения готовых блоков промышленного производства и бытовой техники.
Прошивка, которая превратит вашу ардуину в ISP программатор, поставляется в наборе примеров Arduino IDE. Подключите вашу плату к компьютеру и выберите File-examples-Arduino ISP. После чего залейте скетч в Arduino.
На картинке указаны назначения пинов ардуино и их расположение на контроллерах в DIP корпусах, для прошивки соедините одноименные выводы на микроконтроллере и ардуине.
При желании можно повторить опыт предшественников и сделать такой шилд для UNO.
Вот печатная плата
Пояснения будут излишними – проявите фантазию и воплотите это на текстолите.
Чтобы прошить attiny с Arduino IDE нужно предварительно добавить библиотеки для их поддержки, в стандартном варианте поддерживаются только atmega. Добавляем в директорию «C:\Users\*имя пользователя*\Documents\Arduino\» папку hardware, в неё – папку tiny из архива, который можно найти здесь (ссылка на открытый ресурс https://code.google.com/archive/p/arduino-tiny/).
После этого в папке tiny находим файл Prospective Boards.txt и удаляем из его название первое слово «Prospective».
На картинке изображены настройки и список плат. Не забудьте выбрать программатор «Arduino ISP».
Программатор готов.
При прошивке attiny код будет легче, чем в UNO, некоторые функции урезаны, вам доступны:
- pinMode()
- digitalWrite()
- digitalRead()
- analogRead()
- analogReference(INTERNAL) / (EXTERNAL)
- shiftOut()
- pulseIn()
- analogWrite()
- millis()
- micros()
- delay()
- delayMicroseconds()
Что мы получаем?
Теперь вы получаете аналог digispark, но размеры его сократились до размеров одного чипа; припаивайте периферию, и ваше устройство готово! Вы можете сделать дешевую arduino attiny13 с объемом памяти в 1024 байта, для простейших мигалок и датчиков.
Такие миниатюрные устройства сэкономят место и деньги при сборке. Дело в том, что на цену дешевой Ардуино Нано можно купить несколько Аттини, к тому же вы можете простейшими командами запрограммировать их, не изучая Си.
12 апреля 2022 в 01:13
Как получить attiny85-20su datasheet на русском
12 апреля 2022 в 11:04
Хочу купить attiny85-20pu программирование