Главная chevron_right Уроки chevron_right Экосистема Arduino chevron_right Устранение неполадок при загрузке скетчей Arduino

Устранение неполадок при загрузке скетчей Arduino

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

Загрузка программы на плату Arduino — процесс, в котором участвует сразу несколько компонентов: IDE, драйверы, USB-соединение и настройки порта. Если хотя бы одно звено выпадает, загрузка завершится ошибкой. Ниже — пошаговый разбор того, что проверить в первую очередь.

1. Убедитесь, что выбраны правильная плата и порт, а все необходимые драйверы установлены.

2. Если ошибка не исчезает, скопируйте её текст и поищите в нашем troubleshooting guide page.

3. Если в troubleshooting guide page ответа не нашлось, обратитесь за помощью на forum support.

Подробности по каждому пункту — ниже.

Плата и порт

Онлайн-редактор Arduino Cloud Editor определяет плату и порт автоматически. Если же вы работаете с офлайн-версией Arduino IDE, оба параметра нужно выбрать вручную.

  • Откройте меню Tools > Board и убедитесь, что там выбрана именно ваша плата. Для Arduino UNO нужно выбрать Arduino UNO — звучит очевидно, но это одна из самых частых причин ошибок.
  • Затем проверьте порт в меню Tools > Serial Port (если нужный порт не появляется, перезапустите IDE с подключённой платой):
  • На Mac порт обычно называется /dev/tty.usbmodem621 (для UNO или Mega 2560) или /dev/tty.usbserial-A02f8e (для старых плат на базе FTDI).
  • На Linux/dev/ttyACM0 или похожее (для UNO и Mega 2560), либо /dev/ttyUSB0 или похожее (для старых плат).
  • На Windows это будет COM-порт. Его номер можно узнать в Диспетчере устройств (раздел «Порты (COM и LPT)»). Если порт для Arduino вообще не отображается — читайте раздел про драйверы ниже.

Практические замечания

  • Если после подключения платы порт не появился, попробуйте другой USB-кабель: многие кабели предназначены только для зарядки и не передают данные.
  • Не подключайте плату через USB-хаб без внешнего питания — некоторые хабы не обеспечивают достаточный ток.
  • На Windows иногда помогает смена USB-разъёма: система может назначить другой COM-номер, и порт «появится».

Драйверы

Драйверы — это программная прослойка, благодаря которой Arduino IDE «видит» подключённую плату. Без правильно установленных драйверов порт в меню не появится.

Самый простой способ проверить драйверы: откройте меню Tools > Serial Port при подключённой плате и без неё. Если плата подключена, в списке должен появиться дополнительный пункт — это и есть её порт. Конкретное название порта не важно, главное — выбрать именно тот, что появился с платой.

  • На Windows 7 (особенно 64-битной) может потребоваться вручную обновить драйвер для UNO или Mega 2560 через Диспетчер устройств. Щёлкните правой кнопкой по устройству и укажите путь к .inf-файлу из папки drivers/ в директории Arduino IDE (не из подпапки FTDI USB Drivers).
  • На Windows XP при установке драйвера для UNO или Mega 2560 может появиться ошибка «The system cannot find the file specified». В этом случае попробуйте this suggestion (суть — добавить ключ "RunOnce" в ветку реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion").
  • На Linux UNO и Mega 2560 определяются как устройства вида /dev/ttyACM0. Стандартная версия библиотеки RXTX их не поддерживает. В официальном дистрибутиве Arduino для Linux используется патченная версия RXTX, которая умеет искать устройства /dev/ttyACM*. Также существует Ubuntu package (для Ubuntu 11.04) с поддержкой этих устройств. Если вы используете пакет RXTX из репозитория дистрибутива, может потребоваться создать символическую ссылку с /dev/ttyACM0 на /dev/ttyUSB0, чтобы порт появился в IDE.

Выполните команду:

sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName

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

Руководство по устранению ошибок

В Arduino Help Center собраны статьи с ответами на часто задаваемые вопросы и инструкции по устранению большинства типичных ошибок. Можно просматривать категории или воспользоваться строкой поиска — вставьте туда скопированный текст ошибки.

Copying the error message

Скопируйте текст ошибки из панели вывода IDE — это ускорит поиск нужной статьи.

Searching for the guide to solve the error

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

Поддержка на форуме

Если ни один из способов не помог, обратитесь за помощью на help in the forum. Чтобы получить ответ быстрее, приложите к вопросу следующую информацию:

  • Операционная система (версия тоже важна).
  • Модель платы. Если это Mini, LilyPad или другая плата с нестандартной распайкой — по возможности добавьте фото схемы.
  • Удавалось ли вам раньше загружать скетчи на эту плату? Если да — что изменилось: что делали с платой, какое ПО устанавливали или удаляли?
  • Сообщения из IDE при попытке загрузки с включённым подробным выводом. Чтобы включить его, отметьте галочку File > Preferences > Show verbose output during: > upload.
  • Нажмите кнопку Copy error messages в правой части панели вывода и вставьте скопированный текст в теме форума, обернув его в теги кода (кнопка </> на панели инструментов форума) — это сохранит форматирование и облегчит чтение.

Типичные ошибки и быстрые проверки

СимптомЧто проверить
Порт не появляется в менюКабель, драйверы, другой USB-разъём
no board selected / no FQBN providedМеню Tools > Board — выбрана ли плата?
Загрузка зависает на 100%Неверный порт или плата не входит в режим загрузки
Ошибка компиляции без изменений в кодеПереустановите ядро платы через Boards Manager

Чем точнее описана проблема и чем полнее приложены логи — тем быстрее вы получите помощь.