Питание arduino pro mini. Прошивка Arduino Pro Mini через Nano

Не так давно столкнулся с необходимостью использования Arduino Pro Mini в своем проекте и сразу же встал вопрос как заливать в нее скетч. Конечно продаются различные переходники UART при помощи которых этот вопрос снимается быстро, но в тот момент такого переходника не оказалось под рукой.

То есть следующим образом:

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, подождать пару секунд и плата успешно прошъется.

Благодарю за внимание на этом все, пока.

После приобретения платы Ардуино Про Мини некоторые пользователи сталкиваются с проблемой прошивки, так как, чтобы прошить эту плату , необходимо купить ещё специальный программатор. В связи с этим, вы заинтересуетесь, как можно прошить плату без программатора? К счастью, сделать это достаточно просто. В этой статье подробно рассмотрим, как прошить или перепрошить Arduino Pro Mini. Давайте разбираться. Поехали!

Для перепрошивки вам понадобится Ардуино Uno. Первым делом нужно соединить GND с землёй, UCC - с плюсом, RXI и NX0 с такими же входами на Uno, а GRN - с reset. Лучше всего будет подать трёхвольтное напряжение. При подаче питания на плате загорится красный индикатор. Не забудьте предварительно достать из Uno контроллер ATMEGA.

Теперь необходимо подключить плату к компьютеру. Затем запустите на своём ПК Sketch. Находясь в главном окне утилиты, откройте меню «Файл» и нажмите на пункт «Примеры», далее наведите курсор на раздел «Basics» и в появившемся списке нажмите «Blink». После этого перейдите к верхней панели и откройте меню «Сервис». Выберите в нём пункт «Плата». В списке плат необходимо будет отметить строку «Arduino Pro Mini (5V, 16MHz) w/ATmega328» вместо той, что отмечена по умолчанию. Также не забудьте указать в настройках необходимый com-порт.

Затем нажмите кнопку «Загрузить» в программе. Как только в нижней строке появится слово «загрузка», нажмите на плате «reset». На экране вы увидите сообщение о том, что загрузка завершена. Готово. Перепрошивка успешно выполнена.

Теперь рассмотрим, как сделать то же самое, только через Nano. Откройте Sketch и перейдите в меню «Файл», выберите раздел «Образцы». В появившемся списке кликните по «ArduinoISP». Затем нужно зайти в «Инструменты», выбрать пункт «Плата» и отметить «Arduino Nano».

Выполните прошивку Nano с помощью скетча ArduinoISP. Проверьте скорость порта в функции setup. Именно такой будет скорость во время прошивки Pro Mini. В стандартном Sketch скорость равна 19200.

Подготовив Nano, приступайте к сборке breadboard, чтобы перепрошить Про Мини. Подключите +5V к Vcc, GND соедините с таким же входом, D10 с RST, а D11, D12 и D13 с аналогичными входами на Pro Mini.

Теперь необходимо подключить Nano к ПК. Прежде чем приступить к перепрошивке, убедитесь, что у вас используются равные скорости порта, ориентируясь на скорость из Sketch. Отыщите текстовый файл «boards» в папке «arduino». Открыв его, найдите строку:

pro5v328.name=Arduino Pro Mini (5V, 16 MHz) w/ ATmega328

Если вы используете другую версию , выберите соответствующую. Проверьте заданную скорость. Также следует проверить настройки в текстовом файле «programmers».

Если с настройками всё в порядке, запустите/перезапустите IDE. После этого перейдите в меню «Инструменты» и укажите плату, которую нужно прошить вместе с типом программатора «Arduino as ISP».

На следующем шаге нужно открыть раздел «Файл» и кликнуть по пункту «Вгрузить через программатор». Так же, как и в вышерассмотренном случае, необходимо нажать на плате кнопку «reset», чтобы успешно выполнить перепрошивку. Всё. Готово.

Теперь вы будете знать, как можно прошить или перепрошить Ардуино Pro Mini без специального программатора. Пишите в комментариях была ли полезной для вас эта статья, рассказывайте другим пользователям о своём опыте прошивки Ардуино, и задавайте любые интересующие вопросы по рассмотренной теме.

Arduino Pro Mini – это микроконтроллерный модуль на базе чипа ATmega328 . У него 14 цифровых I/O контактов (из которых 6 можно использовать для ШИМ ), 6 налоговых контактов , встроенный резонатор, кнопка сброса и отверстия для крепежа гребешков с контактами. Чтобы подать на модуль питание или организовать коммуникацию через USB , его 6-контактный гребешок можно подключить к FTDI -кабелю или макетной плате Sparkfun .

Модуль Arduino Pro Mini предназначен для полустационарного использования. У него нет предустановленных гребешков, что позволяет использовать разные типы коннекторов и припаивать провода напрямую.

Распиновка Arduino Pro Mini совместима с Arduino Mini .

Arduino Pro Mini предлагается в двух версиях. Одна работает на 3,3 вольтах и с частотой 8 МГц , а вторая – на 5 вольтах и с частотой 16 МГц .

Кроме того, Arduino Pro Mini была разработана и выпускается компанией Sparkfun Electronics . Информацию о гарантии можно почитать .

Входные и выходные контакты

Любой из 14 цифровых контактов Pro Mini можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode() , digitalWrite() и digitalRead() . Они оперируют на 3,3 и 5 вольтах (в зависимости от модели). Каждый контакт может получать/отдавать не более 40 миллиампер и оснащен встроенным подтягивающим резистором (по умолчанию отключен) номиналом 20-50 кОм .

Кроме того, некоторые контакты могут выполнять специальные функции:

  • Последовательная передача данных : 0-ой (RX) и 1-ый (TX) контакты. Используются для получения (RX ) и передачи (TX ) последовательных TTL -данных. Эти контакты подключены к контактам TX-0 и RX-1 на 6-контактном гребешке .
  • Внешние прерывания : 2-ой и 3-ий контакты. Эти контакты можно настроить на запуск прерывания при переключении на значение LOW , нарастающем/убывающем фронте импульса или изменении значения. Более подробно читайте в статье о функции attachInterrupt() .
  • ШИМ : 3-ий , 5-ый , 6-ой , 9-ый , 10-ый и 11-ый контакты. Эти контакты обеспечивают 8-битную ШИМ при помощи функции analogWrite() .
  • Интерфейс SPI : 10-ый (SS) , 11-ый (MOSI) , 12-ый (MISO) и 13-ый (SCK) контакты. Они поддерживают SPI -коммуникацию, обеспечиваемую оборудованием самой Arduino , но не языком Arduino .
  • Встроенный светодиод : 13-ый контакт . Это светодиод, по умолчанию встроенный в плату Arduino и управляемый 13-ым цифровым контактом . Если на этот контакт подано значение HIGH , то светодиод включится, а если LOW , то выключится.
  • Интерфейс I2C : A4 (SDA) и A5 (SCL) контакты. Они поддерживают TWI -коммуникацию (I2C -коммуникацию) при помощи библиотеки Wire .
  • Reset : если подать на эту линию LOW , это сбросит микроконтроллер. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, т.к. подключение «шилда» к плате блокирует кнопку сброса на самой плате.

Кроме того, модуль Arduino Pro Mini оснащен 8 входными аналоговыми контактами , каждый из которых имеет 10-битное разрешение (т.е. позволяют работать с данными в диапазоне от 1 до 1024 ). Четыре из них расположены на гребешках на краю модуля, а два (4-ый и 5-ый ) – в отверстиях во внутренней части модуля. По умолчанию вольтовой диапазон в них составляет от Vcc до GND .

Коммуникация

На Arduino Pro Mini есть множество средств для коммуникации с компьютером, а также другими платами Arduino и микроконтроллерами. Во-первых, чип ATmega328 может общаться через последовательную коммуникацию UART TTL , доступную на 0-ом (RX) и 1-ом (TX) цифровых контактах. В IDE Arduino есть монитор порта, позволяющий отправлять и получать через USB -соединение текстовые данные – как от самой платы, так и на нее.

Для последовательной коммуникации через любой из цифровых контактов Arduino Pro Mini используйте библиотеку SoftwareSerial . Чип ATmega328 также поддерживает коммуникацию через интерфейсы I2C (TWI) и SPI . Чтобы упростить использование шины I2C , IDE Arduino использует библиотеку Wire ; подробнее о ней читайте . Перед использованием интерфейса SPI ознакомьтесь, пожалуйста, с «даташитом» ATmega328 .

Программирование

Модуль Arduino Pro Mini можно программировать через

Если вы хотите загрузить на Arduino Pro Mini новый скетч, для этого необязательно нажимать кнопку сброса вручную. Эта модель устроена таким образом, что позволяет выполнить сброс при помощи ПО , которое запущено на компьютере, подключенном к Arduino . Один из шести контактов на 6-контактном гребешке подключен (через 100-нанофарадный конденсатор ) к линии сброса ATmega328 . Этот контакт подключается к одной из аппаратных линий конвертера USB-Serial , отвечающих за управление потоками и подключенных к гребешку: при использовании FTDI -кабеля это RTS , при использовании макетной платы Sparkfun это DTR . Когда эта линия получает значение LOW , значение на линии RESET падает настолько, что этого хватает для сброса чипа.

IDE Arduino использует эту возможность, чтобы позволить вам загружать код простым нажатием на кнопку загрузки, находящуюся на панели инструментов. Это значит, что у загрузчика будет более короткий таймаут, поскольку передачу на Reset -линию значения LOW можно привязать к началу загрузки.

Эта система влияет на работу Pro Mini и в другом. Когда Pro Mini подключена к компьютеру на Mac OS X или Linux , то сбрасывается каждый раз при настройке соединения между нею и программой (через USB ). Следующие полсекунды на Pro Mini выполняется запуск загрузчика. Хотя Pro Mini запрограммирована на игнорирование дефектных данных (то есть всего, что не имеет отношение к загрузке нового кода), она все же перехватит несколько байт, отправленных ей после открытия соединения.

Таким образом, если первом запуске скетча плата получает разовую конфигурацию или другие данные, сделайте так, чтобы программа, с которой он коммуницирует, перед отправкой этих данных подождала примерно секунду.

Физические характеристики

Размеры Arduino Pro Mini составляют примерно 1,77 на 3,3 см .

Загрузить прошивку на этот микроконтроллер можно несколькими способами:

  • Через другую плату ардуино, у которой есть встроенный USB-UART
  • С помощью специального программатора
  • Используя USBasp-программатор

Последние два способа очень похожи. Они отличаются лишь типом программатора. Поэтому в этой статье мы рассмотрим только прошивку с помощью другой Arduino и с помощью специального программатора.

Прошивка ардуино про мини с помощью Arduino Uno или Nano

Для того что бы прошить одну ардуинку через другую, нам понадобятся 2 платы Arduino, соединительные провода, USB кабель и компьютер. Я покажу как прошить Arduino Pro Mini с помощью Arduino Nano, но по этой же инструкции можно использовать и другие платы Arduino, такие как Uno, Mega и тд.

Для начала надо настроить нашу плату, которая будет выступать в роли программатора. Для этого подключим ее к USB компьютера и перейдем в Arduino IDE. В примерах уже есть готовый скетч, написанный специально для этой цели.

Выбираем этот скетч и прошиваем. Теперь мы готовы подключать Arduino Pro Mini. Подключаем следующим образом:

Arduino Nano -> Arduino Pro Mini

  • +5v -> Vcc
  • GND -> GND
  • D10 -> RST
  • D11 -> D11
  • D12 -> D12
  • D13 -> D13

У меня это выглядит так:



Теперь мы можем прошить нашу Arduino Pro Mini. Откройте или напишите нужную вам прошивку. Будьте внимательны! Стандартная кнопка загрузки скетча нам не подходит. По умолчанию она заливает прошивку без использования программатора. Таким образом мы прошьем микроконтроллер, который должен выступать в качестве программатора. Чтобы этого не произошло нужно перейти в меню Скетч >> .

Прошивка Arduino Pro Mini с помощью специального программатора

Купить специальный программатор можно . Стоит он меньше одного доллара. Если вы часто используете ардуино про мини, то этот программатор сильно упростит и ускорит прошивку.

Для преобразования USB-to-Serial используется микросхема CH340. Что бы она определялась компьютером правильно необходимо установить специальный драйвер.

Прошить ардуино с помощью программатора очень просто. Нужно подключить программатор к Arduino Pro Mini следующим образом:

Arduino Программатор

  • Vcc Vcc
  • GND GND
  • RX1 TXD
  • TX0 RXD

Подключаем программатор к компьютеру и проверяем, что он не требует драйверов. Если же он определяется как «неопознанное устройство» скачайте и установите драйвер. Его легко найти, набрав в поисковике «*модель вашего программатора* драйвер». Например «CP2102 драйвер». Далее запускаем Arduino IDE. Выбираете модель вашей платы. Потом переходим в меню Инструменты -> Программатор и выбираете ваш программатор. Далее открываете нужный вам скетч и загружаете его с помощью пункта в меню Скетч -> Загрузить через программатор .

Если ваш программатор не поддерживает программный сброс, то вам придется вручную нажать кнопку перезагрузки на вашей Arduino Pro Mini в момент компиляции скетча. Это нужно сделать сразу как только в Arduino IDE появится строка, что скетч скомпилирован.

Вот и все. Мы успешно прошили Arduino Pro Mini с помощью программатора.

Обзор Arduino Pro Mini

Arduino – это не только плата Arduino Uno, а целое семейство плат, которые различаются возможностями и функционалом. Arduino Pro Mini (рис. 1) – одна из самых миниатюрных плат. Она может использоваться для установки в готовые изделия.

Рисунок 1.

Размеры платы 33х18 мм, что гораздо меньше размеров остальных плат Arduino (см. рис. 2).


Рисунок 2.

Назначение контактов и количество Arduino Pro Mini идентично плате Arduino Nano, совпадает и расположение контактов (исключение выводы A4-A7).

Миниатиризация платы достигнуты благодаря отсутствию на ней USB-UART конвертера и USB выхода, присутствует самое необходимое – микроконтроллер, кварцевый резонатор, конденсаторы, светодиоды, стабилизатор напряжения. Поэтому для подключения платы к компьютеру, а также для загрузки скетчей из Arduino IDE, надо использовать внешний USB-UART.

На данный момент выпускается несколько вариантов платы Arduino Pro Mini. Платы выпускаются с на контроллере Atmega 168/328, работают от питания 3.3 или 5В на тактовой частоте 8 или 16 МГц.

Технические характеристики Arduino Pro Mini

    Микроконтроллер – ATmega168/328;

    Рабочее напряжение – 3.3В/5В;

    Напряжение питания – 3.35-12В/5 - 12В;

    Цифровые входы/выходы – 14;

    Аналоговые входы – 8;

    Flash-память – 16/32 КБт;

    SRAM – 1/2 КБт;

    EEPROM – 512/1024 байт;

    Тактовая частота – 8/16 МГц;

    Размеры – 33х18 мм;

    Вес – 5 г.

Подключение к компьютеру

Для подключения платы к компьютеру используют внешний USB-UART конвертер. Подключение по схеме представленной на рис. 3.


Рисунок 3.

Компьютер определяет USB-UART конвертер как COM порт, его и выбираем в настройках Инструменты à Порт. В меню Инструменты → Плата выбираем Arduino Pro Mini, и загружаем необходимый скетч на плату (рис. 4).

У очень многих конвертеров отсутствует вывод DTR. В этом случае при каждой загрузке скетча в Arduino необходим в начале загрузки (сразу после окончания компиляции) нажать на кнопку Reset, это требует определенного навыка и не всегда получается.


Рисунок 4.

Использование USB-UART конвертера – это не единственный способ загрузки скетчей на плату Arduino Pro Mini.


Рисунок 5. Схема в сборе

Загрузка скетчей через SPI интерфейс

Интерфейс SPI присутствует на всех платах Arduino. Используются контакты D10-D13 (D50-D53 на Arduino Mega), которые на многих платах продублированы на шестиконтактной колодке ICSP. Колодка располагается в правой части Arduino (см. рис. 6).


Рисунок 6.

Сначала необходимо на плату Arduino (например Arduino Uno) загрузить скетч Файл → Образцы → ArduinoISP (рис. 7). Ее мы будем использовать в качестве программатора.



Схема соединений показана на рис. 8.


Рисунок 8.

В Arduino IDE открываем необходимый скетч. Выбираем в меню Инструменты à Arduino Pro Or Pro Mini, порта подключения и программатора (Arduino as ISP). И теперь внимание!!! Метод загрузки нажатием на кнопку Загрузить не подходит, потому что при этом скетч будет загружен на первую плату, которая выступает в качестве программатора. Чтобы этого не произошло, загружаем через пункт меню Эскиз → Загрузить через программатор (рис. 9).


Рисунок 9.


Загрузка скетчей на Arduino Pro Mini через плату Arduino Uno

Еще один способ загрузки скетчей на Arduino Pro Mini – это использование платы Arduino Uno, в которой используется микроконтроллер ATmega328 в DIP-корпусе. ATmega328 необходимо аккуратно извлечь и на плате останется переходник USB-UART, который подсоединим 5 проводами к плате Arduino Pro Mini согласно таблице 2.



Теперь подключаем Arduino Uno к компьютеру. Выбираем в настройках необходимый порт, плату (Инструменты → Arduino Pro Or Pro Mini ) и загружаем скетч.


Часто задаваемые вопросы

1. Ошибка загрузки скетча на плату при подключении через конвертер USB-Serial.

    Проверьте правильность подключения платы Arduino Pro Mini конвертеру USB-Serial.

    Если у конвертера отсутствует контакт DTR, после компиляции скетча до загрузки, нажмите кнопку RESET на плате Arduino Pro Mini.

2. Ошибка загрузки скетча на плату при подключении интерфейсу SPI.

  • Проверьте правильность подключения платы Arduino Pro Mini согласно табл. 1.

3. Ошибка загрузки скетча на плату при подключении через Arduino Uno.

  • Проверьте правильность подключения платы Arduino Pro Mini согласно табл. 2.