Arduino ide что это
Перейти к содержимому

Arduino ide что это

  • автор:

Arduino.ru

среда разработки Arduino

Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.

Скачать
  • Начало работы в Windows
  • Установка Arduino IDE на Ubuntu Linux

Программа, написанная в среде 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 IDE что это за программа?

Arduino IDE — это программная среда разработки, использующая C++ и предназначенная для программирования всех плат ряда Ардуино (Arduino).

Аббревиатура IDE расшифровывается как Integrated Development Environment, в переводе – интегрированная среда разработки. С помощью этой среды программисты пишут программы, причем делают это гораздо быстрее и удобнее, чем при использовании обычных текстовых редакторов, хотя их тоже можно использовать для написания кода программ.

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

Интерфейс Arduino IDE сравнительно простой в освоении, его основой является C++ подобный язык программирования с предопределенными функциями. Для программирования Arduino используется упрощенная версия языка C++. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Так же как и C++ язык является жестко типизированным и компилируемым. Пример простого скетча для Arduino IDE:

 /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() < // initialize the digital pin as an output. pinMode(led, OUTPUT); >// the loop routine runs over and over again forever: void loop() < digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(100); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(100); // wait for a second >

Так же Arduino IDE обладает широким спектром поддерживаемых плат: Arduino UNO, Arduino Nano, ESP32, ESP8266, семейство микроконтроллеров Attiny и т.д. Вы можете подключить любую поддержку плат через встроенный менеджер плат Arduino IDE:

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

Скачать Arduino IDE на официальном сайте arduiono.cc

Что такое Arduino?

Что такое Arduino? Формально это торговая марка, под которой выпускаются официальные платы и программы. Название Arduino идёт от одноименного названия забегаловки в Италии, где создатели любили пропустить по рюмочке. С точки зрения использования, Arduino – это платформа для разработки электронных устройств, точнее их прототипов и макетов. Включает в себя железо (платы) и софт (среда разработки).

Семейство Arduino – несколько моделей так называемых отладочных плат. Отладочная плата представляет собой как ни странно печатную плату, на которой стоит микроконтроллер (далее МК) – та самая штука, которую мы будем программировать. В младших платах Arduino используются микроконтроллеры AVR (UNO, Nano, Mega, Leonardo), в современных моделях стоят более мощные ARM Cortex для более серьёзных проектов.

Ардуино является открытой платформой, поэтому модельный ряд постоянно пополняется неофициальными платами от других производителей, такие платы называют “Arduino-совместимыми”. С ними можно работать в официальной программе Arduino IDE, писать на том же языке с тем же набором команд и даже использовать те же библиотеки! В качестве примера: это платы Teensy, платы на базе МК esp32 и esp8266 (Wemos, NodeMCU), различных китайских клонов и так далее.

Рассмотрим, из чего состоит платформа и какие задачи она решает.

Железо (аппаратная часть)

Как собрать электронное устройство на базе МК? Нужно:

  • Сделать печатную плату, ибо сам МК очень маленький и паять его неудобно.
  • Обеспечить тактирование МК (те самые мегагерцы, как в обычном компьютере) – подключить тактовый генератор.
  • Добавить необходимую обвязку: фильтры по питанию, кнопку перезагрузки, некоторые МК требуют подключения резисторов к определённым пинам, и так далее.
  • Подключить остальные компоненты проекта: расположить их на плате или предусмотреть штекеры.
  • Обеспечить стабильное питание схемы, возможно даже в широком диапазоне питающего напряжения.
  • Некоторые МК нужно “настроить” при помощи программатора.
  • Загрузить прошивку при помощи программатора.

Звучит сложно, именно поэтому ребята из Arduino решили объединить всё это на одной плате: уже настроенный микроконтроллер и всё необходимое для его работы, стабилизатор напряжения, и самое главное – программатор, он тоже расположен на плате и для загрузки прошивки достаточно просто подключить USB кабель! Ноги МК выведены на рейку с пинами (стандартный шаг 2.54 мм), что позволяет работать с платой на брэдборде (макетная плата) и быстро подключать к ней любые компоненты. Изначально сложную задачу упростили до электронного “конструктора”, именно поэтому Arduino стали настолько популярны.

Софт (программная часть)

Как запрограммировать МК? Нужно:

  • Написать прошивку (при помощи любого текстового редактора).
  • Скомпилировать прошивку (для AVR – при помощи бесплатного консольного компилятора avr-gcc).
  • Загрузить прошивку в МК (для AVR – при помощи консольной утилиты avrdude).

Для этого у Arduino есть своя IDE (Integrated Development Environment) – интегрированная среда разработки Arduino IDE. Она представляет собой текстовый редактор, умеет компилировать и загружать код. А также менеджер библиотек и поддержку неофициальных плат. Таким образом весь процесс прошивки сводится к одному щелчку по кнопке загрузить: никаких настроек, никаких плясок с бубном, ничего лишнего. Подробнее об Arduino IDE мы поговорим в отдельном уроке.

Также к программной части можно отнести:

  • “Язык” Arduino, который на самом деле является просто встроенной библиотекой. У всех Arduino-совместимых плат есть одинаковый набор функций, поэтому проект можно практически без изменений перенести с одной платы на другую.
  • Библиотеки, которые в сотни упрощают работу с модулями и прочими железками. Для Arduino-среды существует около 5000 библиотек, которые охватывают все Arduino-модули и некоторые микросхемы. Также среди библиотек можно найти различные интересные алгоритмы обработки данных и прочие полезные штуки.

Простота и удобство разработки в совокупности с огромным множеством плат на разных МК и набором библиотек на все случаи жизни сделало Arduino самой простой и удобной платформой для изучения робототехники и создания прототипов электронных устройств.

Программирование

На каком языке программируется Arduino? Многие называют его “упрощённый C++“, “разновидность C++“, “язык Ардуино“, сами Arduino называют его “Arduino Wiring“. Но на самом деле язык здесь – обычный C++ (си-плюс-плюс) со всем соответствующим ему синтаксисом и возможностями, операторами и прочими инструментами (версия C++17). Но есть пара моментов:

  • Среда Arduino IDE слегка меняет стандартный вид программы на C++ и действительно упрощает понимание для новичка. В то же время Arduino IDE не заставляет писать программу “по-Ардуиновски”, можно оформить её как обычную программу на Си (объявить int main()<> и писать свой код).
  • Arduino IDE автоматически подключает в код библиотеку Arduino.h, которая содержит базовый набор функций для работы с МК, а также некоторые константы и математические функции, которые пришли из открытого фреймворка Wiring.
  • В AVR Arduino используется компилятор avr-gcc, в котором нет стандартных для компьютерной разработки std:: библиотек. Но зато есть свои библиотеки, ориентированные на работу с микроконтроллером.

Дополнительно в Arduino IDE нам доступно:

  • Встроенные библиотеки для работы с интерфейсами связи и памятью.
  • В папке с программой лежит набор стандартных библиотек: для LCD дисплея, шагового мотора, сервопривода и некоторых других железок.
  • [Только для AVR Arduino] Вместе с компилятором идёт набор низкоуровневых библиотек для AVR (сон, progmem, watchdog и многие многие другие).
  • Работа с микроконтроллером “напрямую” при помощи регистров.
  • Можно писать на ассемблере, взяв под контроль каждый такт работы МК.

Если вы научитесь свободно программировать Ардуино и вдруг перейдете к разработке программ на том же C++ в более взрослых средах разработки, вы будете неприятно удивлены большим количеством дополнительного кода, который придется писать руками. И наоборот, если умеющий в C++ человек посмотрит на типичный ардуино-код, он скажет “да как это вообще работает?”. Компилятор в Arduino IDE настроен на максимальную всеядность и прощение ошибок, потому что это обучающая платформа.

Библиотеки

Жизнь рядового ардуинщика неразрывно связана с библиотеками, потому что огромное комьюнити за годы своего существования сделало огромное количество этих самых библиотек на все случаи жизни и для всех продающихся датчиков и модулей. Библиотека это набор файлов с кодом, которым мы можем пользоваться просто ознакомившись с документацией или посмотрев примеры. Такой подход называется “черным ящиком”, мы можем даже не догадываться, насколько сложный код содержится в библиотеке, но будем с лёгкостью пользоваться возможностями, который этот код даёт. Купили модуль – нашли библиотеку – открыли пример – всё, результат достигнут.

Чистый Си? Писать без библиотек?

Очень многие считают, что эффективный код нужно писать без библиотек, чистым полотном. Это полнейшая чушь, потому что:

  • Современные микроконтроллеры имеют достаточно памяти для того, чтобы разработчик мог позволить себе сэкономить время и использовать готовые инструменты. Более того, серьёзные разработки делаются с использованием операционных систем реального времени, которые сами по себе являются огромной тяжёлой библиотекой. Никто не пишет на ассемблере, за окном не 1980 год.
  • Компилятор “вырежет” неиспользуемый код из библиотеки.
  • Если писать крупный проект чисто голым кодом – это будет полотно на несколько тысяч строк, в котором невозможно будет разобраться. Программу разбивают на файлы – по сути на те же самые библиотеки! Некоторые алгоритмы и части программы изначально удобно обернуть в независимую библиотеку и использовать в том числе для других проектов, чтобы не писать заново. Так что писать без библиотек невозможно в принципе, неважно скачаете ли вы её с интернета или напишете сами.
  • Если у вас в проекте одна кнопка – нет большой разницы, описывать её вручную или использовать библиотеку. Но как только появляется ещё одна кнопка – с точки зрения памяти гораздо эффективнее использовать библиотеку, потому что код обработки не будет дублироваться. К этому мы вернёмся в уроке про создание крупных проектов.
  • Если вы новичок, то в 99% библиотека из интернета будет написана и оптимизирована в разы лучше, чем ваш код.

Возможности

Зачем учиться работать с Ардуино и электроникой в целом?

  • Это невероятно интересное, техническое, развивающее мозги и относительно дешёвое “DIY” хобби с бесконечным количеством идей и способов их реализаций
  • Возможность создания узко-специальных электронных устройств и станков, аналогов которым нет в продаже или они слишком дорогие. В том числе для личных нужд или работы (знакомый ювелир сделал себе контроллер для муфельной печи, который стоит очень дорого).
  • Возможность создания уникальных устройств с целью выхода на краудфандинг и запуска своего бизнеса.
  • Отличная практика в программировании и электронике, особенно перед обучением на соответствующую специальность.
  • Возможности в целом: автоматизация, автоматическое регулирование процессов, дистанционное управление, мониторинг различных величин, носимые и стационарные электронные устройства различного назначения.

Хейтеры платформы

В мире серьезных программистов и разработчиков очень не любят Ардуино. Почему? Рассмотрим несколько популярных негативных комментариев о платформе.

  • В среде Arduino IDE работа с микроконтроллером упрощена настолько, что ардуинщику вообще ничего не нужно знать о его архитектуре и о том, как он вообще программируется и настраивается: все сделано в виде готовых и понятных функций.
    • С каких пор удобство и простота стали плохими? Для новичка это единственный способ познакомиться с миром робототехники без изучения кипы документации и получения соответствующего образования. Ардуино создана в первую очередь для обучения, и во вторую – для быстрого и удобного создания прототипов электронных устройств, это её фишка.
    • Да, стандартные функции имеют кучу защит от дурака новичка, они тяжёлые и медленные. Но новичок и не сможет написать такой код, где скорость и память будут настолько критичны! А если понадобится, то к этому времени он уже будет в состоянии писать код оптимально и найдёт на моём сайте или в другом месте в Интернете быстрые аналоги Ардуино-функций или напишет их сам. И ещё один момент: ядро Ардуино устроено так, что обеспечивает совместимость кода и библиотек для всех Ардуино-плат. Начали делать проект на Arduino NANO и памяти/ног стало не хватать? Переносим проект на Arduino MEGA и продолжаем работать. NANO оказалась слишком велика для проекта? Переносим на ATTiny85, даже не открывая документацию: большинство библиотек работают на всех Ардуино-совместимых платах, это очень жирный плюс, хоть и в ущерб производительности и памяти.
    • А никто и не обещал вам HAL! Возможности МК раскрываются при использовании библиотек (см. список библиотек), благо сообщество у платформы действительно огромное. Также всегда можно научиться работать с даташитом и регистрами и настраивать всё что угодно и как угодно вручную.
    • И правильно делает! Одна ошибка – и можно остаться с заблокированным МК. При желании через Arduino IDE можно и фьюзы прошить, и под другие частоты настроить, об этом читайте вот в этом уроке.
    • Всё верно, для детей и домохозяек. Плата Ардуино задумана для создания макетов, прототипирования, её можно рассматривать как часть электронного “конструктора” для обучения. На плате есть вся необходимая обвязка, почему не использовать её даже как сердце готового проекта?
    • Верно, но есть небольшой нюанс: Arduino IDE официально бесплатная, после простой установки (Далее, Далее, Далее, Готово) она сразу готова к работе: достаточно выбрать плату из списка и начать писать код. Взрослые среды разработки требуют взрослого подхода и порог вхождения для работы с ними несоизмеримо высок. Помимо непростой установки и настройки вас ждут расширенные настройки самого микроконтроллера в ручном режиме, чтение документации и даташитов, “взрослый” интерфейс и множество нюансов в самом программировании и настройках компилятора. Времени на изучение этого всего уйдёт много, а нормальных уроков вы скорее всего не найдёте.
    • Платформа ничем не ограничивает разработчика, но если он сам не захочет – не разовьётся.
    • Скажите это ЧПУ станкам (прошивка GRBL), 3D принтерам (прошивка Marlin), квадрокоптерам и самолётам (прошивка Ardupilot) и многим другим крупным проектам.
    • Да, да, да. Но не забывайте про порог вхождения и размер сообщества с контентом, библиотеками и примерами “для новичков”, а также о сложности работы с STM в целом. Посмотрите видосы вот на этом канале и сравните происходящее с Arduino. Что касается возможностей и скорости работы – для большинства любительских проектов Arduino (ATmega328/2560) будет более чем достаточно, особенно если уметь писать оптимальный код.
    • Да, из-за простых, но понятных стандартных примеров аудитория ардуинщиков выросла очень быстро и буквально завалила интернет своими проектами, завлекая тем самым в это хобби других новичков. 99% учебных примеров, примеров работы с библиотеками и модулями написаны простенько и ужасно неоптимально: int переменные для всего подряд, вездесущий delay, блокирующие циклы и прочее, помимо богомерзких ардуино-функций. Люди берут эти примеры как основу и продолжают дальше писать так же. Но эти люди стоят на пороге очень большой двери под названием робототехника. Перешагнув через этот порог, отбросив все кривые примеры и научившись грамотно выстраивать структуру своего кода, они попадают в мир безграничных возможностей для творчества и исследования, мир бесконечно интересных и разнообразных проектов на Arduino. Для этого я и пишу данные уроки.

    Что ещё хочется сказать по поводу негатива от “профессионалов” – в большинстве случаев они просто завидуют: в “их время” для создания даже простенького проекта на базе микроконтроллера нужно было потратить огромное количество времени на изучение документации на английском языке на конкретную модель МК, на все остальные железки и микросхемы в проекте, научиться работать в недружелюбной среде разработки, развести и спаять плату, купить дорогой программатор и прочее прочее. А в наше время можно купить плату за 150р, воткнуть её в USB, запустить программу вида “блокнот с кнопкой Загрузить” и начать кодить с использованием огромного количества готовых библиотек и примеров для практически любых железок на рынке, а на любой свой вопрос можно найти ответ в гугле. Реально, у ребят просто пригорает одно место =)

    Видео версия

    Полезные страницы

    • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
    • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
    • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
    • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
    • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
    • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
    • Поддержать автора за работу над уроками
    • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])

    Среда разработки Arduino IDE

    AmperMarket.kz

    Arduino IDE – программное обеспечение для пользователей, позволяющее писать свои программы (скетчи) для платформы Arduino. Эта платформа в первую очередь ориентируется на конструкторов-любителей, которые применяют Arduino для построения простых систем автоматики и робототехники.

    Язык программирования Arduino является стандартным C++ (используется компилятор AVR-GCC) с некоторыми особенностями, облегчающие написание программ новичкам в этом деле.

    Преимущества Arduino IDE

    Установка Arduino IDE

    Для начала нужно установить на компьютер интегрированную среду разработки Arduino — Arduino IDE. Для этого необходимо скачать программу с официального сайта разработчика:

    Выберите операционную систему, которая стоит на Вашем ПК и нажмите кнопку «Just download». Установка Arduino IDE с помощью инсталлятора избавит вас от большинства потенциальных проблем с драйверами и программным окружением. Если у Вас стоит Windows 7, то проделайте следующие шаги:

    Выберите операционную систему Нажмите кнопку Just Download

    Запуск Arduino IDE

    После того, как загрузили и установили среду разработки Arduino, давайте запустим её!

    Arduino IDE

    Перед нами окно Arduino IDE. Обратите внимание — мы ещё не подключали нашу плату Arduino Uno к компьютеру, а в правом нижнем углу уже красуется надпись «Arduino Uno on COM1». Таким образом, Arduino IDE сообщает нам, что в данный момент она настроена на работу с целевой платой Arduino Uno. А когда придёт время, Arduino IDE будет искать Arduino Uno на порту COM1.

    Подключение Arduino к компьютеру

    После установки Arduino IDE пришло время подключить Arduino Uno к компьютеру.

    Соедините Arduino Uno с компьютером через USB-кабель. Вы увидите, как на плате загорится светодиод «ON», и начнёт мигать светодиод «L». Это означает, что на плату подано питание, и микроконтроллер Arduino Uno начал выполнять прошитую на заводе программу «Blink» (мигание светодиодом).

    Чтобы настроить Arduino IDE на работу с Arduino Uno, нам необходимо узнать, какой номер COM-порта присвоил компьютер Arduino Uno. Для этого нужно зайти в «Диспетчер устройств» Windows и раскрыть вкладку «Порты (COM и LPT)». Мы должны увидеть примерно следующую картину:

    Диспетчер устройств

    Это означает, что операционная система распознала нашу плату Arduino Uno как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 7. Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому, если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.

    Если Ваша плата на CH340G, то необходимо скачать соответствующие драйвера:

    Настройка Arduino IDE на работу с Arduino Uno

    Теперь нам необходимо сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту «COM7».

    Для этого переходим в меню «Сервис»«Последовательный порт» и выбираем порт «COM7». Теперь Arduino IDE знает — что-то находится на порту «COM7». И с этим «чем-то» ей вскоре предстоит общаться.

    Последовательный порт

    Чтобы у Arduino IDE не осталось никаких сомнений, необходимо прямо указать: «Мы будем использовать Arduino Uno!». Для этого переходим в меню «Сервис»«Плата» и выбираем нашу «Arduino Uno».

    Выбор платы

    Загрузка первого скетча

    Среда настроена, плата подключена. Теперь можно переходить к загрузке скетча.

    Arduino IDE содержит очень много готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи. Есть в ней и простой пример «Blink» – выберем его.

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

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