Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.
Скачать
- Начало работы в Windows
- Установка Arduino IDE на Ubuntu Linux
Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода текста(консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины:
Программирование Ардуино с нуля. Arduino для начинающих.
Verify/Compile
Проверка программного кода на ошибки, компиляция.
Stop
Остановка мониторинга последовательной шины(Serial monitor) или затемнение других кнопок.
New
Создание нового скетча.
Open
Открытие меню доступа ко всем скетчам в блокноте. Открывается нажатием в текущем окне.
Примечание: из-за наличия ошибки в Java данное меню не может прокручиваться; при необходимости открыть скетч из этого списка проследуйте в меню File | Sketchbook.
Save
Сохранение скетча.
Upload to I/O Board
Компилирует программный код и загружает его в устройство Arduino. Описание загрузки приведено ниже.
Serial Monitor
Открытие мониторинга последовательной шины (Serial monitor).
Дополнительные команды сгруппированы в пять меню: File, Edit, Sketch, Tools, Help. Доступность меню определяется работой, выполняемой в данный момент.
Edit
- Copy for Discourse
Копирует в буфер обмена подходящий для размещения на форуме код скетча с выделением синтаксиса.
- Copy as HTML
Копирует код скетча в буфер обмена как HTML код, для размещения на веб-страницах.
Sketch
- Verify/Compile
Проверка скетча на ошибки.
- Import Library
Добавляет библиотеку в текущий скетч, вставляя директиву #include в код скетча. Подробная информация в описании библиотек ниже (Libraries).
- Show Sketch Folder
Открывает папку, содержащую файл скетча, на рабочем столе.
- Add File.
Добавляет файл в скетч (файл будет скопирован из текущего места расположения). Новый файл появляется в новой закладке в окне скетча. Файл может быть удален из скетча при помощи меню закладок.
Tools
- Auto Format
Данная опция оптимизирует код, например, выстраивает в одну линию по вертикали открывающую и закрывающую скобки и помещает между ними утверждение.
- Board
Выбор используемой платформы. Список с описанием платформ приводится ниже.
- Serial Port
Меню содержит список последовательных устройств передачи данных (реальных и виртуальных) на компьютере. Список обновляется автоматически каждый раз при открытии меню Tools.
- Burn Bootloader
Пункты данного меню позволяют записать Загрузчик (Bootloader) в микроконтроллер на платформе Arduino. Данное действие не требуется в текущей работе с Arduino, но пригодится, если имеется новый ATmega (без загрузчика). Перед записью рекомендуется проверить правильность выбора платформы из меню. При использовании AVR ISP необходимо выбрать соответствующий программатору порт из меню Serial Port.
Блокнот (Sketchbook)
Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.
Закладки, Файлы и Компиляция
Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Arduino (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или головными файлами (.h).
Загрузка скетча в Arduino
Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для платы последовательной шины, подключенной через адаптер Keyspan USB-to-Serial).
В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.
После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках.
При загрузке скетча используется Загрузчик (Bootloader) Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).
Библиотеки
Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для использования библиотеки необходимо выбрать меню Sketch > Import Library. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Arduino. Неиспользуемые библиотеки можно удалить из скетча убрав директиву #include.
На Arduino.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Arduino. Другие могут быть загружены с различных ресурсов. Для установки скачанных библиотек необходимо создать директорию «libraries» в папке блокнота и затем распаковать архив. Например, для установки библиотеки DateTime ее файлы должны находится в подпапке /libraries/DateTime папки блокнота.
Смотрите данную инструкцию для написания собственной библиотеки.
Аппаратные средства других разработчиков
Поддерживаемые аппаратные средства других производителей добавляются в соответствующую подпапку папки блокнота. Устанавливаемые платформы могут включать собственные характеристики (в меню платформы), корневые библиотеки, загрузчик(Bootloader) и характеристики программатора. Для установки требуется распаковать архив в созданную папку. (Запрещено использовать наименование папки «arduino», т.к. могут быть перезаписаны встроенные данные платформы Arduino.) Для деинсталляции данных удаляется соответствующая директория.
Подробная информация по созданию сборок описаний аппаратных средств других производителей находится на страницах сайта Google Code.
Мониторинг последовательной шины (Serial Monitor)
Отображает данные посылаемые в платформу Arduino (плата USB или плата последовательной шины). Для отправки данных необходимо ввести текст и нажать кнопку Send или Enter. Затем выбирается скорость передачи из выпадающего списка, соответствующая значению Serial.begin в скетче. На ОС Mac или Linux платформа Arduino будет перезагружена (скетч начнется сначала) при подключении мониторинга последовательной шины.
Имеется возможность обмена информацией с платформой через программы Processing, Flash, MaxMSP и т.д. (см. подробности на странице описаний интерфейсов).
Настройки
Некоторые настройки изменяются в окне Preferences (меню Arduino в ОС Mac или File в ОС Windows и Linux). Остальные настройки находятся в файле, месторасположение которого указано в окне Preferences.
Платформы
Выбор платформы влияет на: параметры (напр.: скорость ЦП и скорость передачи данных), используемые при компиляции и загрузке скетчей и на настройки записи загрузчика (Bootloader) микроконтреллера. Некоторые характеристики платформ различаются только по последнему параметру (загрузка Bootloader), таким образом, даже при удачной загрузке с соответствующим выбором может потребоваться проверка различия перед записью загрузчика (Bootloader).
- Arduino Duemilanoveили Nano с ATmega328
Тактовая частота ATmega328 16 МГц с возможностью автоматической перезагрузки. Используется для версий Arduino Pro или Pro Mini с ATmega328 на частоте 16 МГц (5 В).
- Arduino Diecimila, Duemilanove, илиNano с ATmega168
Тактовая частота ATmega168 16 МГц с возможностью автоматической перезагрузки. Компиляция и загрузка соответствует Arduino NG или старым версиям с ATmega168, но загрузка Bootloader имеет короткий таймаут (при перезагрузке светодиод пина 13 мигает один раз). Используется для версий Arduino Pro и Pro Mini с ATmega168 на частоте 16 МГц (5 В).
- Arduino Mega
Тактовая частота ATmega1280 16 МГц с возможностью автоматической перезагрузки.
- Arduino Mini
Соответствует Arduino NG или старым версиям с ATmega168 (напр.: тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки).
- Arduino BT
Тактовая частота ATmega168 16 МГц. Загрузка Bootloader происходит совместно с кодами для инициализации модуля Bluetooth.
- LilyPad Arduino с ATmega328
Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328.
- LilyPad Arduinoс ATmega168
Тактовая частота ATmega168 8 МГц. Компиляция и загрузка соответствует Arduino Pro или Pro Mini (8 МГц) с ATmega168. Загруженный Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза), т.к. оригинальные версии LilyPad не поддерживают автоматическую перезагрузку. Также не поддерживаются внешние часы и, следовательно, Bootloader конфигурирует загрузку внутренних 8 МГц часов в ATmega168. При наличии поздних версий LilyPad (с 6-контакным программным вводом) перед загрузкой Bootloader требуется выбрать Arduino Pro или Pro Mini (8 MHz) с ATmega168.
- Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328
Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует LilyPad Arduino с ATmega328.
- Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega168
Тактовая частота ATmega168 8 МГц (3.3 В) с возможность автоматической перезагрузки.
- Arduino NG или предыдущие версии с ATmega168
Тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки. Компиляция и загрузка соответствует Arduino Diecimila или Duemilanove с ATmega168, но загрузка Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза).
- Arduino NG или предыдущие версии с ATmega8
Тактовая частота ATmega8 16 МГц без возможности автоматической перезагрузки.
Источник: arduino.ru
Какие существуют среды разработки (IDE) для Arduino
В ней имеется весь необходимый минимум для разработки программ: написание кода, проверка кода, компиляция, загрузка скетча в Ардуино, монитор последовательного порта. Все, кто работал в серьёзных «взрослых» средах разработки типа JetBrains IDEA, Microsoft Visual Studio или Quartus, наверняка отметят, что среда Arduino IDE довольно аскетична: ничего лишнего, и особых удобств она не предлагает.
2 Среда разработки Programino
Рассмотрим среду разработки PROGRAMINO. Это платная среда разработки, но её можно опробовать в течение 14-ти дней бесплатно. Programino, как и другие среды разработки, требует, однако, чтобы у вас была установлена Arduino IDE. При первом запуске программы следует в настройках указать путь к исполняемому файлу arduino.exe. Для этого идём в меню настройки: Options Editor Settings.
Появится окно, в котором нужно будет указать пути к директории с Arduino IDE и сопутствующими библиотеками. Теперь мы готовы писать программы в Programino.
Язык, который используется в данной среде разработки – такой же, как и в оригинальной Arduino IDE – Си. То есть, по сути, если вы уже пишете скетчи в Arduino IDE, то вам не придётся изучать новый язык программирования, что является большим плюсом данной среды разработки.
Однако помимо этого, данная IDE предлагает такой удобный способ быстрой разработки как автодополнение кода. То есть, вам не придётся постоянно лазить в справочник по командам и методам Arduino. Вы начинаете набирать код, и среда разработки предложит вам выбрать из доступных вариантов тот, который вам нужен. Например, вы набираете «digi» и IDE предлагает вам варианты: «digitalRead», «digitalWrite» и другие возможные.
Давайте напишем простой скетч, в котором будем постоянно опрашивать один из аналоговых выводов Arduino и выводить считанные показания в последовательный порт.
Постарайтесь набирать скетч вручную, а не копировать и вставлять, чтобы прочувствовать удобство автодополнения кода Programino.
const int pinA = A5; void setup() < pinMode(pinA, INPUT); Serial.begin(19200); >void loop()
Что ещё интересного предлагает Programino IDE? В данной среде разработки имеются несколько дополнительных полезных инструментов, доступных через меню Tools. Например: блокнот, дизайнер LCD символов, преобразователь между DEC-BIN-HEX, терминал последовательного порта, аналоговый плоттер и другие.
Остановимся подробнее на инструменте Analog Plotter. Это средство позволяет визуализировать вам то, что приходит в COM-порт от Arduino.
Для работы плоттера в скетче нужно активизировать последовательный порт на скорости 19200 кб/сек. Аналоговые данные выводятся на плоттер с помощью команды Serial.println().
Запустим аналоговый плоттер. Нажмём кнопку Connect для подключения к порту, к которому у нас подключён Arduino.
Этот инструмент может быть полезным, например, для отображения показаний во времени каких-нибудь аналоговых датчиков: температуры, влажности, давления, освещённости и других.
Перед записью скетча в память Arduino, следует указать тип используемой платы и порт, к которому она подключена через меню Hardware.
Для загрузки скетча в память Arduino нажмите в верхнем меню иконку с изображением загрузки. Programino загрузит скетч и в нижнем окне журнала покажет данные о размере скетча и оставшихся свободных ресурсах платы Ардуино.
3 Среда разработки B4R (Basic for Arduino)
Ещё одна интересная альтернатива Arduino IDE – B4R, или «Basic for Arduino». Эта среда разработки уникальна тем, что использует язык Basic, а не Си. Она также поддерживает функцию автодополнения кода. Кроме того, она полностью бесплатна.
При первом запуске среда B4R также требует указать путь к директории с Arduino IDE и, при необходимости, дополнительным нестандартным библиотекам и общим модулям. Эти настройки можно задать и позже через меню Tools Configure Paths.
А также выбрать плату: Tools Board Selector:
Давайте напишем вот такой скетч и заодно немного ближе познакомимся со средой разработки.
В центральной части находится поле для редактирования кода. В правой – область вкладок и сами вкладки: доступных библиотек, модулей скетча, журнала и поиска. На приведённый фотографии открыта вкладка с журналом. Видно, что сюда выводятся сообщения, которые в программе задаются командой Log(). В данной среде разработки можно ставить точки останова, что весьма полезно в процессе отладки, а также использовать закладки для более быстрой навигации по коду.
Вы не сможете сразу начать программировать в этой среде разработки, т.к. она использует другой, более объектно-ориентированный язык, чем классическая Arduino IDE, с другим синтаксисом. Тем не менее, удобство этой среды и наличие хорошего руководства от разработчиков полностью окупает эти недостатки.
4 Среда разработки Codeblocks for Arduino
Существуют и другие среды разработки для Arduino кроме перечисленных. Например, CodeBlocks. Основное её отличие от описанных IDE – возможность писать код для микроконтроллеров и некоторых других платформ, не только для Arduino. Более подробно описывать её не буду, проще почитать информацию на официальном сайте и файлы справки.
Теперь мы знаем, что существуют альтернативные, гораздо более удобные, среды разработки, чем классическая Arduino IDE. Их использование может существенно упростить и ускорить написание ваших собственных скетчей.
Источник: soltau.ru
Начало работы с Arduino IDE
Для работы с Ардуино нам понадобится компьютер (или смартфон), USB data-кабель и некоторый софт.
Компьютер с Windows 7 или выше. На WinХР новые версии Arduino IDE либо работают очень плохо, либо не работают вовсе. Также не компилируются некоторые библиотеки и ядро esp8266. MacOS и Linux-подобные оси тоже подходят, так как среда разработки Arduino IDE кроссплатформенная.
Программировать Ардуино можно с планшета или даже смартфона под Андроид при помощи официального приложения, соответственно смартфон/планшет должен иметь поддержку OTG (подключение и работа с внешними устройствами через USB порт). Но это большое извращение, а также не все библиотеки будут компилироваться на смартфоне.
USB кабель должен быть именно Data-кабелем, по такому кабелю передаются данные (например таким подключается к компьютеру смартфон/фотоаппарат/плеер). Есть три типа USB штекера, которые используются на платах Ардуино: mini-USB (Arduino Nano), micro-USB (Wemos Mini, NodeMCU) и USB type B (Arduino UNO, MEGA), бывают и китайские поделки на USB type C. Кабель можно купить у китайцев, иногда он идёт в комплекте с платой, можно взять в наших магазинах (~50 рублей), либо просто поискать на полке.
Arduino IDE
Установка
Среда разработки Arduino IDE, качаем с официального сайта и устанавливаем актуальную версию для своей операционной системы. В окне загрузки жмём JUST DOWNLOAD, чтобы начать загрузку без пожертвования
- Прямая ссылка на установщик 1.8.13 для Windows 7 и выше
- Если у вас Windows XP – качаем версию 1.6.13
- Во время установки программа попросит установить драйвер – соглашаемся на всё
- Установка на Linux из системного репозитория – читать тут
- Установка на MacOS – читать тут
- КРИТИЧЕСКИ НЕ РЕКОМЕНДУЕТСЯ ставить Arduino Windows app из магазина приложений Windows 10, а также Beta Builds, Hourly Builds и старые версии IDE!
Распаковка портативной версии
Вместо полной установки программы можно скачать архив с уже “установленной”, на странице загрузки он называется Windows ZIP file. Вот прямая ссылка на 1.8.13. Распаковав архив, получим портативную версию Arduino IDE, которую можно скинуть на флешку и использовать на любом компьютере без установки программы. Но понадобится установить драйвер для китайских плат, а также драйверы из папки с программой Arduino IDE. Возможно понадобится установить Java.
Обновление IDE
Перед установкой новой версии нужно удалить старую. Ни в коем случае не удаляйте папку установленной IDE из Program Files, удалять нужно через “Установка и удаление программ“, либо запустив файл uninstall.exe из папки с установленной программой. Иначе установщик откажется устанавливать новую программу, так как в системе остались следы от старой. Решение этой проблемы описано в видео ниже. Вкратце о том, как удалить IDE вручную:
- Папка с программой
- C:Program Files (x86)Arduino (64-битная версия Windows)
- C:Program FilesArduino (32-битная версия Windows)
- ДокументыArduino
- C:Пользователи (или Users)Ваш_пользовательAppDataLocalArduino15
Удаляем следы из реестра:
- Открыть редактор системного реестра:
- Windows 10: Пуск/regedit
- Предыдущие: Пуск/Выполнить/regedit
- В окне поиска пишем arduinouninstall
- Поиск
Решение проблем
- Если перестала запускаться Arduino IDE – удаляем файлик preferences.txt из C:Пользователи (или Users)Ваш_пользовательAppDataLocalArduino15
Драйверы
Оригинальные платы от Arduino используют USB контроллер производства FTDI, либо отдельный микроконтроллер в качестве USB интерфейса. Если вы используете китайские платы, то вам понадобится дополнительный драйвер на китайский USB-TTL контроллер. Называется он CH340 (CH341), является производимым в Китае дешёвым аналогом дорогого шведского FTDI чипа.
Скачать драйвер можно по ссылке:
Запускаем и в появившемся окошке нажимаем INSTALL. Готово!
Если во время установки Arduino IDE вы по какой-то причине пропустили установку драйверов, то их можно установить вручную из папки с программой, расположенной по пути
- C/Program Files/Arduino/drivers (для 32-х разрядной системы)
- C/Program Files (x86)/Arduino/drivers (для 64-х разрядной системы).
- dpinst-x86.exe (для 32-х разрядной системы)
- dpinst-amd64.exe (для 64-х разрядной системы)
Драйвер CH341 для Mac можно скачать по ссылке с моего сайта , либо со страницы источника . Если у вас будут какие-то проблемы с OSX Sierra и выше, читайте вот эту статью .
Linux Mint
В Linux уже встроен необходимый драйвер, но Arduino IDE может отказаться с ним работать: Linux определяет ардуинку как устройство ttyUSB*, обычно это ttyUSB0 (это можно узнать командой dmesg в терминале), то есть в системе появляется интерфейс /dev/ttyUSB0. Чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой (обратите внимание, команда whoami в обратных кавычках)
sudo usermod -a -G dialout `whoami`
После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты/Порт» ставим галочку напротив /dev/ttyUSB0.
Linux Arch
Вся информация по работе с IDE на данной ОСи есть вот в этой статье.
После установки и настройки всего необходимого можно попробовать прошить плату. Запускаем Arduino IDE и переходим к следующему уроку, где эту самую IDE рассмотрим более подробно.
Другие программы
- Пакет JRE (Java). Так как IDE написана на Java, для её работы требуется пакет JRE. Также качаем свежую версию с официального сайта и устанавливаем. Не актуально для свежих версий Arduino IDE, но может пригодиться для других программ.
- Дополнительно: прогерский блокнот Notepad++ для комфортной работы с текстовыми файлами библиотек или прошивок – официальный сайт.
Видео
Полезные страницы
- Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с Aliexpress у проверенных продавцов
- Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
- Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
- Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
- Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
- Поддержать автора за работу над уроками
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
Источник: alexgyver.ru