Iskra nano pro на arduino ide не синхронизируется

Обновлено: 06.07.2024

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

Итак, нам дана плата Arduino (неважно, какая), в которую не вгружается скетч. Что же с ней делать?

Проверить настройки IDE.

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

Иногда проблема кроется в отсутствии драйверов для работы с платой. Если на плате есть микросхема CH340, то для неё нужно установить драйвер, и тогда всё скорее всего заработает. Найти его можно, например, здесь

Если Ваша плата общается с другими программами на компьютере (Putty, монитор порта и др.), то отключите от неё все программы, с вероятностью 90% все заработает.

Если в Вашем проекте к пинам RX и TX (имеются в виду 0-ой и 1-ый пины), то отключите от них всё, иначе прошивка не будет загружаться

Если всё вышеперечисленное не помогло, то проблема кроется в микроконтроллере. Для решения этой проблемы есть несколько способов:

Прошивка через программатор

Если у Вас есть программатор, поддерживаемый Arduino IDE, то подключите к нему свою плату и попробуйте записать загрузчик. Если не помогает, то переходите к пункту 2. Если же у Вас нет программатора, то можно сделать его из другой платы Arduino, загрузив в неё стандартный пример ArduinoISP, и собрав всё по схеме. Конденсатор ставим обязательно, без него может не работать. Потом выбираем тип платы, которую будем прошивать, и выбираем программатор "Arduino as ISP". Потом заливаем прошивку.

Если же Вам не помогла и прошивка через программатор, то с вероятностью 99,9% ваша плата умерла.

Однако, у меня был похожий случай с платой Arduino Leonardo, и мне чудом удалось её спасти. Проблема была такова: При подключении платы к компьютеру он замечал её только минуты через 2. При загрузке прошивки компиляция проводилась успешно, но перед началом загрузки прошивки плата, как обычно сбрасывалась (это происходит всегда и для всех плат), и компьютер переставал её видеть вообще, даже после 10 минут ожидания. Решением стала установка такого же конденсатора между пином RESET и GND. Он предотвращает сброс платы.

Некоторые проекты для Arduino распространяются не в виде файлов скетчей (*.ino), а в виде hex-файлов (*.hex). Я расскажу, как прошить такой файл в Arduino.

Получение hex-файла

Arduino Экспорт бинарного файла

Как получить hex-файл для своего проекта или скачанного скетча? Для получения hex-файла, соответствующего требуемому скетчу, необходимо открыть этот скетч (например, bike.ino) в Arduino IDE (я использую версию 1.6.6) и выбрать в меню Скетч (Sketch) команду Экспорт бинарного файла (Export Compiled Binary):

Arduino hex-файлы

После этого происходит компиляция и в папке скетча появляются два hex-файла (для скетча bike.ino - bike.ino.eightanaloginputs.hex и bike.ino.with_bootloader.eightanaloginputs.hex):

Hex-файл имеет текстовый формат и состоит из строк вида
:100020000C94DF030C94DF030C94DF030C94DF03C8

Arduino загрузчик

Отличие этих двух файлов заключается в наличии в файле *.ino.with_bootloader.eightanaloginputs.hex загрузчика Arduino:

Прошивка hex-файла

Arduino номер порта

Как же прошить имеющийся hex-файл? Сначала необходимо подключить прошиваемую плату (я использую Arduino Nano 3.0) к USB-порту компьютера и узнать COM-порт подключения. Номер порта можно посмотреть в Arduino IDE в меню Инструменты (Tools):

Для прошивки hex-файла *.ino.eightanaloginputs.hex (для рассматриваемого скетча - bike.ino.eightanaloginputs.hex) в микроконтроллер платы Arduino используется программа AVRDude - AVR Downloader-Uploader, предназначенная для прошивки микроконтроллеров AVR.

Arduino прошивка avrdude

В результате в папке avrdude содержатся три файла:

В эту же папку следует скопировать прошиваемый hex-файл (в рассматриваемом примере - файл bike.ino.eightanaloginputs.hex).

avrdude версия

В Arduino IDE версии 1.6.6 представлена программа avrdude версии 6.0.1

avrdude команда

Затем в консоли требуется ввести команду:

-v : вывод подробной информации
-patmega328p : указание типа микроконтроллера
-c arduino : указание программатора - программатор, используемый Arduino IDE
-P com11 : указание номера COM-порта (COM11)
-b 57600 : указание скорости COM-порта (57600 бод)
-D : не выполнять очистку FLASH-памяти микроконтроллера.
-U flash:w:"bike.ino.eightanaloginputs.hex":i : w - запись flash - во FLASH-память i - файла в формате Intel Hex

Arduino hex-файлы

После ввода команды выполняется прошивка hex-файла в Arduino:

Готово!

Загрузка скетча в Arduino Nano, ничем не отличается от загрузки на другие платформы, например Uno или Mega.
Для загрузки можно использовать программу Arduino IDE специально разработанную компанией для этих целей. На момент написания статьи последней версией была 1.8.9. Она полностью поддерживает русский язык и теперь в мониторе порта можно читать русские буквы.

Если вы уже подключили вашу плату к компьютеру(если нет, то читайте как это сделать "Первое подключение Arduino к компьютеру"), то надо открыть Arduino IDE и настроить её для дальнейшей работы с вашей Arduino Nano.

Сначала вам нужно установить вашу плату Arduino Nano

Установка платы Arduino Nano

Теперь выбираем процессор.
Если у вас Arduino Nano 3.0, то у вас процессор ATmega328P, если версия 2.хх, то ATmega168.
Про различия платформ Arduino можно прочитать статью Arduino Nano, Pro Mini, Uno, Mega, а конкретно про отличия версий Nano .
Возможно вам придётся попробовать выбрать ATmega328P(Old bootloader)

Установка платы Arduino Nano bootloader

Установка COM порта

Очень часто в Arduino Nano уже установлен скетч blink и при подаче питания на плату, например при подключении к компьютеру через USB кабель у вас начнёт мигать светодиод установленный на плате. Если нет, то мы сейчас это исправим.

Загрузка скетча в Arduino Nano

В Arduino IDE выбираем Файл – Примеры – 01.Basics – Blink
У вас откроется пример для мигания светодиодом установленным на плате.

Установка скетча мигания светодиодом

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

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

Изменить частоту мигания можно установив другие значения delay(задержка)в миллисекундах
1000 – 1 сек
2000 – 2 сек
500 – 0.5 сек

delay

1 строчка delay это сколько светодиод светится

2 строчка delay сколько он находится в выключенном состоянии

Некоторые проекты для Arduino распространяются не в виде файлов скетчей (*.ino), а в виде hex-файлов (*.hex). Я расскажу, как прошить такой файл в Arduino.

Получение hex-файла

Arduino Экспорт бинарного файла

Как получить hex-файл для своего проекта или скачанного скетча? Для получения hex-файла, соответствующего требуемому скетчу, необходимо открыть этот скетч (например, bike.ino) в Arduino IDE (я использую версию 1.6.6) и выбрать в меню Скетч (Sketch) команду Экспорт бинарного файла (Export Compiled Binary):

Arduino hex-файлы

После этого происходит компиляция и в папке скетча появляются два hex-файла (для скетча bike.ino - bike.ino.eightanaloginputs.hex и bike.ino.with_bootloader.eightanaloginputs.hex):

Hex-файл имеет текстовый формат и состоит из строк вида
:100020000C94DF030C94DF030C94DF030C94DF03C8

Arduino загрузчик

Отличие этих двух файлов заключается в наличии в файле *.ino.with_bootloader.eightanaloginputs.hex загрузчика Arduino:

Прошивка hex-файла

Arduino номер порта

Как же прошить имеющийся hex-файл? Сначала необходимо подключить прошиваемую плату (я использую Arduino Nano 3.0) к USB-порту компьютера и узнать COM-порт подключения. Номер порта можно посмотреть в Arduino IDE в меню Инструменты (Tools):

Для прошивки hex-файла *.ino.eightanaloginputs.hex (для рассматриваемого скетча - bike.ino.eightanaloginputs.hex) в микроконтроллер платы Arduino используется программа AVRDude - AVR Downloader-Uploader, предназначенная для прошивки микроконтроллеров AVR.

Arduino прошивка avrdude

В результате в папке avrdude содержатся три файла:

В эту же папку следует скопировать прошиваемый hex-файл (в рассматриваемом примере - файл bike.ino.eightanaloginputs.hex).

avrdude версия

В Arduino IDE версии 1.6.6 представлена программа avrdude версии 6.0.1

avrdude команда

Затем в консоли требуется ввести команду:

-v : вывод подробной информации
-patmega328p : указание типа микроконтроллера
-c arduino : указание программатора - программатор, используемый Arduino IDE
-P com11 : указание номера COM-порта (COM11)
-b 57600 : указание скорости COM-порта (57600 бод)
-D : не выполнять очистку FLASH-памяти микроконтроллера.
-U flash:w:"bike.ino.eightanaloginputs.hex":i : w - запись flash - во FLASH-память i - файла в формате Intel Hex

Arduino hex-файлы

После ввода команды выполняется прошивка hex-файла в Arduino:

Готово!

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