Arduino ide ошибка при загрузке
Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:
- Неисправен USB кабель
- Неисправен USB порт компьютера
- Неисправен USB порт Arduino
- Попробуйте другой компьютер, чтобы исключить часть проблем из списка
- Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
- На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
- Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания
Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:
- См. предыдущий список неисправностей
- Кабель должен быть data-кабелем, а не “зарядным”
- Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
- Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.
В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:
- См. предыдущий список неисправностей
- Некорректно установлен драйвер CH341 из предыдущего урока
- Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
- Возникла системная ошибка, обратитесь к знакомому компьютерщику
Ошибка загрузки
Возникает на этапе, когда прошивка собрана, скомпилирована, в ней нет критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.
Итак, разобрались со средой разработки, теперь можно загрузить прошивку. Рекомендую загрузить пустую прошивку, чтобы убедиться, что все драйвера установились и плата вообще прошивается. Также лучше делать это с новой или заведомо рабочей платой.
1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:
- Неисправен USB кабель.
- Неисправен USB порт компьютера.
- Неисправен USB порт Arduino.
- Попробуйте другой компьютер, чтобы исключить часть проблем из списка.
- Попробуйте другую плату, чтобы исключить часть проблем из списка.
- На плате Arduino сгорел диод по питанию USB.
- Плата Arduino сгорела полностью из-за неправильного подключения питания или короткого замыкания
2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:
- См. предыдущий список неисправностей.
- Кабель должен быть data-кабелем, а не “зарядным”.
- Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб.
- Не установлены драйверы для Arduino.
3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, отличный от COM1. Если этого не произошло:
- См. предыдущий список неисправностей.
- Некорректно установлен драйвер CH341.
- Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
- Возникла системная ошибка, обратитесь к знакомому компьютерщику
4. Выбираем свою плату. Если это Arduino Nano, выбираем в Инструменты\Плата\Arduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.
- [Для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем Инструменты\Процессор\ATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p.
Если появилась надпись “Загрузка завершена” – значит всё в порядке и можно прошивать другие скетчи. В любом случае на вашем пути встретятся другие два варианта событий, происходящих после нажатия на кнопку “Загрузка” – это ошибка компиляции и ошибка загрузки. Вот их давайте рассмотрим более подробно.
Решение
Эта проблема обычно случается когда вы используете не оригинальную плату Arduino, а ее дешевые клоны, обычно китайского производства. В этих клонах Arduino вместо стандартного для оригинальных плат Arduino FTDI чипа (FT232RL) используется более дешевый чип CH340g (для преобразования USB в последовательный интерфейс). Драйверы для стандартного чипа FT232RL уже содержатся в установочном пакете Arduino IDE, поэтому при ее установке они также автоматически устанавливаются на ваш компьютер. А чтобы использовать клон платы Arduino с чипом CH340g вам необходимо предварительно скачать и установить драйвер для этого чипа – скачать его можно по следующей ссылке. Установка его крайне простая – я думаю, она не вызовет у вас никаких затруднений.
После его установки вы сможете увидеть в диспетчере устройств, к какому COM порту подключена ваша плата Arduino.
7. Скетч успешно загружен, но ничего не происходит
Решение
Когда вы хотите загрузить программу в плату Arduino с помощью Arduino IDE, просто закройте (остановите работу) всех программ/приложений, которые в это же самое время могут использовать данный последовательный порт. Если в каких то программах вы не уверены, то отключите и снова подсоедините плату Arduino к компьютеру.
10. Ошибка переполнения стека (java.lang.StackOverflowError)
Иногда плата Arduino не может выполнить программы, в которых используется некорректная работа со строками, например, у строковых переменных пропущены кавычки в некоторых выражениях (или функциях).
Ошибка компиляции
Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.
- В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
- В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать
- В скачанных с интернета готовых скетчах часто возникает ошибка с описанием .h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по .
- При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
- Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
- Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
- Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.
5. Ошибка запуска (Launch4j Error)
Arduino IDE необходимо некоторое время для того чтобы запуститься и если после ее запуска вы на что-нибудь кликаете, то возникает ошибка Launch4J error как показано на представленном рисунке. Launch4j – это инструмент, который используется для упаковки (wrapping) приложений Java в программной среде Windows, который позволяет им исполняться как обычным программам Windows.
Arduino IDE написана на JAVA и эта ошибка возникает из-за несовместимости библиотеки Java Run Time Environment (JRE), поставляемой вместе с Arduino IDE.
Ошибки компиляции
Возникает на этапе компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки.
- В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
- В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать.
- В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
- При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
- Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
- Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
- Ошибка недостаточно свободного места возникает по вполне понятным причинам. Возможно поможет урок по оптимизации кода.
Решение
Описанная проблема может возникать по достаточно большому количеству причин.
Если плата "висит" и ничего не делает, вы сначала должны убедиться в том, что вы в это же самое время не передаете ей никаких данных с компьютера по последовательному порту. При включении питания загрузчик платы первые несколько секунд проверяет не передаются ли плате по последовательному порту какие либо данные (например, не производится ли попытка загрузки в плату нового скетча). Если никакого нового скетча не поступает, то спустя несколько секунд загрузчик начинает исполнять последний скетч, загруженный в плату. Если же ваша программа периодически передает данные по последовательному порту плате, то загрузчик попросту не перейдет к исполнению последнего загруженного в плату скетча.
Если же передача данных по последовательному порту является исключительно важной частью вашего проекта, вам необходимо предусмотреть в ней задержку, необходимую для того чтобы у загрузчика было время переключиться на исполнение последнего загруженного в плату скетча. Если же у вас нет возможности сделать такую задержку, то вам необходимо будет использовать какие-нибудь внешние программаторы для загрузки кода программы в плату Arduino, которые загружают код программы в обход встроенного в плату загрузчика.
Если же плата Arduino при включении питания или нажатии кнопки сброса не зависает, а начинает исполнять встроенный в загрузчик скетч мигания светодиодом, то кардинальным способом решения этой проблемы является смена загрузчика в плате, поскольку он мог быть поврежден в результате каких-нибудь обстоятельств.
Загрузка прошивки
“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.
Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод L на плате, это означает что все программы настроены верно и можно переходить к работе с набором!
Решение
В этом случае вам необходимо тщательно проинспектировать код своей программы, обращая особое внимание на те строки, в которые используются строковые переменные (типа string). Убедитесь в том, что все кавычки присутствуют в необходимых им местах. Также убедитесь в правильном использовании слешей (косых черт).
В данной статье мы рассмотрели 10 самых распространённых ошибок при работе с Arduino. Разумеется, реальное число ошибок, которые могут возникать при работе с платами Arduino, гораздо больше чем 10, однако мы попытались в этой статье рассмотреть самые распространённые из них. Если у вас возникает какая либо ошибка, которая не рассмотрена в данной статье, можете описать ее в комментариях и мы попробуем вместе с вами ее решить.
4. Invalid Device Signature Error (ошибка подписи)
Эта ошибка возникает при попытке загрузки кода программы в плату Arduino, тип которой отличается от той платы, которую вы выбрали в настройках Arduino IDE. Ошибка возникает из-за того, что подпись устройства (device signature) на используемой плате отличается от подписи того типа платы, которую вы выбрали в Arduino IDE.
Решение
- Убедитесь в том, что тип выбранной в настройках Arduino IDE платы совпадает с типом платы, в которую вы загрузили программу.
- Также подобная ошибка может быть вызвана тем, что размер загружаемого в плату скетча превышает объем ее памяти для хранения программ. Уменьшите объем скетча или используйте плату Arduino с большим объемом памяти.
- Еще одной причиной подобной ошибки может быть сильная зашумленность цепей питания. Убедитесь в том, что питающее напряжение, подаваемое на плату, достаточно стабильно.
Решение
Выбрать правильный тип платы Arduino в настройках Arduino IDE. Если это не помогает, то можно попробовать прошить плату последней версией загрузчика Arduino (Arduino bootloader).
Ошибки загрузки
Возникают на этапе, когда программа успешно скомпилирована и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.
- USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
- Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
- Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
- Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
- Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
- Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
- Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
- Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.
Решение
Ошибка синхронизации resp = 0x00 является общим ответом (ошибкой) на все проблемы, связанные с некорректной работой микроконтроллера Atmega (или вообще его неработоспособным состоянием), являющегося "сердцем" платы Arduino. Соответственно, причин этой ошибки может быть достаточно много. Мы рекомендуем вам выполнить следующую последовательность шагов чтобы попробовать устранить эту проблему:
- Убедитесь в том, что ничего не подключено к цифровым контактам 0 и 1 платы Arduino (включая шилды).
- Убедитесь в том, что в настройках Arduino IDE вы выбрали правильный тип платы и правильный COM порт.
- Пару раз нажмите кнопку сброса на плате Arduino и попробуйте после этого загрузить в нее код программы.
- Если не помогло, то отключите и заново подсоедините плату Arduino к компьютеру.
- Закройте и снова запустите Arduino IDE.
Если ничего из перечисленного не помогло, то попробуйте подключить к своему компьютеру другую плату Arduino или же подключите вашу плату Arduino к другому компьютеру. Если вы обнаружите, что проблема в компьютере, то переустановите Arduino IDE. Иногда бывает и так, что Arduino IDE из Windows работает с глюками, а из другой операционной системы на этом же компьютере работает без проблем. Также встречаются энтузиасты, которые устанавливают Arduino IDE в операционную систему от платы Raspberry Pi, то есть работают с Arduino IDE на компьютере, который состоит из платы Raspberry Pi и монитора – они говорят, что в этом случае Arduino IDE работает гораздо лучше чем из под Windows. Также, если не хотите менять компьютер или операционную систему на нем, вместо Arduino IDE можно попробовать использовать аналогичные инструменты - оболочку PlatformIO или Arduino Web Editor (официальный онлайн инструмент, его не нужно устанавливать).
Если проблема оказалась в плате Arduino, то можно попробовать прошить ее стандартным программным обеспечением Arduino (то есть попросту сменить в ней загрузчик). Если это не помогло, то, скорее всего, вам придется использовать в своей работе другую плату Arduino.
Выбор и настройка платы
- В наборе используется Arduino Nano, выбираем в Инструменты\Плата\Arduino Nano
- На данный момент в микроконтроллер китайских плат зашит “старый” загрузчик, поэтому далее выбираем Инструменты\Процессор\ATmega328p (Old Bootloader)
- Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
8. Неизвестная ошибка связи (Unsatisfied Link Error)
Очень редко возникающая ошибка. Связана с тем, что на вашем компьютере используется очень старая библиотека для последовательной связи, возможно, от какой то предыдущей версии операционной системы.
6. Последовательный порт уже используется (Serial Port Already in Use)
Одна из самых простых проблем для решения. Она обычно происходит когда вы пытаетесь загрузить код программы в плату Arduino в то время когда открыто окно монитора последовательной связи (serial monitor) (но эта проблема в последних версиях Arduino IDE уже устранена) или вы пытаетесь его открыть во время обмена информацией между Arduino IDE и платой Arduino, или вы пытаетесь в это время использовать этот же самый COM порт для связи с другим устройством. То есть данная проблема возникает тогда, когда вы пытаетесь использовать последовательный порт одновременно для двух вещей.
Произошла ошибка при загрузке скетча на ардуино нано.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Мое Ардуино нано постоянно выдает ошибку при загрузке скетча, даже скопированного с интернета.
Вот текст ошибки:
Глобальные переменные используют 185 байт (9%) динамической памяти, оставляя 1863 байт для локальных переменных. Максимум: 2048 байт.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Что за ардуино (ссылку - где покупалась)? Какие драйверы стоят? Что показывает диспетчер устройств? Что выбрано в меню "Инструменты|Плата"?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Скорость порта 57600?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Нет скорость 9600 бод.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Судя по случайным и ненулевым ответам не та скорость.
P.S. Фамилию не позорьте ;)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сорости я вообще не касался. А что с фамилией?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Эти фразы противоречат одна другой. В поставке IDE одни драйверы, а в том гайде другие. Вы ставили и те и те? Если только из IDE, то они Вам не подходят - ставьте те, что описаны в гайде.
По поводу скорости, разговор особый. КТо Вам сказал, что у Вас скорость 9600? Вы включали в IDE печать подробностей загрузки? Если нет включите и изучите что скажет, можете и сюда скопипастить.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я сначала поставил только драйвера с IDE у меня выдавало ошибку при загрузке, тогда я поставил драйвера из гайда, а скорость эта написана в COM порте, там ее можно выбрать.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Не знаю к каком порте и что Вы выбираете. Давайте ка сбда подробный вывод загрузки. Вы сделали это?
Скорость должна быть такой, как указано в файле
Там надо найти раздел по Вашей ардуине (Nano). И там есть строка типа такой
Вот такая скорость и должна быть.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Каой вывод загрузкии, объясните что это?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
В меню выбираете "Файл", "Настройки", там ищете "Показывать подробный вывод" и ставите галочку напротив "Загрузка", как на картинке
После этого он запускаете заагрузку. Болтать он будет заметно больше. Изучаете то, что наболтал. Если надо, то копипастите сюда.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сделал все как вы сказали. Вот что загрузчик написал:
Archiving built core (caching) in: C:\Users\8523~1\AppData\Local\Temp\arduino_cache_836462\core\core_arduino_avr_nano_cpu_atmega328_0c812875ac70eb4a9b385d8fb077f54c.a
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM19 -b57600 -D -Uflash:w:C:\Users\8523~1\AppData\Local\Temp\arduino_build_704753/blink.ino.hex:i
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
То ли все-таки что-то не то делаю, то ли купил бракованую плату. Надеюсь, все-таки, на первое.
При загрузке скетча достаточно долго "думает", а потом выдает следующее:
При этом горит зеленый индикатор питания на плате и мигает оранжевый индикатор с периодичностью "одну секунду горит, 7 секунд не горит".
Arduino Mega 2560, подключен напрямую без удлинителя
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Давайте рассуждать логически.
Вы выполнили строчка в строчку всё, как в тюториале, однако блинк у Вас не моргает, ну да, он у Вас даже не загружается. Тогда скажите, на каком именно этапе у Вас различия с Джереми Блюмом? Вы видите свою плату в списке устройств после установки драйверов? Какая у Вас операционная система (а также 32 или 64 бита)? Вероятно Вы подключили (без удлинителя) - USB кабель? Светодиоды у Вас так же моргали и моргают, как и при первом включении?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Давайте, я здесь именно для этого и предоставлю любую информацию, чтобы оживить девайс.
Строчка в строчку. В общем-то, в "Примерах", в "Basics" есть этот скетч, поэтому после нескольких попыток написать (и переписать) вручную, я просто загружал гарантированно рабочий скетч из примера - результат всегда один и тот же.
Различие с Блюмом начинается с момента загрузки - вроде бы описал этот момент ранее.
Свою плату в списке устройств вижу, вот, собственно:
Подключил без удлинителя USB-кабель (под стол без него не особо удобно нырять, но чтобы не грешить на лишнее звено, исключил пока удлинитель).
Светодиоды как моргали изначально при первом подключении, так и моргают до сих пор, сколько бы попыток загрузки я не совершал.
updated: свое устройство в списке устройств выбрал в IDE.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Поставьте галочку и покажите вывод.
"Файл->Настройки->Показывать подробный вывод при загрузке"
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
C:\Program Files\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega2560 -cwiring -P\\.\COM1 -b115200 -D -Uflash:w:C:\DOCUME~1\Admin\LOCALS~1\Temp\build2158275535480508718.tmp\demo.cpp.hex:i.
А на скриншоте, который я выше скидывал, Ардуино на COM3 было. Нашел в настройках переключатель между портами, выставил нужный, все сразу загрузилось.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Воот, а теперь начинается самое главное, вынос мозга местных телепатов вопросами новичка :)
Я шучу, но в каждой шутке есть доля шутки :)
Удачи!- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Размер скетча в двоичном коде: 1 632 байт (из 258 048 байт максимум)
У меня такая же ошибка на маке
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Здравствуйте.
Я новичок в Ардуино.
И вот моя первая потытка это вот такие ошибки компиляции.Arduino: 1.8.19 (Windows 7), Плата:"Arduino Uno WiFi"
Скетч использует 444 байт (1%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.
Произошла ошибка при загрузке скетча
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x69
При том, что компилировал я пустой скетч без данных и переменных.
void setup() // put your setup code here, to run once:
void loop() // put your main code here, to run repeatedly:
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А если включить мозг и попробовать перевести на русский :"programmer is not responding"
Может тогда появится мысль , что код тут не при чем ?
Можно ещё не здесь спросить , а допустим у Яндекса, в чем дело .
С подобной проблемой сталкиваются примерно 50% начинающих. Она уже обсасывалась и решалась 100500 раз.
Решить ещё раз для вас персонально ?- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Кроме стандартных манипуляций, о которых действительно писано-переписано, дополнительно у этого монстра "Arduino Uno WiFi" ещё какие-нибудь переключатели на борту есть - проверить надо, правильно ли установлены. И, как показал мой личный опыт в попытках использовать подобное устройство, "купил бракованую плату" тоже нельзя исключать. У них похоже что два устройства в одном - в два раза хуже качество.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я сделал все что нашел и в Яндексе и Гугле.
И драйвера китайские поставил и порт СОМ3 и скорость обмена 111500 вместо 9600, и 9600 тоже ставил.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я не нашел как должны стоять переключатели.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Если можно персонально, то я буду благодарен.
Я все что прочитал все попробовал.
На большее знаний не хватило.
Я же говорил - я новичок, но не в смысле боевое отравляющее вещество, а в первый раз подключаю Ардуино к ноуту.
Если поможете, то заранее вас благодарю.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Может все таки пора уже попробовать по WiFi загрузку проверить ?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А он не виден в списке.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я не нашел как должны стоять переключатели.
А они у Вас есть? Вот на том, что Амперка продаёт их и нет, на других есть. Инструкцию нужно искать именно на то, что купили. Вы бы ссылку дали на Ваше устройство. А то Вам советы дают про одно устройство, а у Вас может совсем другое.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Да я нашел на амперке. Перепробовал все варианты, но увы. Ни вайфай ни провод ни дали результата.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Да я нашел на амперке. Перепробовал все варианты, но увы. Ни вайфай ни провод ни дали результата.
вы бы дали ссылки на то, что нашли - потому что иначе только и остается сказать "увы". непонятно. зачем тогда спрашивали.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Да мне эту ссылку на форуме и дали.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вы дайте ссылку на СВОЙ агрегат. Где-то ж вы его купили? Вот ссылку на этот лот и давайте
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Судя по описанию, никаких переключателей тут нет, сериал всегда подключен к Уне. Не очень понятно, как быть, если надо загрузить прошивку в ЕСП. Ну да ладно, это потом.
Раз плата не определяется компом - может там загрузчик слетел? На плате есть ISP разьем, попробуйте прошить через него. Только не перепутайте, их там два, вам нужен тот что для атмегт328, он в дальней от usb части платы
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Евгений, ОЧЕНЬ ВАЖНЫЙ ВОПРОС! - у вас именно такая плата, как по ссылке, или "немножко другая"?
Выше вы пишете про переключатели - на этой плате их нет. У вас они есть или нет?
Отвечайте четко, не морочьте голову.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Про переключатели это я его спросил, так как до этого на Алике мне эти комбайны только с переключателями попадались, что меги, что уны. А оказывается вон и другие есть. Про оригинальную ARDUINO UNO WiFi REV2 в инструкции написано, что эту плату в IDE ещё отдельно добавить нужно, а не просто UNO выбирать. Так что да, лучше бы автор поконкретнее пальцем ткнул - я купил точно вот это точно вот здесь.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
kalapanga
А чё за переключатели?
Это на самой плате?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вот что конкретно я купил.
Цвет: UNO R3 WIFI-Cable
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А это фото.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
В описании продавца есть таблица:
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вот такой девайс я и имел ввиду. Значит всё про оригинальный девайс и описание с амперки откладываем в сторону, оно не про нас. Смотрим только табличку. Чтобы как в обычную UNO скетч залить, нужно установить свичи по второй строчке.
Так же значит справедливо и моё замечание о качестве этих устройств.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Спасибо. Я перепробовал все варианты. Скорее всего что-то с прошивкой.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Что-то мы никто не спросили простую вещь. Драйвера-то Вы поставили. А проверили, что при подключении платы к компу в диспетчере устройств появляется правильное устройство без каких-либо проблем?
Ещё можно попробовать достучаться до этого чуда через программатор, используя в качестве программатора другую ардуину с залитым скетчем ArduinoISP. Может удастся хоть как-то плату использовать.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
kalapanga, что ты отнего хочешь? Посмотри - он реагирует как ленивец из мультика. От вопроса "Что вы купили?" до ответа прошло 5 дней. От того как ему дали табличку переключателя до отчета - 9 дней.
И сами ответы все вялые и ниочем. Человек не живет, а спит. Нафига ему какая-то ардуина.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Что-то мы никто не спросили простую вещь. Драйвера-то Вы поставили. А проверили, что при подключении платы к компу в диспетчере устройств появляется правильное устройство без каких-либо проблем?
Ещё можно попробовать достучаться до этого чуда через программатор, используя в качестве программатора другую ардуину с залитым скетчем ArduinoISP. Может удастся хоть как-то плату использовать.
Да драйвера стоят, комп плату видит, но только не заливет.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Да драйвера стоят, комп плату видит, но только не заливет.
а две недели назад этого сказать нельзя было?
раз комп видит ардуину - переключатели не при чем, подключайте программатор на ISP-разъем и перезаливайте загрузчик.
И постарайтесь как-то болше проявлять инициативы, а то ощущение, что мы все вокруг суетимся, а вам это нафик не нужно
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Спасибо за комплимент.
Только я на двух работах работаю и спать мне некогда.
А к компу подхожу когда силы на это есть.
Я очень благодарен людям, которые действительно хотели помочь.
Все что мне написали, кроме того что я сплю как ленивец, на момент ответа уже проверил.
Мне один хороший человек дал другую плату, которая сразу заработала, а мою попробует починить.
Вот такие вкратце дела.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А подскажите дорогие форумчане, по поводу программирования где можно пообщаться?
Здесь, или в другой рубрике?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Евгений, а про то, что вы уже отдали плату и вам не нужны советы - вы когда собирались сообщить, еще через две недели?
Как по мне - это просто неуважение к тем, кто пытался помочь.
Если вы так же планируете общаться по программированию - это не со мной.- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я хочу для начала с помощью АРДУИНО две задачи решить.
1. У меня есть курятник. И мне нужно что бы вентиляшка включалась по уровню аммиака.
2. Хочу модернизировать газовый накопительный водонагреватель.
В нем придется учитывать а) давление газовой магистрали
б) температуру воды в емкости
в) температуру выхлопных газов
г) наличие пламени
и еще по мелочам.
Вот почему я заинтересовался АРДУИНкой
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Евгений, а про то, что вы уже отдали плату и вам не нужны советы - вы когда собирались сообщить, еще через две недели? Как по мне - это просто неуважение к тем, кто пытался помочь. Если вы так же планируете общаться по программированию - это не со мной.
Плату отдал вчера вечером. А сегодня утром увидел на почте, что пришли коменты. Мне очень нужны советы разбирающихся людей. И после того как появилась рабочая плата они мне еще больше нужны. Вы безосновательно меня обвиняете.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А подскажите дорогие форумчане, по поводу программирования где можно пообщаться?
Здесь, или в другой рубрике?
Оцените сами свой вопрос, который собираетесь задать. Если он "детский", от начинающего, то лучше задать его в разделе "Песочница" (хоть по программированию, хоть по железу). Более серьёзные именно в этой - "Программирование". Вам для реализации хотелок видимо датчики разные потребуются. Их работу в "Аппаратном" разделе обсуждать можно. Сама вот эта тема не совсем сюда подходит. Она или "Аппаратная" или "Общая". Но тема старая, ей уже всё равно.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
2. Хочу модернизировать газовый накопительный водонагреватель.
Тогда по программированию можешь форумы не искать, проживёшь дольше.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А ты профессиональный киллер?
Я должен сейчас испугаться?
Я просил помощи по языку программирования, а у меня люди просят помощи по системам газоснабжения, отопления и вентиляции.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А ты профессиональный киллер?
Дануштоты. Я профессиональный демотиватор. Просто я хочу чтоб в Курске не исчезло с карты одно домохозяйство с курятником.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я просил помощи по языку программирования, а у меня люди просят помощи по системам газоснабжения, отопления и вентиляции.
Здесь настороженно относятся к случаям, когда новички за автоматизацию потенциально опасного оборудования берутся. Это типа дисклеймер такой - вы всё делаете на свой страх и риск, за возможный ущерб никто ответственности не несёт.
А то спросит новичок про автоматизацию котла какого-нибудь и пропадает потом. Гадай, что с ним случилось! :)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Испугацца ты должен был раньше, еще когда тебе только в голову пришло влезть ардуиной в газовый котел ничерта не понимая в программировании.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А то спросит новичок про автоматизацию котла какого-нибудь и пропадает потом. Гадай, что с ним случилось! :)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А подскажите дорогие форумчане, по поводу программирования где можно пообщаться?
Здесь, или в другой рубрике?
Оцените сами свой вопрос, который собираетесь задать. Если он "детский", от начинающего, то лучше задать его в разделе "Песочница" (хоть по программированию, хоть по железу). Более серьёзные именно в этой - "Программирование". Вам для реализации хотелок видимо датчики разные потребуются. Их работу в "Аппаратном" разделе обсуждать можно. Сама вот эта тема не совсем сюда подходит. Она или "Аппаратная" или "Общая". Но тема старая, ей уже всё равно.
Спасибо. Я видимо не умею пользоваться форумами. Но программирование худо-бедно знаю. Я не плохо знаю Pascal, но С++ все же отличается, да и в добавок это не чистый С++. Поэтому у меня и вопросы.
Платформа Arduino – это один из самых простых путей погрузиться в мир микроконтроллеров и попробовать самому их программировать. Но однако и на этом пути вас могут подстерегать различные ошибки. Некоторые из них устранить очень просто, а на устранение других у вас могут уйти целые дни. В этой статье мы рассмотрим 10 самых распространенных ошибок при работе с платформой Arduino и способы их устранения.
Если вы начинающий в Arduino, то вначале рекомендуем вам ознакомиться с руководством по первому использованию платы Arduino для начинающих – в ней вы найдете решение самых простых ошибок, возникающих при работе с данной платой.
2. Плата не синхронизируется
Решение
Часто решить эту проблему удается простым выключением Bluetooth или WiFi на вашем компьютере. Если это не помогает, то более сложным вариантом решения данной проблемы является замена библиотеки JRE в Arduino IDE на ее последнюю версию.
Решение
Для решения этой проблемы модно использовать следующие способы уменьшения объема кода программы:
- Там, где это возможно, используйте целые типы данных (integer) вместо вещественных (float).
- Там, где это возможно, используйте при объявлениях переменных спецификатор “const”.
- Подключайте в программу только те библиотеки, которые вы будете использовать. Там, где это возможно, используйте облегченные версии используемых библиотек.
- Используйте специальные алгоритмы и другие способы уменьшения объема кода программы.
Более радикальным решением этой проблемы является смена платы Arduino на плату с большим объемом памяти. Например, плату Arduino Uno можно заменить на плату Arduino Mega, или даже на плату Arduino Due.
1. Плата Arduino не распознается
В этой ситуации плата Arduino, подключается к компьютеру, не распознается им. В этом случае плата Arduino не появляется в списке устройств, подключенных к компьютеру по COM портам, как показано на следующем рисунке.
9. Размер скетча слишком большой (Sketch Too Large)
Эта ошибка происходит когда размер кода программы больше чем объем перепрограммируемой памяти (flash memory, памяти для хранения программ) используемой вами платы Arduino. К примеру, объем этой памяти в плате Arduino Uno составляет 32 Кбайта, из которых 2 Кбайта заняты загрузчиком. Если вы попытаетесь загрузить в данную плату скетч объемом более 32 Кбайт, то увидите подобную ошибку.
Частые ошибки в коде, приводящие к ошибке компиляции
- expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
- stray ‘\320’ in program – русские символы в коде
- expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
- … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
- redefinition of … – повторное объявление функции или переменной
- storage size of … isn’t known – массив задан без указания размера
3. Код программы не начинает исполняться при нажатии кнопки сброса (Reset)
В этом случае плата Arduino при включении питания и при нажатии кнопки сброса не начинает исполнять записанный в нее скетч, а обычно возвращается к исполнению стандартного скетча, записанного в загрузчик платы – это скетч мигания светодиодом.
Видео
Предупреждения
Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет критических ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:
Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:
- Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс Flash памяти. А он довольно большой.
- Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
- Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов. Подробнее в этом уроке.
- Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию. Подробнее в этом уроке.
- Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
- Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу.
- Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь.
- Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI
Решение
Для решения этой проблемы найдите файл comm.jar или jcl.jar в папке /System/Library/Frameworks/JavaVM.framework/ или в папках на вашем компьютере, относящимся к переменным окружения CLASSPATH или PATH.
Читайте также: