Arduino pro micro прошивка ide

Обновлено: 07.07.2024

Прошивка является популярным способом распространения программ для ардуино и микроконтроллеров.

Здесь описана процедура загрузки прошивки микроконтроллера платы Arduino.

Данная инструкция позволит вам установить прошивку на наиболее популярные платы такие как Nano, UNO, Leonardo, Mini, Pro Micro и другие, собранные на микроконтроллере atmega328p, atmega168, atmega32u4 и других.

О прошивках Arduino

Не стоит путать прошивку со скетчем!

Скетч – это исходный код прошивки.

Прошивка ардуино – это скомпилированный (бинарный) файл, загружаемый в плату Arduino (в микроконтроллер). Прошивка не является исходным кодом программы (скетча). Файл прошивки обычно имеет расширение HEX.

Преимущество прошивки – это простота ее использования:

  • Не нужны никакие библиотеки,
  • Легко загрузить и выгрузить,
  • Можно перенести с одного устройства на другое.

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

Вместе с прошивкой часто может поставляться и копия памяти ПЗУ (EEPROM), в которой хранятся данные, необходимые для работы устройства.

Способы прошивки Arduino

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

Рассмотрим пару наиболее популярных программ прошивки.

XLoader

Самая простая и лаконичная программа, которая подойдет любому, кому просто надо загрузить hex на популярную Arduino.

Загрузка прошивки интуитивно понятна:

  • Выбираем…
    • файл прошивки
    • плату ардуино
    • COM-порт
    • Скорость передачи данных

    Последняя версия – 1.0.

    Не может загружать EEPROM.

    SinaProg

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

    1. Выбираем файл прошивки
    2. Настраиваем программатор: выбираем…
    3. Arduino,
    4. Порт
    5. Скорость передачи

    Avrdude

    Большинство всех загрузчиков используют одну и ту же утилиту – AVRDude (AVR Downloader-Uploader), которая давно вошла во многие среды разработки для ардуино, в т.м. числе и в Arduino IDE.

    Это мощнейшая утилита для работы с чипами AVR, но все-таки это утилита командной строки, что многим неудобно.

    Загрузка HEX прошивки в Arduino

    Читайте в следующем параграфе как прошить ардуино и с его помощью.

    Последняя версия – 6.3.

    Arduino IDE, AVRDude

    Рассмотрим как загрузить прошивку, имея только Arduino IDE на компьютере с Windows.

    Напомню, что вместе с Arduino IDE ставится и AVRDude, с помощью которого мы и загрузим прошивку.

    Установка программного обеспечения

    • Установить программу Arduino IDE, если она не установлена
      • В ряде случаев потребуется установить дополнительный драйвер вашей платы (если плата – китайский клон). Драйвер нужен только в случае если вы не видите вашу плату в Arduino IDE.

      Подготовка

      • Подключить плату к компьютеру
      • Запустить Arduino IDE
      • Определить к какому порту подключена Arduino, через меню, как показано ниже:
      • Определите в какой папке установлена Arduino IDE

      Загрузка прошивки ардуино

      • Открываете командную строку и вводите следующую команду, предварительно скорректировав ее под свои условия:

      Обратите внимание на:

      • Путь к Arduino IDE ( желтым ),
      • Номер порта ( голубым ),
      • Скорость передачи данных ( зеленым )
      • Название (путь) файла прошивки ( фиолетовым )

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

      Ошибка avrdude, avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd2

      , значит ваша плата не может работать со скоростью 115200, и необходимо установить скорость 57600.

      Нажмите CTRL+C, чтобы прервать процесс.

      Получение помощи

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

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

      Какой COM-порт выбирать?

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

      Прежде всего, чтобы ардуино определялась, необходимо, чтобы на компьютере были установлены ее драйвера. Они ставятся вместе с Arduino IDE. Для китайских удешевлённых колонов может понадобится поставить драйвер CH340.

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

      Порт можно посмотреть в Arduino IDE…


      Выбор COM-порта в Arduino IDE

      … или, если вы на Windows, в диспетчере устройств:


      Определение COM-порта, к которому подключена Arduino через диспетчер устройств Windows.

      Однозначно, это не COM1. Поэтому, в моем случае это будет COM3.

      Какую скорость выбрать?

      Скорость передачи зависит от версии платы. Если мы говорим о популярных Nano или UNO, то скорость будет 115200. Однако, если вы имеете дело с китайский клоном, то, возможно, придется выбрать 57600.

      В общем, рецепт прост: если не получается с одной скоростью, тут же пробуете другую.

      5 Replies to “Как загрузить HEX прошивку Ардуино”

      Чем регулируется частота и амплитуда , Какой кабель нужен для прошивки Arduino nano ?

      Она вводится через последовательный порт, аналогично тому как загружается прошивка.
      Кабель нужен mini-USB data

      Так как у меня имеется несколько проектов, на базе Arduino PRO Micro.

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

      Плата построена на базе микроконтроллера ATmega32u4, который работает на частоте 16 МГц. Как и большинство плат Arduino, прошивается напрямую через USB, без использования программатора.

      Микроконтроллер имеет 32 КБ Flash памяти, 2,5 КБ оперативной памяти, и 1 КБ энергонезависимой памяти.

      Главной особенностью платы является наличие USB интерфейса, благодаря которому, плата может работать как: джойстик, клавиатура, или как мышь.

      На плате имеется 18 контактов, которые можно использовать как цифровые входы или выходы. 9 из них могут работать как аналоговые входы, и 5 из них могут работать как ШИМ выходы.

      Для связи имеются шины: SPI, I2C, и UART. Они могут пригодиться для подключения: различных дисплеев, датчиков температуры, влажности, давления. Модулей GSM, GPS, Bluetooth, да чего угодно. При необходимости, можно программно создавать дополнительные линии связи, на любых свободных контактах.

      Плату можно питать двумя способами: от 5 вольт через USB разъем, или через контакт RAW, подключив от 6 до 12 вольт.

      На плате имеется светодиод для индикации питания, и еще два светодиода для индикации каналов RX и TX.

      Как и остальные платы Arduino, Arduino PRO Micro прошивается при помощи приложения Arduino IDE. Загрузим на нее стандартный пример Blink, который находится во вкладке Файл/Примеры/Basics/Blink.

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

      Подключаем плату к USB компьютера. Во вкладке Инструменты выбираем пункт Arduino/Genuino Micro

      А также выберем ком порт, к которому подключена плата.

      У меня ком порт 31, у вас ком порт может быть другой. Теперь нажимаем кнопку загрузить, и дожидаемся завершения загрузки.

      Подключаем светодиод к первому пину, а второй его конец к минусу.

      Максимально допустимая нагрузка на 1 пин составляет 40 миллиампер, а общая нагрузка на все пины не должна превышать 500 миллиампер, поэтому добавим в цепь сопротивление от 200 до 500 ом, чтобы не вывести из строя выход микроконтроллера, или сам микроконтроллер.

      Видео " Как прошить Arduino PRO Micro 32u4. Обзор платы. Arduino для начинающих "

      Творческая мастерская Мастер Колотушкин 2021

      Проекты на базе Arduino для начинающих, электронные самоделки своими руками.

      Pro Micro pins

      - 18 цифровых вывода могут работать как входами, так и выходами. Напряжение на выводах 5 или 3,3В в зависимости от версии платы, при токе в 40мА на каждом пине;
      - последовательный интерфейс с пинами TX и RX;
      - I2C интерфейс с пинами SDA и SCL;
      - ШИМ выводы: 3, 5, 6, 9, 10;
      - SPI интерфейс с пинами MISO, MOSI и SCK;
      - Светодиоды сигнализирующие: наличие питания, RX и TX;
      - 9 аналоговых входов A0-A3 и A6-A10;
      - RESET – вывод для перезагрузки микроконтроллера, аналогичен физической кнопки сброса.

      На плате имеется восстанавливающий предохранитель MF-MSMF050-2, который защитит USB-порты вашего компьютера, если будет короткое замыкание и перегрузка по току. Предохранитель автоматически разорвёт соединение, если к USB компьютера будет подключено более 500 мА. В таком состоянии он будет находится пока не будет устранено короткое замыкание или перегрузка.

      Pro Micro может быть запитана от USB порта вашего ПК, для этого используется USB разъём на плате.

      Для питания платы от внешнего не стабилизированного источника, питание нужно подавать на вывод RAW. На этот вывод рекомендуется подавать от 7 до 12В. Если питать плату от 6В, плата может работать не стабильно. При напряжении более 12В, встроенный стабилизатор напряжения может сгореть. С этого вывода, напряжение будет преобразовываться внутренним стабилизатором до необходимого и питать микроконтроллер.

      VCC – данный пин можно использовать как для подачи напряжения для питания платы, так и для снятия напряжения, для запитки всевозможных датчиков / сенсоров. Для питания платы через этот пин, нужно строго подавать то стабилизированное напряжение, на которое рассчитана плата. С этого пина напряжение не идёт через внутренний стабилизатор, а напрямую подаётся на контроллер, поэтому если оно будет выше необходимого — плата сгорит.
      При питании платы через USB разъём или RAW, на данном выводе будет присутствовать напряжение, равное напряжению питания Pro Micro. Этим напряжением можно запитывать различные датчики. Максимальный выходной ток для всей платы не должен превышать 500мА, на отдельный пин не больше 5 — 10мА.

      J1 – Если плата прошита загрузчиком Arduino Micro, то эти контакты используются при конфигурировании версии платы. При 5-вольтовой версии контакты запаяны, при 3,3В — разомкнуты. Поскольку у меня плата распознаётся как «Leonardo», эта перемычка не используется и она разомкнута.

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

      Pro Micro drivers

      В диспетчере устройств появится неизвестное устройство "Arduino Leonardo". Почему так, а не "Pro Mini"? Потому что разработчик прошил микроконтроллер загрузчиком от Leonardo, на работе это никак не скажется.

      Для Windows 10 ничего не придётся скачивать, драйвер установится автоматически.

      Для остальных систем семейства Windows скачиваем драйвер и устанавливаем его в ручном режиме.

      Pro Micro drivers

      Pro Micro drivers

      В итоге, в диспетчере устройств появится устройство "Arduino Leonardo". Рядом будет указан номер виртуального COM-порта, в моём случае это COM14.

      Попробуем загрузить в плату скетч Blink и убедится в её работоспособности. Открываем стандартный скетч "Blink". Выбираем в Arduino IDE плату.

      Pro Micro Arduino IDE

      Поскольку загрузчик в ней от Leonardo, значит эту плату и выбираем: "Инструменты" - Плата: "Arduino Leonardo".

      Если у вас загрузчик будет от Arduino Micro, значит выбираете его. Не забывайте так же выбрать версию платы 5 или 3,3В, как это выбирается с платой Pro mini. Отсюда выплывает объяснение, почему 5-вольтовый китайский аналог Micro, прошит загрузчиком Leonardo. Плата Leonardo присутствует в Arduino IDE, а плату Pro Micro нужно добавлять вручную через менеджер плат. Видимо что бы пользователи не заморачивались в этих настройках, плату прошивают как Leonardo. Подобные доводы имеют место быть, если мы говорим про версию платы 5В. Если нужна плата на ATmega32u4 с логическими уровнями 3,3В, без ручного добавления платы в Arduino IDE не обойтись.

      Pro Micro Arduino IDE

      Выбираем номер виртуального COM-порта, который прописан в Диспетчере устройств, в моём случае это COM14.

      Нажимаем кнопку "Вгрузить" (Upload) и ждём загрузку скетча.

      В процессе загрузки в колонках услышите звук извлечения / подключения USB устройства. Это происходит потому что последовательный порт с которым взаимодействует устройство, на платах Leonardo и Micro является виртуальным. При каждом автоматическом сбросе платы, виртуальный порт исчезает, затем вновь появляется, чем объясняется характерный звук в колонках.
      Обычно скетч загружается в плату без нажатия кнопки reset, видимо поэтому на китайском аналоге решили избавится от этой кнопки. В редких случаях, когда автоматический сброс не сработает, нужно использовать физическую кнопку сброса или пин reset.

      Загрузив в плату скетч "Blink" мы не сможем наблюдать мигание светодиода. Дело в том, что на плате Pro Micro нет светодиода подключенного к 13 пину. Придётся его отдельно подключать к ножкам через резистор. Можно поступить по другому, на плате имеются светодиоды RX и TX, можно ими помигать.

      Загружаем следующий скетч:

      int LED_RX = 17;
      void setup() <
      Serial.begin(9600);
      pinMode(LED_RX, OUTPUT);
      > void loop() Serial.println ("Hello World!");
      digitalWrite(LED_RX, LOW);
      delay(1000);
      digitalWrite(LED_RX, HIGH);
      delay(1000);
      >

      Увидим как мигает RX светодиод.

      Pro Micro Arduino IDE

      Если открыть монитор последовательного порта, увидим надпись Hello World! и теперь светодиоды RX и TX будут перемигиваться.

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

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

      Все платы ардуино, начиная с серии Nano, имеют USB интерфейс. Серия Mini и Pro Mini его не имеет, и прошивается исключительно TTL конвертером. Но дело в том, что и любая другая ардуинка шьется этим программатором. Если у Вас его нет — настоятельно рекомендую купить, тем более цена у него 50-60 рублей (на момент написания статьи), это универсальный программатор, который может еще не раз пригодится. Так я, например, при помощи него перепрошил свою аппаратуру радиоуправления FlySky i6 и рацию Kenwood T2000, не покупая специальных фирменных программаторов, которые стоят куда дороже. Но я отошел от темы. В общем, на всех платах ардуино есть выводы RX и TX (это интерфейс общения, "передача/прием"), при помощи которых можно прошить ардуино в обход чипа USB интерфейса. Эти конвертеры, однако, тоже есть разных версий. Когда я покупал свой, самый распространенный и самый дешевый был конвертер, без вывода reset. Особенность программирования ардуино таким программатором заключается в том, что ровно по окончанию компиляции и началу загрузки нужно жать кнопку reset на плате. Тут, на самом деле, нужна некая сноровка. Если первый раз пропустили — продолжайте жать кнопку с периодичностью примерно в 2 секунды. Среда дает 10 запросов, если удастся попасть в один из них — вуаля, мы прошили ардуинку. Более современные программаторы имеют пятый вывод, который подключается к тому самому ресету, и дергает его автоматически. Но главное, нюанс я описал. Ещё момент. Как правило, RX нужно подключать к TX и наоборот. Но в редких случаях (ну китайцы) нужно подключать RX в RX, а TX в TX. Просто неправильно подписывают. И так, если и это не помогает, переходим к способу 3.








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

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

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

      Начиная с версии Nano платы Arduino имеют разъем внутрисхемного программирования ISP . Это шести контактный разъем, на который, как правило, никто не обращает внимание. При помощи него можно прошить микроконтроллер непосредственно, напрямую, в обход всего, что только можно обойти, как физической части, так и программной. Именно таким образом мне пришлось прошивать свою последнюю плату arduino. Собственно, при помощи этого метода можно создавать и свои клоны ардуино, прошивая в атмегу ардуиновский бутлоадер. Об этом я писал в своей статье про авионику спортивной ракеты. Но снова же, не об этом. Для прошивки потребуется вот такой вот программатор:


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

      Особенности

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


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


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


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

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

      1)По следующей ссылке скачиваем архив LibUSB-64bit.zip
      2)Подключаем программатор к USB порту.
      3)Распаковываем архив и переходим по пути куда распаковали\LibUSB-64bit\libusb-win32-bin-1.2.1.0\bin\x86
      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-64bit\libusb-win32-bin-1.2.1.0\bin\amd64 - если у вас 64-х разрядная система или
      LibUSB-64bit\libusb-win32-bin-1.2.1.0\bin\x86 - если 32-х разрядная

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

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

      Очень распространенные модули NRF24L01 имеют большой косяк. Для нормальной и стабильной работы этих модулей необходимо по питанию повесить конденсатор хотя бы на 10 мкФ 5 В. Меньше не желательно, больше — бесполезно. Но если нет на 10, конечно, ставьте на 22 или 47. Так же советуют параллельно нему повесить еще один керамический на 10-100 нФ. При чем как можно ближе к самому модулю, в идеале — на выводы. В противном случае модуль вроде и видится, но нормально не передает.

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

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

      Читайте также: