Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO
В этой статье я постараюсь подробно осветить все моменты, касающиеся прошивки Attiny85 в среде ArduinoIDE, и рассказать и некоторых граблях и трюках, через которые я прошел.
Основная цель затеи - "сжать" проекты, особенно там, где атмега328 является мощным оверкиллом - например не так много кода, или используется не более пяти выводов. Ну и сэкономить место и продлить работу от батареи (но о последним в следующих статьях).
Отличия attiny25 от 45 и 85 - объем памяти: 2, 4, 8 кб соответственно. Так же есть 13, 1 кб.
Из функций - пара независимых таймеров для ШИМ, 5(6) портов ввода вывода (6 потому что RESET тоже можно настроить, как порт ввода вывода, но для сброса понадобится специальное устройство), и самое приятное - внутренний кварц на 128 кГц, 1, 8 или 16 МГц, то есть внешний резонатор не нужен, а частоту работы можно изменить прямо в студии ардуино. Так же есть BOD-детектор (вырубает чип, если напряжение питания ниже определенного).
Порезал картинку, чтобы не получить по голове от неразглядевших. Оригинал
Итак, вы урвали у жадных китайцев себе пяток тинек85, надо их проверить, а то вдруг наебали. Не стушевавшись, втыкаем в бредборд и ищем первую ногу - она помечена точкой. Это сброс или ресет, соединяем ее с 10 портом UNO, ищем четвертую ногу, цепляем к земле, 5, 6, 7 цепляем последовательно к 11, 12, 13 портам. 8 к +5В. Поздравляю, сетап готов. Можно ещё воткнуть конденсатор между RESET и GND у уны, но (меня сейчас закидают) у меня все работает и так. Предполагаю, что кондей - защита от наводок.
Теперь пора навести порядок в студии - зайти в менеджер плат и набрать "attiny", после чего скачать среднюю позицию (больше вариантов и настроек, плюс впитала в себя другие варианты):
Установили, теперь надо залить в уно скетч из примеров под названием ArduinoISP, после чего уже можно начинать настраивать нашу тиньку к работе:
С завода все тиньки идут прошитыми на 8 МГц, для того чтобы поменять эту частоту на 16, или изменить что-либо из списка - надо перезаписать загрузчик, обычно занимает секунд 10. После перезаписи можно залить обычный Blink для проверки работоспособности и верности выбранной частоты, только надо поменять номер 13 пина на 3 или 4, поскольку остальные заняты.
Но при перепрошивке очередной тиньки каждый раз городить на бредборде кашу из проводов? Не, я думаю, что есть вариант получше: можно сделать шилд для программирования тинек:
Пайка говно, сам знаю - все никак не могу собраться купить нормальный паяльник с тонким жалом, а не работать ректальным советским криптоанализатором. Светодиод на 3 пине нужен для быстрой проверки точности настроек и рабочести самого микроконтроллера. Так же при пайке шилда (да и вообще любых сокетов) рекомендую использовать с такими зажимами:
Поскольку круглые (на фото ниже) могут плохо держать или терять контакт, хотя за своими такого не замечал пока.
Остальные содинения точно такие же, как в начале статьи, единственное - светодиод + 220 Ом резистор на 3 пине.







Arduino & Pi
1.5K поста20.8K подписчиков
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)
• Рассуждать на темы политики
• Нарушать установленные правила Пикабу