В этой статье я покажу, как просто сделать AVR-программатор из Arduino Nano. Способ не новый и не оригинальный – это штатная возможность Arduino IDE.
В свое время первым программатором для AVR, обычно, становился программатор «5-проводков» который подключался к LPT или COM — порту. Он же выступал программатором для единичных устройств, когда нужно было раз прошить МК и больше к этому не возвращаться. Сейчас подобные нужды (первый программатор или программатор для одного устройства) не перестали быть актуальны. Проблема в том, что LPT и COM — порта становятся редкостью (а в ноутбуках их уже давно нет). Сейчас для программатора нужно использовать USB-порт, но есть проблема — сборка программатора под USB для начинающего довольно сложная задача. Выход есть — купить недорогой программатор типа USBasp. В случае если USBasp (или другой) Вам достать не получилось, то есть вариант собрать программатор из Arduino Nano – получится не хуже.
Arduino ISP
Этот программатор (вернее скетч для него) включен в официальную Arduino IDE (пример под названием «Arduino ISP»).
Все очень просто. Нужно Arduino Nano, несколько проводков и несколько резисторов.
*для Arduino ISP цепи DBG (включая и резистор 10 кОм) не нужны – об этом дальше.
Обвязку можно спаять прямо на Ардуине, как это сделал я. Или собрать на макетке для одного раза, а потом использовать Ардуину для чего-то еще.
После того, как схема собрана, нужно записать в МК прошивку программатора. Это можно сделать 2-мя способами – либо из Arduino IDE либо из моего gcManager. В последнем случае не придется делать каких либо правок по настройке проекта, кроме того я подготовил варианты на разные скорости (19200 и 115200 бод).
После того как прошивка записана – Вы становитесь счастливым обладателем 😉 программатора «Atmel AVR ISP». Это имя нужно будет выбирать в программах для программирования. Например, в avrdudess это выглядит так:
Algorithm Builder USB adapter
Кроме стандартного Atmel AVR ISP, в эту конструкцию можно записать прошивку нестандартного USB адаптера для Algorithm Builder. В этом случае и понадобится ранее не нужная цепочка DBG (это для однопроводной отладки программы в кристалле).
Не вижу смысла что-то писать об этом адаптере – те, кто пользуются Билдером и так знают что это такое. Прошивку можно записать прямо из gcManager (там-же есть и исходник – стандартный из установки, но подправленный для ATmega328p).