Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

alex-day Блог Мы приобрели Arduino Pro Mini, что делать дальше?

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

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

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

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

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Теперь о плате/платформе 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 пиновый вариант

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Читайте также  Как включить главную видеокарту в ноутбуке. Как переключить видеокарту на ноутбуке с Intel на nVidia

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) — Готовность приемника данных.

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

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

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

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

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

Читайте также  Особенности «Родительского контроля» в Windows 10

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

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

Листинг программы:

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

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

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

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

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

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

Прошивка arduino pro mini arduino uno. Как прошить Arduino Pro Mini с помощью Arduino Uno

Послесловие

Я не говорил как припаивать "гребенку" к плате — ежели вы не умеете это делать, то поначалу научитесь паять.
Как подключать различную периферию можно подглядеть тут — www.drive2.ru/c/1735998/
И вообщем чрезвычайно рекомендую к чтению книжку Улли Соммер "Программирование микроконтроллерных плат Arduino/Freeduino" (она есть в вебе и ее нетрудно найти).

Читайте также  Устранение проблем с воспроизведением видео в браузере

Как я Arduino pro mini "прошивал" )))).

Дружба с китайским "народным" продуктом это попеременно то удовлетворенность, то огорчение. Зато не недешево и не скучно!

Решил я один собственный проект для авто (ниже будет ссылка) с массивного Arduino UNO на малогабаритный Arduino PRO MINI переместить. Залез в сеть, нашель инфу, почиталь, научилься. Нужные железки были уже прикуплены. Перец был в том, что плата PRO MINI не имеет собственного конвертера порта USB-TTL. И чтоб прошить контроллер есть несколько способов, но самый удачный при помощи отдельной платки – конвертера USB-TTL. Сходу я тему конкретно не вкурил, и вышло, что заполучил я самый упрощенный вариант, слегка ущербный, где при прошивке нужно как мортышке за банан в необходимое время у компушки сброс давить. Опосля сброса загрузчик цепляет входящий поток программы и в свою память пересовывает. Ну и вроде как там навык нужен особенный, чтоб попасть в подходящий момент. Ох.

Спаял щит, пробую тестовую програмку залить. То давил, то давил на сброс.. Не льется и хоть ты убейся веником. Полез в тырнеты умные видео глядеть. Вроде всё так делаю, а не выходит ничего. Ну, думаю, чёта у меня вообщем все прицелы сбиты.

Видео нарылось чрезвычайно показательное. Там мужчина учил как про мини прогружать софтом ежели кнопочке сброса вы башку уже открутили. )))

(при помощи отключения от платы питания)

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

Чтобы всё было по феншую, 6-пиновая гребенка выпаивается, заместо нее паяем 7 пиновую, на вольный пин которой вешаем сигнал RST (сброс).

Но и опосля этого у меня ничего не вышло. )) Пришлось взять мультиметр и поглядеть что у меня творится с сигналами на выходе преобразователя. Блин, а на сигнальном выходе висит 3,3 вольта. Наверное перемкнуло где то.. Но как так?! Я же постоянно дотошно проверяю все платы перед включением на предмет свойства пайки! Срываю прозрачную термоусадку, а там "сопля" меж выводами. Да так искусно её китаец развесил, что даже через прозрачный пластик её незаметно. Прямо в этом месте термоусадка изгибается, бликует и прячет дефект.

В общем и переходник я для себя проапгрейдил на ровненьком месте, и чувство ритма у меня сейчас отточено, хоть иди в ансамбль ударником. Мораль басни – будьте внимательны. Одна неприметная "сопля" может куда больше бед натворить.

Фортуны Для вас в творчестве, неплохого настроения.

Читайте в канале о авторских проектах.

Обещаная ссылка.

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

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