[Из песочницы] Прошивка Arduino Pro Mini через Nano
Не так давно столкнулся с необходимостью использования Arduino Pro Mini в своем проекте и сразу же встал вопрос как заливать в нее скетч. Конечно продаются различные переходники UART при помощи которых этот вопрос снимается быстро, но в тот момент такого переходника не оказалось под рукой.Почитав на сайте http://arduino.cc и посабирав информацию на разлинчых форумах, узнал о возможности прошивать Pro Mini при помощи других плат Arduino.Итак, рассмотрим в чем заключается метод Arduino as ISP и что необходимо для этого на примере Arduino Nano.
Для возможности использования платы в родном Arduino IDE имеется пример скетча для перевода платы в программатор, этот пример уже самодостаточен для прошивки Pro Mini, найти его можно выбрав в меню Файл.
Далее в меню «Инструменты» выставляем нашу плату «программатор» и тип ее микроконтроллера.
Затем прошиваем Nano скетчем ArduinoISP, обратив внимание на скорость порта в функции setup, данная скорость будет использоваться непосредственно при прошивке Pro Mini в стандартном скетче ее значение равно 19200.
После того, как Nano будет подготовленна можем собирать breadboard, для прошивки Pro Mini по схеме указанной здесь http://arduino.cc/en/Tutorial/ArduinoISP.
То есть следующим образом:
Nano → Pro Mini
+5v → Vcc GND → GND D10 → RST D11 → D11 D12 → D12 D13 → D13 У меня получилось примерно так:
После того как все собрано и проверено можно подключить Nano к компьютеру, поморгав 7 раз обе платы готовы к работе.
Далее для прошивки нам необходимо убедиться, что при выставлении прошиваемой платы и программатора у нас используются одинаковые скорости порта, взяв за стандарт скорость из скетча. Для типа платы нужно найти файл boards.txt его путь относительно установленной программы IDE такой: Arduino/hardware/arduino/boards.txt. В нем нам нужно найти раздел параметров для платы Pro Mini выглядит она примерно так:
pro5v328.name=Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
У меня прошиваемая мини на 5 вольт с микроконтроллером ATmega328, если же у вас иная версия плата то вам нужно найти соответствующий вашей платы раздел.
Здесь необходимо убедиться что скорость выставлена верная:
pro5v328.upload.speed=19200
Затем зайдем в файл programmers.txt, его путь Arduino/hardware/arduino/programmers.txt и убедимся в верности параметров:
arduinoisp.name=Arduino as ISP arduinoisp.communication=serial arduinoisp.protocol=stk500v1 arduinoisp.speed=19200
После того как убедились, что все параметры верны можно запускать IDE, если она была запущена то перезапустить. Это необходимо для того чтобы вступили силу новые параметры.
После запуска IDE нам нужно выставить в меню «Инструменты» нашу прошиваемую плату и тип программатора «Arduino as ISP»:
Теперь у нас все готово для прошивки. Выбираем нужный скетч, для пробы можно выбрать любой из примеров. А теперь особое внимание уделю как прошивать, обычная кнопка для прошивки нам не подойдет так как она предназначена для прошивки стандартным программатором т.е. в Arduino Nano и при ее нажатии мы просто прошьем Nano, что нам обсолютно не нужно.
Верный путь прошить Pro Mini лежит в меню «Файл» и называется он «Загрузить с помощью программатора», у меня стоит версия IDE 1.5.6-r2 там этот пункт называется «Вгрузить через программатор», по всей видимости трудности перевода в этом релизе, в версии 1.0.5-r2 все в порядке.
С первого раза может не получиться прошить, да и в дальнейшем возможно будет вылетать ошибка такого вида:
Однако не стоит беспокоится, если все собрано верно и спаяно надежно то, достаточно нажать «Reset» на Pro Mini, подождать пару секунд и плата успешно прошъется.
Благодарю за внимание на этом все, пока.