Какой программатор выбрать для arduino uno в ide
Перейти к содержимому

Какой программатор выбрать для arduino uno в ide

  • автор:

Какой программатор выбрать для arduino uno в ide

Среда разработки Ардуино

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

Написание программ

Программы, создаваемые в среде разработки Ардуино, иногда еще называют скетчами. Скетчи пишутся в текстовом редакторе и сохраняются в файлах с расширением .ino. Встроенный текстовый редактор имеет стандартные инструменты копирования, вставки, поиска и замены текста. Область сообщений в окне программы является, своего рода, обратной связью для пользователя и информирует его о событиях (в том числе и об ошибках), возникающих в процессе записи или экспорта написанного кода. Консоль отображает в виде текста поток выходных данных среды Ардуино, включая все сообщения об ошибках и пр. генерируемую ею информацию. В нижнем правом углу окна программы показывается модель текущей платы и последовательный порт, к которому она подключена. Кнопки на панели инструментов предназначены для создания, открытия, сохранения и прошивки программ в устройство. Отдельная кнопка запускает программу SerialMonitor.

Примечание: В старых версиях IDE (до версии 1.0) скетчи сохраняются с расширением .pde. Такие файлы без проблем открываются в версии 1.0, но при их пересохранении появится сообщение с предложением изменить формат файла на .ino.

Verify (Проверить)
Проверить код на ошибки.

Upload (Прошить)
Скомпилировать программу и «зашить» ее в микроконтроллер Ардуино. Подробнее о прошивке — см. ниже.

Примечание: чтобы прошить микроконтроллер через внешний программатор — нужно зажать клавишу «shift» перед нажатием на эту иконку. При этом текст возле кнопки изменится на «Upload using Programmer».

New (Создать)
Создать новую программу.

Open (Открыть)
Команда открывает меню со списком всех скетчей, доступных в вашей рабочей папке. После щелчка по файлу его содержимое откроется в текущем окне.

Примечание: к сожалению, из-за бага Java’ы, в этом меню не работает скроллинг; поэтому если вам нужно открыть программу из самого конца списка — лучше используйте меню File | Sketchbook.

Save (Сохранить)
Сохранить программу

Serial Monitor
Открыть программу «Serial Monitor» (для работы с последовательным интерфейсом).

Дополнительные команды находятся в меню: File, Edit, Sketch, Tools и Help. В этих меню всегда активны только те пункты, которые можно применить к текущему элементу или фрагменту кода.

Меню «Edit (Правка)«
  • Copy for Forum (Скопировать для форума)
    Скопировать код программы в буфер обмена в специальном формате, удобном для постинга на форум (с подсветкой синтаксиса).
  • Copy as HTML (Скопировать как HTML)
    Скопировать код программы в буфер обмена в виде HTML-кода, удобного для встраивания в веб-страницы.
Меню «Sketch (Программа)«
  • Verify/Compile (Проверить/Компилировать)
    Проверить код программы на ошибки.
  • Show Sketch Folder (Показать папку программы)
    Открыть папку с файлом текущего скетча.
  • Add File. (Добавить файл. )
    Добавляет исходный файл к текущей программе (выбранный файл будет скопирован из исходной папки). Добавленный файл появится в новой вкладке главного окна. Удалить файлы можно с помощью таб-меню.
  • Import Library (Импортировать библиотеку)
    Добавляет библиотеку к вашей программе путем вставки оператора #include вначале кода. Подробнее о библиотеках см. ниже. Кроме того, в версиях IDE 1.0.5 и выше реализована возможность импортирования библиотек из .zip-архивов.
Меню «Tools (Инструменты)«
  • Auto Format (Автоформат)
    Эта команда наводит красоту в вашем коде, а именно: делает одинаковые отступы соответствующих открывающих и закрывающих фигурных скобок, дополнительные отступы кода внутри логических блоков.
  • Archive Sketch (Заархивировать скетч)
    Создать .zip-архив текущего скетча. Результирующий архив помещается в папку с программой.
  • Board (Плата)
    Выбрать модель используемого Ардуино. Описание различных плат Ардуино см. ниже.
  • Serial Port (Последовательный порт)
    Это меню содержит список всех последовательных устройств, присутствующих в системе (как физических, так и виртуальных). Их список должен обновляться автоматически при каждом открытии главного меню.
  • Programmer (Программатор)
    Позволяет выбрать внешний программатор для прошивки микроконтроллера без использования USB-соединения. Обычно эта функция требуется редко — например, для прошивки загрузчика в новый микроконтроллер.
  • Burn Bootloader (Прошить загрузчик)
    Это меню позволяет прошить загрузчик в контроллер Ардуино. При нормальной работе Ардуино эта функция обычно не требуется, но она может быть полезна, если вам вдруг потребуется заменить микроконтроллер ATmega на новый (который с магазина идет без загрузчика). Перед прошивкой убедитесь, что в меню Boards выбрана именно ваша плата.

Скетчбук (рабочая папка)

В среде разработки Ардуино используется принцип организации скетчбука: все ваши программы (или скетчи) хранятся в одном месте. Чтобы просмотреть их, необходимо выбрать меню File > Sketchbook или щелкнуть по кнопке Open на панели инструментов. Директория для хранения ваших программ будет автоматически создана при первом запуске среды Ардуино. Ее месторасположение всегда можно изменить в окне настроек программы.

Начиная с версии 1.0, файлы скетчей имеют расширение .ino. В предыдущих версиях использовалось расширение .pde. В новых версиях программы (1.0 и старше) файлы .pde по-прежнему можно открыть, только их расширение будет автоматически переименовано на .ino.

Вкладки, компиляция и работа с несколькими файлами

Среда Ардуино позволяет работать с программами, состоящими из нескольких файлов (каждый из которых открывается в отдельной вкладке). Например, это могут быть файлы Ардуино (без расширения), C-файлы (с расширением .c), файлы C++ (с расширением .cpp) или заголовочные файлы (.h).

Прошивка

Перед тем, как прошивать программу в контроллер, необходимо правильно выбрать плату и последовательный порт в меню Tools > Board и Tools > Serial Port соответственно. Разновидности плат Ардуино перечислены ниже. Последовательный порт на Mac-системах будет выглядеть примерно так: /dev/tty.usbmodem241 (для Arduino Uno, Mega2560 или Leonardo) или /dev/tty.usbserial-1B1 (для Duemilanove или более старых версий Ардуино с USB), или /dev/tty.USA19QW1b1P1.1 (для USB-UART преобразователей Keyspan). На Windows-системах, необходимый порт скорее всего будет COM1 или COM2 (для устройств с последовательным интерфейсом), либо COM4, COM5, COM6 и выше (для Ардуино с USB) — определить необходимый номер порта можно в Диспетчере устройств, отыскав строку «USB serial device» в разделе Порты. На Linux-системах последовательный порт будет выглядеть как /dev/ttyUSB0, /dev/ttyUSB1 или что-то наподобие.

После выбора используемого порта и платы, необходимо нажать кнопку Upload на панели инструментов или выбрать пункт Upload из меню File. После этого произойдет сброс Ардуино и начнется процесс загрузки программы в память контроллера. В старых моделях (до Arduino Diecimila) функция авто-сброса отсутствует, поэтому перед прошивкой таких устройств необходимо вручную нажать кнопку сброса на плате. В процессе загрузки на большинстве моделей Ардуино будут мигать светодиоды RX и TX. По завершению процесса прошивки, программа выдаст соответствующее сообщение или ошибку.

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

Библиотеки

Библиотеки расширяют функциональность программ и несут в себе дополнительные функции, например, для работы с аппаратными средствами, функции по обработке данных и т.д. Для подключения библиотеки необходимо выбрать ее из меню Sketch > Import Library. После этого библиотека будет скомпилирована, а в начало программы будет добавлен один или несколько операторов #include. Помните, что библиотеки загружаются в контроллер вместе со скетчем, поэтому каждая подключенная библиотека треубет дополнительного места в памяти микроконтроллера. Соответственно, если та или иная библиотека больше не используется в вашей программе — просто удалите оператор #include из программы.

Список основных библиотек, описанных на сайте, приведен здесь. Некоторые из них устанавливаются вместе со средой разработки Ардуино, остальные можно скачать из разных источников. В версиях IDE 1.0.5 и старше реализована возможность импорта библиотек прямо из zip-архива и подключения их к текущему скетчу. См. инструкции по установке сторонних библиотек.

Инструкции по написанию собственных библиотек см. здесь.

Оборудование сторонних производителей

Для работы с «железом» сторонних производителей необходимо добавить ряд файлов в директорию hardware, расположенную внутри рабочей папки. Среди этих файлов должны быть файлы с информацией о добавляемой плате (эта информацию будет отображаться в меню Board), библиотеки, загрузчики и параметры для программатора. Для установки нового оборудования необходимо создать папку внутри директории hardware и распаковать в нее содержимое архива с данными о добавляемом «железе». (Не следует называть создаваемую папку «arduino», иначе будет затерта информация о самой платформе Ардуино). Чтобы удалить добавленное оборудование — достаточно просто удалить его папку.

Дополнительную информацию о создании пакетов для стороннего оборудования можно найти в соответствующем разделе на сайте Arduino Google Code.

Программа «Serial Monitor»

Отображает данные, поступающие от Ардуино на компьютер по последовательному интерфейсу (поддерживается работа как с USB-, так и с обычными версиями Ардуино). Чтобы отправить данные внешнему устройству, достаточно просто ввести текст в окне программы и щелкнуть по кнопке «Отправить» (либо нажать Enter). Из выпадающего списка необходимо выбрать только скорость передачи данных, соответствующую той скорости, которую вы указали в функции Serial.begin() в вашем скетче. Помните, что на Mac- и Linux-системах, Ардуино будет сбрасываться при каждом подключении программы к устройству (соответственно, после сброса скетч будет выполняться заново).

Общаться с Ардуино можно также через Processing, Flash, MaxMSP и пр. (подробнее об этом читайте здесь).

Настройки

Некоторые параметры можно задать непосредственно в окне настроек программы (на Mac-системах это окно вызывается из меню Arduino, на Windows и Linux-системах — из меню File). Остальные параметры находятся в конфиг-файле, местонахождение которого также указано в окне настроек.

Поддерживаемые языки

Среда разработки Ардуино 1.0.1 переведена более чем на 30 различных языков. По умолчанию, язык IDE выбирается исходя из языковых настроек вашей операционной системы. (Обратите внимание: на Windows и Linux-системах язык IDE определяется по региональным настройкам, отвечающим за формат даты и валюты, а не по языкоу самой операционной системы).

Если вы хотите вручную изменить текущий язык программы, запустите среду Ардуино и откройте окно настроек. В поле Editor Language будет выпадающий список поддерживаемых языков. Выберите из списка предпочитаемый язык и перезапустите программу, чтобы изменения вступили в силу. Если выбранный вами язык не поддерживается, то по умолчанию IDE подгрузит английскую локализацию.

Чтобы сбросить языковые настройки среды и вернуть автоматический выбор ее языка по региональным настройкам операционной системы, в выпадающем списке необходимо выбрать пункт System Default. Изменения вступят в силу после перезапуска IDE Arduino. И наоборот, чтобы изменение языковых настроек операционной системы повлияли на текущий язык программы, необходимо просто перезапустить среду Ардуино.

Разновидности плат

Выбирать модель используемой платы в среде Ардуино необходимо по двум причинам:

  1. Чтобы задать параметры, используемые во время компиляции и прошивки скетчей (такие, как тактовая частота, бодрейт и др.);
  2. Чтобы задать настройки фьюз-битов, используемые во время прошивки загрузчика в контроллер платы.

Ниже перечислены основные пункты меню Boards и дана расшифровка соответствующих им настроек:

  • Arduino Uno
    ATmega328, работающий на частоте 16 МГц с авто-сбросом, используемый загрузчик — optiboot (115200 бод, 0.5 КБ).
  • Arduino Duemilanove w/ ATmega328
    ATmega328, работающий на частоте 16 МГц с авто-сбросом.
  • Arduino Diecimila or Duemilanove w/ ATmega168
    ATmega168, работающий на частоте 16 МГц с авто-сбросом. Настройки компиляции и прошивки эквивалентны пункту Arduino NG or older w/ ATmega168, за исключением загрузчика с уменьшенным таймаутом (после сброса платы светодиод на 13-м выводе мигает только один раз).
  • Arduino Nano w/ ATmega328
    ATmega328, работающий на частоте 16 МГц с авто-сбросом. Имеет восемь аналоговых входов.
  • Arduino Nano w/ ATmega168
    ATmega168, работающий на частоте 16 МГц с авто-сбросом. Настройки компиляции и прошивки эквивалентны пункту Arduino NG or older w/ ATmega168, за исключением загрузчика с уменьшенным таймаутом (после сброса платы светодиод на 13-м выводе мигает только один раз). Имеет восемь аналоговых входов.
  • Arduino Mega 2560 or Mega ADK
    ATmega2560, работающий на частоте 16 МГц с авто-сбросом, используемый загрузчик — stk500v2.
  • Arduino Mega (ATmega1280)
    ATmega1280, работающий на частоте 16 МГц с авто-сбросом.
  • Arduino Leonardo
    ATmega32u4, работающий на частоте 16 МГц с авто-сбросом.
  • Arduino Mini w/ ATmega328
    ATmega328, работающий на частоте 16 МГц с авто-сбросом, используемый загрузчик — optiboot(115200 бод, 0.5 КБ). Имеет восемь аналоговых входов.
  • Arduino Mini w/ ATmega168
    Настройки эквивалентны пункту Arduino NG or older w/ ATmega168 (т.е. ATmega168, работающий на частоте 16 МГц без авто-сброса).
  • Arduino Ethernet
    Настройки эквивалентны Arduino UNO с установленной Ethernet-платой расширения.
  • Arduino Fio
    ATmega328, работающий на частоте 8 МГц с авто-сбросом. Настройки эквивалентны пункту Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega328.
  • Arduino BT w/ ATmega328
    ATmega328, работающий на частоте 16 МГц. Прошитый загрузчик (4 КБ) содержит коды для инициализации встроенного bluetooth-модуля.
  • Arduino BT w/ ATmega168
    ATmega168, работающий на частоте 16 МГц. Прошитый загрузчик (4 КБ) содержит коды для инициализации встроенного bluetooth-модуля.
  • LilyPad Arduino w/ ATmega328
    ATmega328, работающий на частоте 8 МГц (3.3В) с авто-сбросом. Настройки эквивалентны пункту Arduino Pro or Pro Mini (3.3V, 8MHz) w/ ATmega328.
  • LilyPad Arduino w/ ATmega168
    ATmega168, работающий на частоте 8 МГц. Настройки компиляции и прошивки эквивалентны пункту Arduino Pro or Pro Mini (8MHz) w/ ATmega168. Используется загрузчик с уменьшенным таймаутом (при сбросе платы светодиод на 13-м выводе мигает три раза), поскольку базовые версии LilyPad не поддерживают функцию авто-сброса. В LilyPad также нет внешнего тактового генератора, поэтому при прошивке загрузчика фьюз-биты ATmega168 устанавливаются таким образом, чтобы контроллер тактировался от внутреннего генератора на 8 МГц.

Инструкции по добавлению в программу других устройств описаны выше в разделе «Оборудование сторонних производителей». Текст данного руководства опубликован под лицензией Creative Commons Attribution-ShareAlike 3.0. Примеры кода, встречающиеся в руководстве, являются свободным контентом.

Какой программатор выбрать для arduino uno в ide

Arduino Uno в качестве программатора AVR

Автор: Coolerr
Опубликовано 29.04.2013
Создано при помощи КотоРед.

Всем мяу, статья про то как Arduino использовать в качестве программатора для AVR микроконтроллеров. Началось всё с того, что в спешке на выход своего программатора я подал 12в, прощально мигнув светиком проггер умер. Вот такой был.

Вспомнив, что есть у меня Ардуина решил использовать её, хрень то универсальная. Драйвера и Arduino IDE скачать можно по ссылке https://arduino.cc/en/Main/Software

Подключаем ардуину устанавливаем дрова, в диспетчере устройств смотрим компорт на который повисла ардуина, если далеко, то меняем на поближе. В Arduino IDE выбираем нужный порт и нужную плату. Заливам скетч(в архиве ArduinoISP.pde), прям в скетче написаны пины ардуины 10-reset, 11-MOSI, 12-MISO, 13-SCK

питание контроллера берем прям с платы. Один нюанс, дабы ардуина не сделала автосброс контроллера после прошивки нужно поставить кондер 10мкф25в на пины ардуины reset и GND. Вот так

В том же архиве есть прога для прошивки avrdude, но так как она консольная и фьюзы через консоль прошивать та ещё задача, там же лежит ГУИшная морда AVR Burn-O-Mat, касаемо её работы сначала нужно запустить файл install_giveio.bat, а потом start.bat появится вот такое окно, про него рассказывать не буду т.к все и так понятно.

Заходим в настройки, здесь прописываем пути к файлам avrdude.exe и avrdude.conf выбираем программатор avrisp и порт который мы выбирали в Arduino IDE, в самом низу дописываем доп команду -b 19200 это скорость порта, без этой строки нифига не получится, жмём применить и ок.

Дальше по накатанной, шьём hex открываем окно Fuses

здесь тоже ничего нового, fuse как CodeVision снятая галка=1, есть режим пользователя и эксперта, различие в красных строчках в пользователе залочен SPIEN и RSTDISBL.
Собственно на этом всё, спасибо за внимание!

А да, фотка девайса с которого всё началось

Какой программатор выбрать для arduino?

Здравствуйте, хочу купить себе программатор для таких плат как arduino mini, pro, pro mini.
Можно ли использовать один программатор на все эти платы?
Смотрел на али, подойдет ли мне такой?
Заранее большое спасибо!

  • Вопрос задан более трёх лет назад
  • 11305 просмотров

Комментировать
Решения вопроса 1

anthtml

Системный администратор программист радиолюбитель

Ардуино со встроенном бутлоадером может прошиваться через UART, чистый же контроллер прошивается через SPI. Предложенный вами TTL подойдет для прошивки ардуин без встроенного преобразователя (pro. mini, micro и т.д.), но у него нет выхода DTR, придется при кажной перепрошивке нажимать ресет на ардуине. Есть такие же преобразователи, но с выведенным пином DTR, тогда ресетить ардуину ненадо, будет прошиваться также как и uno/nano по родному usb.

Ответ написан более трёх лет назад
Нравится 3 3 комментария

vanesxl

VaneS Ri_Lax @vanesxl Автор вопроса
А где можно купить такой преобразователь с выделенным пином DTR?

anthtml

да впринципе везде ru.aliexpress.com/wholesale?catId=0&initiative_id=.

vanesxl

VaneS Ri_Lax @vanesxl Автор вопроса
AntHTML: Спасибо, заказал!)
Ответы на вопрос 4

temchik

Смотрел на али, подойдет ли мне такой?

вообще-то это даже не программатор, а преобразователь USB-RS232, точнее USB-UART, тк для RS232 нужно еще сформировать соответствующие уровни, чего этот преобразователь не делает (по крайней мере мой PL2303 так точно)

по вопросу программирования — по сути у вас же есть ардуинка, ее ведь можно использовать в качестве программатора.
ну а если хочется отдельно программатор, то нужно смотреть в сторону AVR ISP, USBasp, но тут уже нужно понимать, что работать вы будете напрямую с контроллером ATMEL AVR, нужно знать про фьюзы и тп.

Ответ написан более трёх лет назад

vanesxl

VaneS Ri_Lax @vanesxl Автор вопроса

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

temchik

необходимо отличать RS232 от UART: RS232 это один из физических уровней реализации UART, это старый-добрый COM порт который еще можно встретить на старых компах. для того чтобы из него получить UART (то есть TTL уровни 0-5В) нужна микросхемка, например MAX232. а ардуине нужен UART.

ардуино прошивается через интерфейс RS232

можно сказать и так, но только точнее будет через UART, и скорее не «прошивается» а просто «заливается», тк в ардуино уже прошит бутлоадер, который позволяет заливать прошивку через UART. Если вы возьмете например Arduino UNO (или какие там еще есть со съемными контроллерами) и захотите купить и поставить в него новый контроллер, то у вас ничего выйдет. опять же, дело в бутлоадере. и чтобы его прошить нужен программатор AVR ISP/USBasp либо вторая ардуина со скетчем ISP.
и еще есть нюанс, который связан с подачей сигнала RESET. можно конечно вручную пытаться его «поймать», но по-моему это не выход. есть еще преобразователи с выводом DTR.
гляньте эту статью
geektimes.ru/post/255374

Какой программатор должен стоять при прошивке Arduino Nano?

63846bb7449d5641628701.png

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

  • Вопрос задан более года назад
  • 3278 просмотров

Комментировать

Решения вопроса 2

Никакой. Точнее сказать, не важно, что в этом пункте выбрано. Вы же не используете программатор.
Возможно в пункте «Процессор» следует выбрать «ATmega328P (Old bootloader)»

Ответ написан более года назад

Комментировать

Нравится 2 Комментировать

Константин Зайцев @KonstantineZ

Не важно, эта настройка для внешнего программатора через SPI (шестиконтактная колодка).
Если ардуинки брали давно, рекомендую попробовать выбрать Процессор > ATMega328P (Old Butloader)

Ответ написан более года назад

Комментировать

Нравится 1 Комментировать

Ответы на вопрос 0

Ваш ответ на вопрос

Войдите, чтобы написать ответ

arduino

  • Arduino
  • +1 ещё

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

  • 1 подписчик
  • 30 апр.
  • 92 просмотра

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *