Как запрограммировать Arduino Pro Mini с помощью программатора

Несколько способов прошивки Arduino и решение проблем, связанных с этим





Вы скачали драйвер, установили, но ардуино все равно не шьется. Проблема может быть как и с завода, так и по вине пользователя, это не суть важно. Что делаем. Переходим ко второму способу.




Но на всякий прикрепляю дрова для CP2102

Особенности.

Программатор требует установки драйверов, проблем с этим не у меня, не у других замечено не было, просто ставьте драйвер на CP2102, либо тот, который предлагает производитель.

Это обычный USBasp, самый распространённый программатор AVR микроконтроллеров. Стоит на али те же копейки.

Особенности

Программатор имеет стандартный 10-ти контактный разъем, однако в комплекте можно купить переходник на 6-ти контактный. Его конечно можно изготовить и самому или подключить просто проводами, однако так значительно проще и удобнее.

Прошивка осуществляется не стандартным способом. Для начала идем в Инструменты>Программатор>USBasp

Далее Скетч/Загрузить через программатор.

Как и говорил, тут я описываю проблемы, с которыми столкнулся я. Этот программатор так же требует драйверов. Найти их не сложно. Однако связываясь с китайцами с целью экономии, нужно быть готовым к неожиданным поворотам. Лично я, при работе с этим программатором, столкнулся со следующей проблемой, которую когда-то описывал на радиокоте:

Над решением беды бился долго, и нашел лишь на забугорных форумах. И так:

1)По следующей ссылке скачиваем архив LibUSB-64bit.zip
2)Подключаем программатор к USB порту.
3)Распаковываем архив и переходим по пути куда распаковалиLibUSB-64bitlibusb-win32-bin-1.2.1.0binx86
4) Запускаем inf-wizard.exe
5)Жмем Next
6)Выбираем USBasp и жмем Next
7)Следующие поля заполняем таким образом:

vendor ID (hex format) = 0x16C0
product ID (hex format) = 0x05DC
mi (hex format) = оставить пустым
manufacturer name = VOTI
device name = USBasp

8 )Сохраняем сгенерированный файл по пути:
LibUSB-64bitlibusb-win32-bin-1.2.1.0binamd64 — если у вас 64-х разрядная система или
LibUSB-64bitlibusb-win32-bin-1.2.1.0binx86 — если 32-х разрядная

9)Жмем install now
10) Система уведомит, что драйвер не из проверенных источников. Жмем «Все равно установить»
11)Начнется установка драйвера. В процессе установки услышим звук отключения и подключения USB устройства. По окончанию установки жмем ОК.

Ещё несколько советов

Если на выводах RX и TX висит какое-то исполняющее устройство — ардуинка не прошьется. Сначала прошивайте, потом подключайте на эти выводы необходимое устройство.

На этом все, Надеюсь информация будет кому-то полезна.
Всем удачи в творчестве!

Мы купили Arduino Pro Mini, что делать дальше?

Когда меня спрашивают: «Хочу научится программировать микроконтроллеры, с чего начать, что купить?», то с моей точки зрения ответ однозначен: «Покупаем Arduino Pro Mini и пробуем, если все получается — переходим к более сложным вещам».

Что такое Ардуино

Несмотря на название раздела не буду рассказывать, что такое Ардуино и откуда оно взялось, так как привел в свое время неплохую статью об этом — www.drive2.ru/b/2520138/ . Просто вспомним, что под понятием Ардуино обычно понимают совокупность трех вещей: платы или платформы Arduino (в данном случае Arduino Pro Mini), среды разработки Arduino IDE и языка программирования C++ с набором специальных библиотек. Любую из этих трех вещей мы можем подменить на аналог, но об этом мы поговорим позже. А пока просто скачаем Arduino IDE с официального сайта — www.arduino.cc/en/Main/Software и установим его на компьютер.

Что же мы купили?

Если мы все купили правильно, то перед собой мы увидим две платки

Верхняя плата — это собственно и есть Arduino Pro Mini, нижняя — USB-UART / USB-TTL конвертер
Последний может выглядеть не так, как на фото, а иметь вид готового кабеля.

(Лично я советовал бы выбрать первый вариант, но это как говорится на вкус и цвет …)

Теперь о плате/платформе Arduino Pro Mini: Конструктивно она представляет собой плату с распаянным на ней микроконтролером, кнопкой RESET, микросхемой питания и прочей, не существенной для нас на данном этапе, периферией.
Существует две версии Pro Mini: одна работает от 3.3В при частоте 8 МГц, другая — от 5В при 16 МГц. В основе платы лежит микроконтроллер Atmega 168 или Atmega 328 — отличие между ними заключается в объеме внутрисистемно программируемой Flash памяти — 16 или 32 кБайта. Это так называемая «память программ», т.е. память в которую будет записана программа и содержимое ее не будет изменятся в процессе работы. Напомню, что Atmega построен по так называемой Гарвардской архитектуре (www.drive2.ru/b/2506495/) в которой «память программ» и «память данных» реализованы отдельно, для большего быстродействия и надежности. «Память данных» делится на 2 части: оперативную SRAM, которая что у 168, что у 328 составляет 1 Кб, и постоянную EEPROM (Electrically Erasable Programmable Read-Only Memory) объемом 512 байт, данные из которой не «теряются» при отключении питания.
В зависимости от исполнения на плате может быть 30, 32 или 34 вывода (PIN). На картинке ниже показана»максимальный» 34 пиновый вариант

Посмотрели? Страшно? Давайте разберемся что где.
GND — это у нас выводы куда подключается «земляные» провода, т.е. приходит/выводится «-» питания
VCC — плюсовые выводы для питания платы напряжением 5В (иногда 3,3В). Таке этот вывод моно использовать для подачу «наружу» опорного напряжение для цифровых входов.
RAW — вывод используется, если у нас нет стабилизированного напряжения 5В, но есть постоянное в диапазоне от 7 до 12В. Иногда указывают максимальное значение 30В — т.е. то напряжение которое микросхема питания может выдержать непродолжительное время не перегреваясь.
Помним, что в автомобиле диапазон напряжений от 12 до 15,5В, поэтому подключать RAW к «+» авто напрямую нельзя и нужно собрать схему по питанию следующего вида:

В принципе, заменив микросхему 7812 на 7805, можно питать Pro Mini и через вывод VCC

TXD и RXD — выводы UART/USART — www.drive2.ru/b/2602560/
RST — он же RESET — в мануале написано насчет него написано следующее «низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino». На деле это означает что когда этот вывод подключается к земле, происходит перезапуск (сброс) Arduino Pro Mini.
Выводы обозначенные на плате цифрами с 2 до 13 — цифровые выводы (Обязательно читаем — www.drive2.ru/b/2528993/), могут настраиваться как вход или выход. Выводы работают при напряжении 3,3 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Они могут выводить значения только высокого (3,3В или 5В в зависимости от версии) или низкого (0В) уровня. Некоторое из них обозначенные на схеме выше как PWM могут выводить ШИМ сигнал (www.drive2.ru/b/2558797/) с разрешением 8 бит (от 0 до 255)
Выводы А0-А7 — аналоговые входы с 10 битным АЦП (www.drive2.ru/b/2558839/). В зависимости от исполнения платы их может быть от 4 до 8. Эти выводы могут также работать как цифровые.
DTR (Data Terminal Ready) — Готовность приемника данных.

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

Подключаемся

Схема подключения достаточно простая и ошибиться достаточно сложно

Единственное что посоветую использовать не идущие в комплекте провода, а купить разъем питания на 6 контактов с шагом контактов 2,54мм. Он называется NS25 — 2,54 мм и такой же на 5 контактов для подключения к USB-UART / USB-TTL конвертеру.

После подключения у меня получилось так

Можно выпаять гребенку на конвертере и припаяться проводами непосредственно к плате — это позволит отказаться от одного из разьемных соединений и защитить конвертер, одев на него термоусадку.

Как видно используется только по 4 провода — это связано с тем, что у меня на обоих конвертерах нет вывода DTR

Что такое DTR и что делать если его нет?

Данный вывод предназначен для того, чтобы USB-serial контроллер Arduino перезагружал МК каждый раз, когда терминальная программа (в т.ч. Serial monitor, встроенный в ПО Arduino IDE) устанавливает соединение. Реализовано это следующим образом: у USB-serial контроллера вывод DTR (Data Terminal Ready) связан с выводом RESET. Если программа, работающая с виртуальным последовательным портом, использует DTR, то при установке соединения МК перезагружается.
Само по себе это обеспечивает беспроблемную загрузку скетча из Arduino IDE — МК перезагружается перед загрузкой кода. В этом смысле автоматическая перезагрузка облегчает жизнь. Кроме того, перезагрузка при подключении терминала тоже может оказаться удобной, т.к. довольно много скетчей выводят какую-то полезную информацию через последовательный порт, при этом скетч выполняется сразу после загрузки в МК, когда терминал еще не подключен (т.к. недавно порт был занят), так что увидеть вывод скетча в первые секунды его работы было бы нельзя. Перезагрузка в момент подключения терминала позволяет получить весь вывод, начиная с момента загрузки МК.
В случае, если этот вывод отсутствует, то у нас есть 3 варианта
1) Купить другой конвертер :)
2) Распаять вывод самому. (Как это сделать написано здесь — new-tech.in.ua/tips/109-usb-uart-converter)
3) Отправлять на перезагрузку вручную при помощи кнопки RESET расположенной на плате — об этом ниже.

Читайте также  Как сшить одеяло из синтепона

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

Я не буду рассказывать как устанавливать драйвера конвертера и Arduino IDE — все достаточно стандартно.
Если все сделали правильно, то при подключении конвертера в системе появится виртуальный СОМ — порт. Это легко увидеть:

На правой картинке появляется дополнительный порт СОМ10 (у вас номер может быть другим) — его нужно выбрать, клацнув по нему мышкой.
Далее проверяем правильность указания платы, программатора — все должно быть как на картинке выше.
Указываем микроконтроллер 168 или 328, 5В или 3,3В

Почувствуем себя программистами

Попробуем залить простейшую программу. Для этого воспользуемся библиотекой примеров и тем, что у нас на самой плате на 13 выводе припаян светодиод. Скорее всего программа мигания этим светодиодом будет загружена в качестве тестовой, но мы все равно загрузим свою :). Находится этот пример тут:

//Процедура инициализации
void setup() <
// инициализируем вывод 13 на вывод.
pinMode(13, OUTPUT);
>

// Основное тело программы
void loop() <
digitalWrite(13, HIGH); // включаем светодиод (Подаем сигнал высокого уровня на вывод 13)
delay(500); // ждем 500 милисекунд (в стандартном примере 1000, что означает одну секунду)
digitalWrite(13, LOW); // выключаем светодиод (Подаем сигнал низкого уровня на вывод 13)
delay(500); // ждем 500 милисекунд после чего идем опять в начало основной программы
>

Данная программа будет выполняться по кругу пока включен микроконтроллер.

«Заливаем» программу

Тут все просто — нажимаем на кнопочку «вгрузить»

Если вывод DTR не подключен, то нажимаем на плате кнопку RESET и не отпускаем пока внизу окна Arduino IDE не появится надпись «вгружаем» — этот момент важно не пропустить, иначе микроконтроллер не будет своевременно перезагружен и заливка программы не состоится. Если DTR подключен, то просто ждем

Если все мы сделали правильно, то вскоре мы увидим надпись «вгрузили» и светодиод начнет мигать с периодом 0,5с.

Как прошить Arduino Pro Mini

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

  • Через другую плату ардуино, у которой есть встроенный 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 Nano

Далее нам нужно выставить в меню «Инструменты» нашу прошиваемую плату и тип программатора «Arduino as ISP»:

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

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

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

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

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

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

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

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

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

3 комментариев

в меню Инструменты -> Программатор и выбираете ваш программатор

Как узнать какой ваш программатор? Например если просто преобразователь ch340 или тот же ср2102, что выбирать там вариантов всего два, остальные все специфичные

программатор Arduino as ISP

Некоторые Pro Mini 328 при описанном подключении не будут прошиваться и реагировать на ресет.
А при таком будут
Pro Mini 328
DTR
TXD
RXI
VCC
GND -НЕ ПОДКЛЮЧАТЬ
GND

Если и при этом не прошивается и не реагирует на ресет то зажисаете ресет и держите до появления в ардуино коричневых надписей и потом отпускаете.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Arduino.ru

Pro mini — через какой программатор проще заливать?

Посоветуйте какой программатор лучше купить.

Так намаелся с Pro mini.

Потом еще 1 купил, после еще 1. В итогде ниодин так и не залил в Pro mini.

Всегда появляется ошибка:

avrdude: stk500_getsync(): not in sync: resp=0x00

Я уже и reset зажимал при загрузке как предлогают некоторые и скорость менял. Ничего не получается.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

так это не программаторы а конвертеры usb -UART

а вы хоть драйвера ставили? проверяли отправляя что нибдуь в UART и замкнув RX-TX?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Драйвера ставил. Компьютер определяет эту железку и дает ей порт. Так же менял местами RX-TX как некоторые советуют.

По поводу: проверяли отправляя что нибдуь в UART и замкнув RX-TX?

Не совсем вас понял? Нужно попробовать залить подобный код и посмотреть то он выводит в консоли?

Заливал, ничего не появляется.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

нет просто вокнуть в usb, запустить иде, выбрать нужный порт, замкнуть rx-tx на переходнике (к ардуине не подцеплять), открыть терминал ардуины и что нибудь отправлять. и то что вы отправили должно обратно прийти

тогда можно быть уверенным что переходник работает

так вы пишите заливал ничего не приходит. как заливали??)))

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Замкнул RT-TX и попробовал загрузить тот код которых показывал выше в этой теме.

Читайте также  Как отключить рекламу на МТС

Появляется та же ошибка. Разница только в том что сейчас моркнула не только TXD но и RXD лампочка — 3 раза.

В чем может быть проблема в таком случае?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

прочитайте что я вам написал и сделайте так. без отсебятины

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Нажимать ресет на ProMini бесполезно: либо делайте аппаратный ресет, либо одно из двух. Можно еще попробовать прошивать через программатор USB ASP.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

а вы хоть драйвера ставили? проверяли отправляя что нибдуь в UART и замкнув RX-TX?

Да при чем тут «драйвера», если давно известно, что у CP2102 не тот ресет выведен на гребенку? В интернете — куча статей, правда в основном на английском.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

И почему у меня Arduino Pro mini все четыре с разными USB-COM все прошиваются?

Что я делаю не так?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

а вы хоть драйвера ставили? проверяли отправляя что нибдуь в UART и замкнув RX-TX?

Да при чем тут «драйвера», если давно известно, что у CP2102 не тот ресет выведен на гребенку? В интернете — куча статей, правда в основном на английском.

вы как первый раз на форуме. все возможно

как недавно было управляет человек чем-то, а не работает толком. долго долго выясняли проблему, оказалось земли не соеденил ардуины и устройства

как бы не банально было, но лучше сразу удостоверится что переходник рабочий

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

успешно, доволен. Переходник 10-6 спаял сам.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

прочитайте что я вам написал и сделайте так. без отсебятины

Понял вас. Нажал на кнопочку с лупой. Когда пишу там текст и нажимаю Enter он появляется ниже.

Если RXD, TXD не замкнуть то текст не появляется.

Значит железка рабочая?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Andrey_Y_Ostan, огромное спасибо за ссылку. Подключил RESET к DTR. И все заработало! Спасибо.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

И почему у меня Arduino Pro mini все четыре с разными USB-COM все прошиваются?

Я сказал что надо сделать, если не работает. :)

Если у Вас все работает, и Вы с подобной проблемой не сталкивались — кого интересует такой «опыт»?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

чужую прошивку hex надо зашить в

Arduino Pro Mini имея только кнопку reset

на cp2102 можете не предлагать резет напаивать

если бы эти два положительных всплеcка с CP2102 c угловой 28-ноги DTR могли резет в минус затянуть я бы вопросы не задавал

а транзисторами этот чужой косяк обвязывать как-то лень

раз прошивка то достал старый avrdude

жму тискаю резет не могу попасть

может я где в коде накосячил?

ну понятно что чип у меня не m328p а что-нибудь этакое m328 хотя думаю это не важно

под лупой смотрю аналог Arduino Pro Mini ATmega328p

значит полное совпадение по чипу с Arduino Uno R3 ATmega328p

только что проверил на Arduino Uno R3 ATmega328p

тольк что проверил ArduinoIDE blink зашить в ArduinoProMini через CP2102 нажимая reset кнопочку изолированной ручкой отвертки

заметил что наводка от рук голову морчит

Кто чем прошивки сразу зашивает?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

usbasp и сразу напрямую. врядли вас устроит такое

а вообще можете это почитать

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

cp2102 я заменил

из оболочки все шьется по другой цепочки usb-atmega16u2-arduino_pro_mini на ура

теоретически ведь все равно все шьет avrdude

просто строчка синтаксически неверна

апряму по короткому пути

или как оболочке ArduinoIDE подсунуть перед прошивокй другую чужую прошивку

какой у arduino pro mino 0x??

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

это устаревшая инфа. сейчас уже про мини идут только на 328 атмеге в двух вариантах обвязки — 3.3в и 5в.

тольк что проверил ArduinoIDE blink зашить в ArduinoProMini через CP2102 нажимая reset кнопочку изолированной ручкой отвертки заметил что наводка от рук голову морчит

всё потому что нужно сразу делать по уму. резет не выцеливать отверткой а хотябы на бредборде завести кнопку на резет и жать ее в момент когда ардуиновская софтина переходит от «комплилирования» к «загрузка».

еще как вариант- купить хотябы нано и скетчи тестировать на ней, а готовый проект уже заливать в мини про.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

постарайтесь почитать внимательней

не шьется напрямую чужой hex

с ArduinoIDE родное все шьется на ура с любыми прокладками сейчас через более стабильную ArduinoUnoR3 мы хоть понимаем о чем я.

чип все таки m328p оказывается

программатор я склоняюс что avrispmkII Atmel AVR ISP mkII (alias for stk500v2)

пишу stk500v2

скорость путем проверки своим кодом вижу прекрасный обмен на 115200 пишу 115200

что за новомодная хрень -P -D :iВойдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

c -P\.COM24 вроде косяка нет

но пример -P usb:xx

на Uno как угодно все ото всюду шьется

из под ArduinioIDE тоже все везде шьется

а вот комбинация avrdude именно ArduinoProMini именно командной строкой что под версиями 5 что под последней 5.11 любой hex не шьется

xm avrdude разные и конфигурации разные

понятно гадать командную строку можно долго

прилагаемые pdf-ки все устарели смотрю по видимому их давно уже никто не читает

Интересно, а как официально Arduino Pro Mini загрузчик шьется каким железом?

Неужели по старинке в lpt колодочку с кварцем и кандерами паять? Неужели без паяния нет варианта.

пойти поспать что-ли

паять ночью никакого интереса

нате вам чудо программерскую связку

эту загогулину Arduino IDE через avrdude шьетк как угодно

а вот какая правильная коммандна строка

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

а вот комбинация avrdude именно ArduinoProMini именно командной строкой что под версиями 5 что под последней 5.11 любой hex не шьется

У меня — шьется. Что я делаю не так — описано в ссылке на inet-deal, которую я давал выше. :)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

а вот комбинация avrdude именно ArduinoProMini именно командной строкой что под версиями 5 что под последней 5.11 любой hex не шьется

У меня — шьется. Что я делаю не так — описано в ссылке на inet-deal, которую я давал выше. :)

ну почитайте внимательней меня

» на cp2102 можете не предлагать резет напаивать

если бы эти два положительных всплеcка с CP2102 c угловой 28-ноги DTR могли резет в минус затянуть я бы вопросы не задавал «

в последенее фото видели

нет у меня проблемы с резетами на Arduino Uno R3 белую ногу резета на Ardiono Pro Mini видите? не в этом дело

еще раз повторяю

Arduino IDE прекрасно автоматически шьет Arduino Pro Mini исходный код и какой-то неведомой командной строкой avrdude . c:users. . tmpBlink.cpp.hex

я сижу угадываю синтаксис для Arduino Pro Mini

вы попробуйте hex зашить подручными средствами

у вас Arduino Pro Mini есть сейчас под рукой

попробуйте зашить http://yadi.sk/d/QCRr-W_-SMJXz мой вчерашний 20140604.hex для ATmega328

и вы мне скажете какой строрчкой она вас в порт пригласила

я скажу что это за устройство

очень вам скажу редкое устройство и с перспективой

код просто произведения исскуства

я удивляюсь как они такой парсер в ATmega328 всунули

интересно пойти дальше и в 2$ Arduino Pro Mini с тем же чипом ATmega328 засунуть

из за оптимизации на С пришлос от Adruino IDE отказаться потому все исскуссто на грани возможного

Atmel понятно будет только наращивать количество памяти и эти проблемы в очередной раз отодвинутся

Ранньше что у нас было ATmega8 (m8) а теперь смотрю на 2$ платке Arduino Pro Mini ATmega328 и тут косяк на ровном месте

Читайте также  Как передаются гарднереллы

почему это все прекрасно на UNO и стопор на Mini

Arduino Pro Mini – распиновка и подключение

Описание платы

Свойства arduino pro mini аналогичны, как и у платы Ардуино Уно и Нано. Их отличие заключается в невозможности прошить Pro Mini по USB-UART. Вместо этого для создания связи с компьютером используется проводник FTDI с преобразователем интерфейса или дополнительная плата Sparkfun. Также есть отличия по скорости, с которой работает чип. У arduino про мини скорость ниже, чем у Ардуино уно, но это практически не сказывается на проектах.

Работать с Ардуино про мини нужно аккуратно. Если пользователь сожжет чип, подав на него чрезмерное напряжение, его будет невозможно вытащить и заменить.

Разъемы не припаяны к платформе. Произвести подключение можно как через разъемы, так и навесным монтажом. Ножки можно припаять.

Существует 2 модели микроконтроллера arduino pro mini – на 3,3 В и 5 В. В первой используется тактовая частота 8 МГц, вторая работает на 16 МГц. Какая именно это модель, должно быть указано на корпусе.

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

Технические характеристики микроконтроллера arduino pro mini:

  • Рабочее напряжение 3,3 В и 5 В (в зависимости от модели);
  • 14 пинов, 6 из которых используются как выводы ШИМ;
  • Постоянный ток для входа и выхода 40 мА;
  • Суммарный ток выводов – не более 200 мА;
  • 16 Кб флэш памяти, 2 Кб используются для загрузчика;
  • 1 Кб оперативной памяти;
  • 512 байт eeprom;
  • Тактовая частота – 8 МГц или 16 МГц в зависимости от модели;
  • I2c интерфейс;
  • Размеры платы 18х33 мм.

Питание можно подавать тремя способами:

  • Через переходник FTDI;
  • При подаче стабилизированного напряжения на контакт Vcc;
  • При подаче напряжения на контакт RAW.

Какие проекты можно реализовать на базе Ардуино Про Мини:

  • Управляемые конструкции для квадрокоптера;
  • Таймер;
  • Устройство для анализа влажности почвы;
  • Автоматический полив растений;
  • Устройство для измерения осадков и скорости ветра;
  • Автоматизация аквариума.

И многие другие проекты для дома и дачи.

Схема и распиновка Pro Mini

Принципиальная схема платы Ардуино изображена ниже.

Схема и распиновка Pro Mini

Пинов у микроконтроллера 14, каждый из которых может настраиваться как вход или выход. Выводы помечены цифровым номером, аналоговые имеют маркировку А. Рабочее напряжение – 3,3 В или 5 В.

  • Последовательная шина – 0 и 1 (RX, TX). Предназначены для приема и передачи данных.
  • Внешнее прерывание – 2 и 3. Могут использоваться для вызова прерывания.
  • ШИМ выводы – 3, 5, 6, 9, 10, 11.
  • SPI – 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
  • Светодиодный индикатор – 13.

6 аналоговых контактов имеют разрешение 10 бит. Некоторые выводы имеют дополнительный функционал:

  • I2C – A4 (SDA), A5 (SCL).

Также плата оснащена дополнительным выводом Reset. При низком уровне перезагружает микроконтроллер.

Прошивка arduino pro mini

Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:

  • Через адаптер USB в TTL;
  • Через Ардуино Уно;
  • Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру.

Самым простым методом является первый.

Прошивка через адаптер USB в TTL

В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки.

Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.

Затем нужно запустить среду разработки Adruino IDE, выбрать нужную плату и номер порта и загрузить микропрограмму. Это делается следующим образом:

  • Нажать «Загрузить»;
  • Затем начнется компиляция – появится надпись «Компиляция скетча»;
  • После появление надписи «Загружаем» нужно нажать на плате кнопку Reset (в переходниках с RST или DTR нажимать кнопку не нужно).

Важно! Нажатие на Reset должно быть кратковременным.

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

Прошивка через Ардуино Уно

Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер. Важно делать все действия внимательно, чтобы не погнуть ножки процессора.

Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.

После подключения можно начать стандартную загрузку скетча через Arduino IDE.

Прошивка через SPI интерфейс

Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:

  • Прошивка микроконтроллера Ардуино Уно как ISP программатора;
  • Настройка среды разработки и загрузка кода в Arduino Pro Mini.

Алгоритм проведения первого этапа:

  • Запуск среды разработки Arduino IDE;
  • Открытие «Файл» – «Примеры» – «11. ArduinoISP» – «ArduinoISP»;
  • Далее «Инструменты» – «Плата» – «Ардуино уно»;
  • «Инструменты» – «Порт», и выбирается нужный номер COM порта;
  • Далее нужно произвести компиляцию и загрузить код в Ардуино Уно.

Затем обе платы нужно соединить проводниками по приведенной схеме: 5V – VCC, GND – GND, MOSI (11) – MOSI (11), MISO (12) – MISO (12), SCK (13) – SCK (13).

Теперь нужно настроить Arduino IDE для Arduino Pro Mini. Это делается следующим образом:

  • «Инструменты» – «Плата» – выбор нужной платы Arduino Pro Mini;
  • В том же меню выбирается «Процессор» – выбор соответствующего процессора с нужной тактовой частотой;
  • Затем нужно установить порт, к которому подключена плата;
  • «Инструменты» – «Программатор» – Arduino as ISP;
  • Затем нужно загрузить скетч через программатор.

Важно отметить, что загрузка кода должна происходить через специальное меню «загрузить через программатор». Здесь можно запутаться, потому такой способ и неудобен. Загрузка обычным способом приведет тому, что код зальется в Ардуино Уно.

После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик».

Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы.

Программирование на Ардуино про мини

Используется стандартная среда разработки Arduino IDE. После того как устройство подключено к компьютеру, нужно правильно выбрать плату в списке. Главное не перепутать Ардуино на 3,3 В и на 5 В. Какая именно используется, должно быть написано на корпусе.

В пункте Serial Port выбирается нужный порт, к которому подключена плата. Затем можно загружать на плату программу, путем нажатия на кнопку Upload.

Загрузка может длиться долго и в итоге выдать ошибку. Чтобы ее избежать, во время заливки скетча нужно нажать кнопку reset, когда появится надпись Binary sketch size: xxx bytes. Во время загрузки на плате будут загораться светодиодные индикаторы. После заливки скетча нужно отсоединить микроконтроллер и подать на него напряжение.

Сравнение характеристик разных плат Ардуино

Основная характеристика, по которой Ардуино про мини отличается от остальных плат – это размеры. Габариты Arduino Pro Mini составляют всего 1,8 см х 3,3 см. Немного большую длину имеет плата Ардуино Нано – 1,9 см х 4,3 см. Плата Ардуино Уно больше примерно в 2 раза, ее габариты составляют 6,9 см х 5,3 см. Arduino Mega имеет самые крупные габариты – 10,2 см на 5,4 см.

Количество пинов также различно. Ардуино про мини, как Ардуино Нано и Ардуино Уно, имеет 14 цифровых пинов. Ардуино Мега оснащена 54 цифровыми входами/выходами, из которых 15 поддерживают ШИМ.

Важное отличие Arduino Pro Mini от остальных плат – отсутствие прошивки по USB-UART. Остальные микроконтроллеры можно прошить таким способом, кроме Ардуино Нано. Она прошивается с помощью преобразователя rt232.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: