Рассмотрим основную программу, с которой будем работать – Arduino IDE. IDE расшифровывается как интегрированная среда разработки, и в нашем случае представляет собой блокнот, в котором мы пишем код, препроцессор и компилятор, которые проверяют и компилируют код, и инструменты для загрузки, которые загружают код выбранным способом.
IDE написана на java, поэтому не удивляйтесь её долгому запуску, большому объему занимаемой оперативки и медленной работе. Несмотря на огромный опыт работы с ардуино я до сих пор продолжаю писать код в Arduino IDE, потому что я к ней привык. Помимо перечисленных проблем стандартная IDE выделяется на фоне “взрослых” сред разработки отсутствием дерева/файловой структуры проекта (что не нужно для простых проектов), отсутствием рефакторинга, отсутствием автоматического дополнения кода (хотя его обещают вот-вот добавить и уже есть beta) и очень медленной компиляцией кода. Этих недостатков лишены аналоги Arduino IDE, о них поговорим в конце урока. Помимо отсутствия озвученных недостатков там есть некоторые полезные фишки, например все define-ы файла с кодом отображаются в отдельном блоке и с ними очень удобно работать.
10 полезных фишек Arduino IDE
Интерфейс
Сначала рассмотрим общий вид программы, т.е. как она выглядит после запуска. В самом центре – блокнот, то самое место, где пишется код. По умолчанию уже написаны два стандартных блока, setup и loop. К ним вернёмся в разделе уроков программирования. Всё остальное можно увидеть на скриншоте ниже.
- Проверить – компиляция (сборка, проверка на ошибки…) кода без его загрузки в плату. То есть код можно написать и проверить на ошибки даже не подключая плату к компьютеру
- Загрузить – компиляция и загрузка прошивки в плату
- Создать/открыть/сохранить – тут всё понятно
- Монитор порта – кнопка открывает монитор последовательного пора для общения с платой
- Меню вкладок – работа с вкладками, о них поговорим ниже
- Текущее состояние – тут выводится краткая информация о последнем действии: загрузка завершена, ошибка загрузки, автоформатирование завершено и т.д.
- Лог работы – тут выводится лог компиляции и вообще все системные сообщения, отчёты об ошибках и размере скомпилированного кода
- Конфигурация оборудования – выводится название выбранной платы, версии микроконтроллера и номер выбранного COM порта
Пробежимся по пунктам меню, которые я считаю первостепенно важными, с остальными можно познакомиться самостоятельно по ходу работы с программой. Версия моей IDE – 1.8.8, в новых что-то может отличаться
Вкладка “Файл”
- Новый
- Открыть
- Открыть недавние
- Папка со скетчами – список скетчей, которые сохранены туда, куда программа предлагает их сохранять по умолчанию (Документы/Arduino)
- Примеры – список установленных библиотек с подсписком примеров к каждой. Весьма полезная штука
- Закрыть
- Сохранить
- Сохранить как…
- Настройки страницы (для печати)
- Печать
- Настройки
- Выход
Далее сразу рассмотрим окно настроек:
Как быстро установить и настроить Arduino IDE. Проверка соединения. Уроки Arduino для начинающих
Окно настроек
Куча интересных настроек на свой вкус. Из них отмечу
- Размещение папки скетчей – куда по умолчанию сохраняются скетчи
- Показать подробный вывод – показывает подробный лог при компиляции и загрузке, нужно при поиске багов и непонятных глюков/ошибок
- Использовать внешний редактор – запрещает редактирование кода из Arduino IDE, чтобы редактировать его в других редакторах, например Notepad++. Редактируем там, а загружаем через IDE. Зачем это? Писать код в том же Notepad++ гораздо удобнее и приятнее, чем в Arduino IDE. К сожалению.
- Дополнительные ссылки для менеджера плат – сюда вставляются ссылки на пакеты для работы с другими платами, например такими основанными на ESP8266 или ATtiny85.
Вкладка “Правка”
Во вкладке Правка ничего такого особенного нет, всё как в других программах
Вкладка “Скетч”
- Проверить/компилировать – то же, что кнопка галочка
- Загрузка – то же, что кнопка загрузка
- Загрузить через программатор – загрузить скетч напрямую в МК, минуя загрузчик
- Экспорт бинарного файла – сохраняет скомпилированный файл, который и загружается в МК. Бинарный файл хорош тем, что содержащийся в нём код практически невозможно не то что отредактировать, но даже прочитать как вменяемый код. Именно в таком виде обычно поставляются прошивки для цифровой техники, чтобы никто не видел исходник =)
- Показать папку скетча
- Подключить библиотеку – подключает в код библиотеку, с директивой include, всё как нужно
- Управлять библиотеками… – открывает менеджер библиотек, из которого можно установить библиотеки из официального списка
- Добавить .zip библиотеку – не рекомендую так делать, потом не найдёте, куда она установилась
Вкладка “Инструменты”
- АвтоФорматирование – выравнивает код по табуляции. Крайне важная фишка, используйте её и комбинацию Ctrl+T как можно чаще
- Архивировать скетч – сохраняет скетч как .zip архив
- Исправить кодировку и перезагрузить – полезная штука, когда скачал чей-то код из интернета, а там поехала кодировка
- Управлять библиотеками… – открывает менеджер библиотек, из которого можно установить библиотеки из официального списка
- Монитор порта
- Плоттер по последовательному соединению – встроенный построитель графиков по идущим в порт данным
- Плата – выбор платы, куда хотим загрузить прошивку
- Процессор – выбор процессора, который стоит на плате. Обычно он один на выбор, но иногда есть варианты
- Порт – COM порт, к которому подключена плата. Это всегда порт, отличный от COM1 (системный порт)
- Программатор – выбор программатора для загрузки кода через программатор
- Записать загрузчик – прошивает загрузчик, соответствующий выбранной плате и процессору в микроконтроллер при помощи программатора (который ISP)
Меню вкладок
Система вкладок в Arduino IDE работает крайне необычным образом и очень отличается от понятия вкладок в других программах:
- Вкладки относятся к одному и тому же проекту, к файлам, находящимся с ним в одной папке
- Вкладки просто разбивают общий код на части, то есть в одной вкладке фигурная скобка может открыться, а в следующей – закрыться >. При компиляции все вкладки просто объединяются в один текст по порядку слева направо (с левой вкладки до правой). Также это означает, что вкладки должны содержать код, относящийся только к этому проекту, и сделать в одной вкладке void loop() и в другой – нельзя, так как loop() может быть только один
- Вкладки автоматически располагаются в алфавитном порядке, поэтому создаваемая вкладка может оказаться между другими уже существующими. Это означает, что разбивать блоки кода по разным вкладкам (как во втором пункте, на одной вкладке, > на другой вкладке) – крайне не рекомендуется.
- Также не забываем, что переменная должна быть объявлена до своего вызова, то есть вкладка с объявлением переменной должна быть левее вкладки, где переменная вызывается. Создавая новую вкладку нужно сразу думать, где она появится с таким именем и не будет ли из за этого проблем. Также название вкладок можно начинать с цифр и таким образом точно контролировать их порядок. Во избежание проблем с переменными, все глобальные переменные лучше объявлять в самой первой вкладке.
- Вкладки сохраняются в папке с проектом и имеют расширение .ino, при запуске любой вкладки откроется весь проект со всеми вкладками.
- Помимо “родных” .ino файлов Arduino IDE автоматически подцепляет файлы с расширениями .h (заголовочный файл), .cpp (файл реализации) и .pde (старый формат файлов Arduino IDE). Эти файлы точно так же появляются в виде вкладок, но например заголовочный файл .h не участвует в компиляци до тех пор, пока не будет вручную подключен к проекту при помощи команды include. То есть он висит как вкладка, его можно редактировать, но без подключения он так и останется просто отдельным текстом. В таких файлах обычно содержатся классы или просто отдельные массивы данных.
Источник: portalrabot.ru
Скачать программу для программирования ардуино уно. Установка и настройка Arduino IDE под Windows. Версия Linux и Mac
По умолчанию ядром программы поддерживаются только AVR -платы Arduino . Некоторые платы Arduino требуют использования дополнительных функций, которые должны быть установлены в ядро программы.
Одним из примеров является Arduino Due , которая использует ARM/SAM микроконтроллеры. Для того была возможность, используя Arduino IDE , программировать Arduino Due , необходимо установить SAM-я дро с помощью Boards Manager .
В этом примере мы установим ядро, необходимое для платы Arduino Due .
Выбираем меню Инструменты → Плата → Boards Manager
Откроется окно Менеджера плат, в котором вы увидите список установленных и доступных плат. Выберем ядро SAM , требуемую версию (как и в случае с может быть доступна лишь одна версия, поэтому выпадающего списка с перечнем доступных версий может и не быть) и жмем Install .
По завершению процесса установки (который может занять достаточно продолжительное время) статус ядра SAM станет INSTALLED . Теперь плата Arduino Due станет доступна в меню Инструменты → Плата.
Ручная установка плат
Также имеется возможность добавления плат в ручном режиме. Этот метод работает на и на . Для версии IDE 1.6.2 метод не работоспособен (баг исправлен в релизе 1.6.3). Насчет версий ранее 1.6.1 ничего сказать не могу.
Расскажу на примере плат компании Adafruit .
Сначала скачиваем файлы описания для плат с GitHub -репозитория Adafruit или по ссылке ниже (на GitHub , возможно, будет более свежая версия этого архива).
Category: | Programs |
Date: | 06.04.2015 |
Если вы скачали архив с Github , то распакуйте архив и переменуйте получившуюся папку из Adafruit_Arduino_Boards-master в Adafruit_Arduino_Boards .
Внутри этой папки вы обнаружите две подпапки:
- hardware , также содержащую подпапки adafruit и tools
- drivers , в которой находятся драйвера Flora для Windows
В Mac OS папка скрыта внутри пакета приложения. Для того, чтобы найти ее делаем правый клик на приложении Arduino IDE и выбираем Показать содержимое пакета
Переходим внутри по вложенным подпапкам Contents → Java и находим там папку hardware .
Теперь нужно внимательно объединить содержимое папки hardware c аналогичной папкой из скаченного нами ранее и распакованного архива с описанием плат с сайта Adafruit . Нужно удостовериться в том, что вы переписали конфликтующие файлы (в данном случае avrdude.conf ). После всех операций папка hardware приложения Arduino IDE будет иметь следующую структуру:
Если вы работаете в Windows , то вам необходимо будет переписать еще и папку drivers .
Если все сделано правильно, то новые платы появятся в меню Инструменты → Плата в Arduino IDE .
Платы на базе микроконтроллеров ATTiny
Один из моих читателей — Павел Пащенко любезно поделился файлами описаний к микроконтроллерам серии ATTiny. Cпасибо, Павел!
Category: | Programs |
Date: | 08.04.2015 |
Установка аналогична описанной выше.
Получившийся у Павла результат в Windows :
Платы на базе микроконтроллера Atmega8
Для микроконтроллеров Atmega8 с внешним кварцем на 8 МГц и без загрузчика, в файл boards.txt необходимо добавить следующие строки:
############################################################## atmega8.name=ATmega8 (no bootloader 8MHz ext) atmega8.upload.protocol=arduino atmega8.upload.tool=usbasp atmega8.upload.maximum_size=7680 atmega8.upload.speed=115200 atmega8.bootloader.low_fuses=0xFF atmega8.bootloader.high_fuses=0xD9 atmega8.bootloader.unlock_bits=0x3F atmega8.bootloader.lock_bits=0x0F atmega8.build.mcu=atmega8 atmega8.build.f_cpu=8000000L atmega8.build.core=arduino atmega8.build.variant=standard
atmega8 . name = ATmega8 (no bootloader 8MHz ext )
atmega8 . upload . protocol = arduino
atmega8 . upload . tool = usbasp
atmega8 . upload . maximum_size = 7680
atmega8 . upload . speed = 115200
atmega8 . bootloader . low_fuses = 0xFF
atmega8 . bootloader . high_fuses = 0xD9
atmega8 . bootloader . unlock_bits = 0x3F
atmega8 . bootloader . lock_bits = 0x0F
atmega8 . build . mcu = atmega8
atmega8 . build . f_cpu = 8000000L
Разрабатывать бытовые электронные устройства теперь намного проще благодаря проектам вроде Arduino. Эта компания разрабатывает и производит аппаратные платы для создания цифровых и интерактивных устройств с помощью других присоединяемых дополнений. И все это благодаря тому, что он распространяется как проект с открытым исходным кодом.
Что ж, если вы уже погрузились в захватывающий мир эффективного использования возможностей, предоставляемых этими маленькими и базовыми компьютерами, вам следует скачать свою Arduino IDE (среду разработки).
Начинайте программирование микроконтроллерных плат с открытым исходным кодом
Arduino IDE и её альтернативы. Программирование Arduino на чистом C++
Стандартная среда разработки Arduino IDE проста в использовании и подходит начинающим разработчикам. Скачать последнюю версию этой среды разработки можно на официальном сайте .
Например, если нужна IDE для Windows, то переходим по этой ссылке
и жмем JUST DOWNLOAD.
Однако Arduino IDE имеет ряд недостатков , особенно в плане интерфейса. Конечно, с ними можно мериться некоторое время, но рано или поздно перед разработчиком встает вопрос о поиске более удобной среды разработки (или даже полном об отказе от всяких IDE).
Во-первых, надо понимать, что по-умолчанию в среде Arduino IDE используется приближенный к C/C++ язык программирования Wiring. Он имеет такой же синтаксис, но отличается наличием множества готовых библиотек. Можно сказать, что это light-версия языка C. В любом случае компиляция кода происходит с помощью компилятора AVR-GCC, который входит в комплект Arduino IDE, но AVR-GCC можно установить и без Arduino IDE. Под линуксом, например:
$ sudo apt-get install gcc-avr
Итак, рассмотрим альтернативы Arduino IDE.
CodeBlocks
CodeBlocks — свободная кроссплатформенная среда разработки, которая изначально имеет поддержку компилятора AVR-GCC с подключением стандартных Ардуиновских библиотек.
Однако у меня с ним не сраслось. Уже не помню точно почему. Дело в том, что многое там нужно настраивать вручную, что дастаточно муторно.
Arduino-make
Имхо, Arduino-make — это лучший вариант, который позволяет полностью избавится от ненужных IDE и использовать для разработки ваш любимый БЛОКНОТ. Ну или Emacs, или VI — кому что нравится короче.
Установка в Debian:
$ sudo apt-get install arduino-core arduino-mk
Это ПО представляет собой на самом деле скрипт, который делает всё тоже самое, что и стандартная среда Arduino IDE в процессе компиляции.
Путь к самому скрипту: include /usr/share/arduino/Arduino.mk
Необходимые библиотеки нужно добавить в /usr/share/arduino/libraries/
*Пример конфигурационного файла Makefile
TARGET = key BOARD_TAG = uno MONITOR_PORT = /dev/ttyUSB0 MCU = atmega328p F_CPU = 16000000 ARDUINO_PORT = /dev/ttyUSB0 ARDUINO_LIBS = LiquidCrystal_I2C Wire SPI Ethernet ARDUINO_DIR = /usr/share/arduino include /usr/share/arduino/Arduino.mk
После этого просто выполняем команду
и получает наш hex-файл.
Для зашивки его в контроллер надо выполнить
Платы ARDUINO по низкой цене
Нажми на изображение, чтобы заказать в интернет-магазине:
Now 05.07.23 15:21:34, Your IP: 46.158.74.212; arduino.zl3p.com/basic/32_ide
ePN
Источник: arduino.zl3p.com