Среда разработки Arduino | Аппаратная платформа Arduino
Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.
Скачать
Последнюю версию можно найти по этой ссылке
http://www.arduino.cc/en/Main/Software
Полезные ссылки:
Программа, написанная в среде 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 ее файлы должны находится в подпапке
Смотрите данную инструкцию для написания собственной библиотеки.
Аппаратные средства других разработчиков
Поддерживаемые аппаратные средства других производителей добавляются в соответствующую подпапку папки блокнота. Устанавливаемые платформы могут включать собственные характеристики (в меню платформы), корневые библиотеки, загрузчик(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 | AlexGyver Technologies
Работа с Arduino IDE
Рассмотрим основную программу, с которой будем работать – Arduino IDE. IDE расшифровывается как интегрированная среда разработки, и в нашем случае представляет собой блокнот, в котором мы пишем код, препроцессор и компилятор, которые проверяют и компилируют код, и инструменты для загрузки, которые загружают код выбранным способом. IDE написана на java, поэтому не удивляйтесь её долгому запуску, большому объему занимаемой оперативки и медленной работе. Несмотря на огромный опыт работы с ардуино я до сих пор продолжаю писать код в Arduino IDE, потому что я к ней привык. Помимо перечисленных проблем стандартная IDE выделяется на фоне “взрослых” сред разработки отсутствием дерева/файловой структуры проекта (что не нужно для простых проектов), отсутствием рефакторинга, отсутствием автоматического дополнения кода (хотя его обещают вот-вот добавить и уже есть beta) и очень медленной компиляцией кода. Этих недостатков лишены аналоги Arduino IDE, о них поговорим в конце урока. Помимо отсутствия озвученных недостатков там есть некоторые полезные фишки, например все define-ы файла с кодом отображаются в отдельном блоке и с ними очень удобно работать.
Интерфейс
Сначала рассмотрим общий вид программы, т.е. как она выглядит после запуска. В самом центре – блокнот, то самое место, где пишется код. По умолчанию уже написаны два стандартных блока, setup и loop. К ним вернёмся в разделе уроков программирования. Всё остальное можно увидеть на скриншоте ниже.
- Проверить – компиляция (сборка, проверка на ошибки…) кода без его загрузки в плату. То есть код можно написать и проверить на ошибки даже не подключая плату к компьютеру
- Загрузить – компиляция и загрузка прошивки в плату
- Создать/открыть/сохранить – тут всё понятно
- Монитор порта – кнопка открывает монитор последовательного пора для общения с платой
- Меню вкладок – работа с вкладками, о них поговорим ниже
- Текущее состояние – тут выводится краткая информация о последнем действии: загрузка завершена, ошибка загрузки, автоформатирование завершено и т.д.
- Лог работы – тут выводится лог компиляции и вообще все системные сообщения, отчёты об ошибках и размере скомпилированного кода
- Конфигурация оборудования – выводится название выбранной платы, версии микроконтроллера и номер выбранного COM порта
Пробежимся по пунктам меню, которые я считаю первостепенно важными, с остальными можно познакомиться самостоятельно по ходу работы с программой. Версия моей IDE – 1.8.8, в новых что-то может отличаться
Вкладка “Файл”
- Новый
- Открыть
- Открыть недавние
- Папка со скетчами – список скетчей, которые сохранены туда, куда программа предлагает их сохранять по умолчанию (Документы/Arduino)
- Примеры – список установленных библиотек с подсписком примеров к каждой. Весьма полезная штука
- Закрыть
- Сохранить
- Сохранить как…
- Настройки страницы (для печати)
- Печать
- Настройки
- Выход
Далее сразу рассмотрим окно настроек:
Окно настроек
Настройки Arduino IDE
Куча интересных настроек на свой вкус. Из них отмечу
- Размещение папки скетчей – куда по умолчанию сохраняются скетчи
- Показать подробный вывод – показывает подробный лог при компиляции и загрузке, нужно при поиске багов и непонятных глюков/ошибок
- Использовать внешний редактор – запрещает редактирование кода из 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. То есть он висит как вкладка, его можно редактировать, но без подключения он так и останется просто отдельным текстом. В таких файлах обычно содержатся классы или просто отдельные массивы данных.
Аналоги Arduino IDE
Всем нетерпимо относящимся к кривой официальной IDE могу посоветовать следующие аналоги, работа в которых чем-то лучше, а чем-то хуже официальной IDE:
- Notepad++ + Arduino IDE – вполне работоспособная связка – прогерский блокнот “на максималках”, в котором ОЧЕНЬ удобно писать код, и Arduino IDE, в которой удобно выбирать железо и загружать прошивку
- PlatformIO – очень мощная взрослая среда разработки, подробнее можно почитать даже в статье у меня на сайте. Автор – не я. Лично мне платформио не понравилась. Да, есть автодополнение кода и всякие удобные фишки, но конфигурировать проект приходится вручную (в 2019 году не сделать пару кнопок для того же выбора порта – разработчики – АУ!!!), также есть проблемы с библиотеками.
- Programino IDE – вот эта среда мне довольно таки понравилась, есть автодополнение и другие удобные фичи. Единственный минус – она платная, но на всё платное можно нагуглить кряк =) Подробнее на официальном сайте
- MariaMole – интересная среда, которая вроде как больше не развивается. Количество “плюшек” примерно равно количеству “багов” и недоделок, по крайней мере так было в 2017 году. Подробнее
- B4R – среда, позволяющая программировать Арудино на языке Basic. Кому интересно – вот официальный сайт
- Visual Studio Micro – очень мощный и взрослый инструмент, являющийся плагином к Microsoft Visual Studio. Подробнее читать здесь
- XOD – очень интересная среда разработки, в которой программа составляется из нод (node) – блоков. Полностью другая концепция программирования, посмотрите обязательно. Официальный сайт
- Atmel Studio – официальная среда для программирования микроконтроллеров AVR. Никаких детских ардуиновских функций – только работа напрямую с МК, только хардкор! Подробнее можно почитать на сайте амперки
Важные страницы
Arduino: ТОП-3 графических сред программирования
Наверх- Рейтинги
- Обзоры
- Смартфоны и планшеты
- Компьютеры и ноутбуки
- Комплектующие
- Периферия
- Фото и видео
- Аксессуары
- ТВ и аудио
- Техника для дома
- Программы и приложения
- Новости
- Советы
- Покупка
- Эксплуатация
- Ремонт
- Подборки
- Смартфоны и планшеты
- Компьютеры
- Аксессуары
- ТВ и аудио
- Фото и видео
- Программы и приложения
- Техника для дома
- Гейминг
- Игры
- Железо
Хочу представить Вам очередной проект на ниве программирования распространенных плат Arduino.
Сначала немного истории. С самого момента появления контроллеров развитие принципов работы с ними идет по пути роста абстракции. Первый этап представлял программирование непосредственно в машинных кодах. Программирование было сложным, долгим и требовало очень специфичного склада ума. Поэтому программистов было очень мало.
Но человек существо ленивое, а лень, как известно двигатель прогресса. Придумали первый уровень абстракции — ассемблер. Писать программы стало проще и веселее. Количество программистов возросло. Но все равно ассемблер не очень сильно отличался от машинных кодов.
Поэтому появился следующий уровень абстракции. Языки высокого уровня. Основной целью этих языков бала возможность объяснить машине, что от нее хотят на языке максимально приближенном к человеческому. Это позволяло заниматься программированием людям с менее специфичным складом. Поэтому с развитием языков высокого уровня количество программистов росло, и соответственно росло количество полезных программ, которые они создавали.
Проект FLProg предлагает новый уровень абстракции с довольно смелым заявлением — «Что бы программировать микроконтроллеры, да и компьютеры не обязательно знать языки программирования».
Заявление может показаться слишком смелым, но это возможно и уже доказано в смежной с компьютерами области. Это область программирования промышленных систем автоматизированного управления. Практически с самого начала производители промышленных контроллеров пошли по этому пути. Сейчас стандартом для сред программирования у основных производителей являются языки FBD и LAD. Собственно говоря, как таковыми языками они не являются. Это скорее графические среды для рисования принципиальных иди логических схем.
Такой подход оказался очень удобным для легкого вхождения в разработку систем АСУ инженеров электриков и электронщиков. Разрабатывая проекты установок, они могли легко привязать работу этих установок к алгоритмам работы контроллера. В обслуживании этих установок на объекте так же лучше когда существующий обслуживающий персонал может легко проверить работу системы АСУ, найти проблему. И при этом нет необходимости вызывать по каждому пустяку программиста из «Центра». И это подход себя оправдал. На сегодняшний день почти все системы промышленной автоматики созданы с помощью таких средств разработки.
Такая среда разработки есть у Siemens, ABB, Schneider, да и практически у всех производителей. Но существует и проблема. Все они привязаны к своим контроллерам. А цены на эти контроллеры очень тяжело назвать демократичными.
И вот появились платы Arduino. Дешёвые, с большим набором периферии и шилдов расширений. С интерфейсами совместимыми с дисплеями, датчиками, и другими устройствами. С возможностью прямого подключения к компьютеру, подключению к сети Ehernet и WiFI.
Эти платы идеально подходят для самодельщиков и кулибиных, на которых наша страна всегда была, есть и будет богата. Но, как всегда есть но. Программируются эти платы на языке C. Для большинства этих умнейших людей, с очень прямыми руками, растущими из положенного места, это китайская азбука. Они могут придумать нарисовать, собрать отладить и запустить сложнейшие схемы, но IF, FOR, Case, Void и т.п. это не для них. Конечно, можно почитать инструкции в интернете, поиграться какое — то время, помигать светодиодом с помощью примера. Но для более серьезного применения необходимо детальное изучение языка. А зачем им это? Они не собираются быть профессиональными программистами. У них другой путь. Они что то придумали. Да это проще и красивее собрать с помощью микроконтроллера, но становится для этого программистом, потратив месяцы на изучение языка? Нет, конечно. Собирают по старинке, попроще конечно, но в своей области.
Идея проекта FLProg в том, что бы совместить принципы промышленного программирования с дешевизной и удобством Arduino. В результате должен получится инструмент, позволяющий создавать свои проекты на ардуино любому, знакомому с электричеством человеку.
В следующем посте я расскажу о проекте, его развитии и перспективах подробнее.
Покупая плату Arduino, нужно понимать где и как можно запрограммировать этот контроллер, а для этого есть официальная среда разработки.
Покупая плату Arduino, нужно иметь представление о том, где и как можно запрограммировать этот контроллер. Разработчики плат Arduino позаботились об этом и создали официальную среду разработки.
Среда разработки Arduino IDE состоит из набора специфичных библиотек и драйверов, необходимых для корректной работы с контроллером. Установив программу и запустив ее, вы увидите интерфейс, похожий на простой текстовый блокнот, но с подсветкой синтаксиса. В этот текстовый блокнот и пишется программа для контроллера.
С помощью встроенных библиотек вы всегда можете подключить дополнительный датчик или дисплей к контроллеру. Имеется возможность проверить код на наличие ошибок. Программа укажет точное место ошибки в коде или где были введены некорректные данные. Если их не исправить, то программа просто не сможет скомпилировать код, и вам не удастся залить скетч в ваш контроллер.
Прежде чем заливать программу в контроллер, вам нужно будет выбрать порт подключения и модель платы Arduino. Если вы используете программатор, то на вкладке нужно выбрать способ закачки программы через данное устройство.
Arduino IDE имеет предустановленные скетчи для демонстрации возможности устройства. Это помогает удостовериться, что плата не повреждена и что на нее можно залить программу. Кроме того, базовые примеры позволят вам намного быстрее понять принцип программирования. В базовые примеры входят простые скетчи управления выводами.
Самый элементарный скетч позволяет управлять светодиодом, расположенным на плате. Вы можете подкорректировать данные и заставить светодиод моргать чаще или медленнее, или задать, например, такт мигания каждые две секунды и при этом сделать само горение светодиода на полсекунды. Также можно посмотреть работу программы аналоговых и цифровых выводов, простых и сенсорных дисплеев, сделать проверку различных звуковых элементов и т.д.
К каждому скетчу имеется описание для правильного подключения внешних компонентов к выводам для правильной работы.
Описания могут находиться непосредственно в скетчах, либо на официальном сайте разработчика. На нашем сайте также имеются уроки Ардуино и инструкции по работе контроллера и описания различных версий плат Arduino.
Официальная страница разработчиков – Arduino.cc, к сожалению, не поддерживает русский язык, но есть множество русскоязычных сайтов с мануалами и примерами, позволяющими быстро освоить возможности контроллера.
В интернете на форумах можно найти гораздо больше информации об интеграции того или иного устройства, описание ошибок, возникающих при программировании и компиляции, и много всего другого. Разработка программ в среде Arduino сделана максимально комфортной и удобной для людей, только начинающих познавать электронику и робототехнику. В статьях на Arduino+ я постараюсь много времени посвятить вопросам работы со средой разработки для Ардуино.
Ардуино для начинающих
Arduino – это возможность делать сложные и умные вещи просто. Идеальный вариант для первых шагов начинающих технических гениев. Вы можете легко собрать электронные схемы из готовых конструкторов и наборов, загрузить готовую программу, которую можно скачать совершенно бесплатно и начать использовать умное электронное устройство.
Arduino – это электронные платы, к которым можно подсоединять различные датчики, двигатели, экраны и много других электронных компонентов. Плата Ардуино будет управлять этими компонентами с помощью программы, который вы в нее загрузите. Самые популярные платы для начинающих – это Arduino Uno, Arduino Mega, Arduino Nano и Arduino Leonardo. Кроме этого есть множество других вариантов, подходящих для конкретных случаев.
Arduino – это еще и совершенно бесплатная среда программирования Arduino IDE, в которой можно писать программы (скетчи) для контроллера. Программа прошивается в микроконтроллер буквально одним нажатием на кнопку. Никаких особых знаний не требуется! Вы можете даже не писать программу – просто найти и скачать готовый скетч, который просто откроете в Arduino IDE.
Arduino – это сообщество инженеров, всегда готовых помочь советом. Это огромное количество сайтов с документацией, примерами и схемами. Начать можно с официального сайта, но кроме него сегодня появилось огромное количество сайтов на русском с форумом русскоязычных инженеров.
Arduino для детей
Принято считать, что Arduino довольно сложен для детей средней школы, но это не так! Сегодня есть огромное количество инструментов и технологий, позволяющих без проблем преподавать ардуино на кружках робототехники даже самых маленьких! На нашем сайте вы можете найти уроки Ардуино, помогающие сделать первые шаги в электронике, программировании и робототехнике.
Arduino – это целый мир, в котором можно почувствовать себя волшебником. Лучший инструмент для приобщения детей к технологиям и вдохновленного инженерного творчества! Для обучения детей электронике вы можете использовать как отдельные контроллеры Arduino Uno, Mega или Nano, а также наборы и конструкторы ардуино российских и китайских производителей. Обучение детей программированию Ардуино возможно с использованием среды программирования Arduino IDE или же в визуальных средах ArduBlock, S4A, mBlock, основанных на Scratch.
Как программируют Arduino
Arduino — это программируемый микроконтроллер, который можно использовать в робототехнике, умном доме и вообще запрограммировать его как угодно: чтобы он кормил кота, поливал растения, предупреждал вас о приближении врагов или открывал двери с помощью магнитного ключа. У нас есть подборка 10 интересных вещей, которые можно сделать на этой платформе. Теперь время разобраться, как программисты с ней работают.
Язык Arduino
Если опытный программист посмотрит на код для Arduino, он скажет, что это код на C++. Это недалеко от истины: основная логика Ардуино реализована на C++, а сверху на неё надет фреймворк Wiring, который отвечает за общение с железом.
На это есть несколько причин:
- У С++ слава «слишком сложного языка». Arduino позиционируется как микроконтроллеры и робототехника для начинающих, а начинающим иногда трудно объяснить, что С++ не такой уж сложный для старта. Проще сделать фреймворк и назвать его отдельным языком.
- В чистом С++ нет удобных команд для AVR-контроллеров, поэтому нужен был инструмент, который возьмёт на себя все сложные функции, а на выходе даст программисту часто используемые команды.
- Разработчики дали программистам просто писать нужные им программы, а все служебные команды, необходимые для правильного оформления кода на С++, взяла на себя специальная среда разработки.
Среда разработки (IDE) Arduino.
Подготовка и бесконечность
В любой программе для Arduino есть две принципиальные части: подготовительная часть и основной цикл.
В подготовительной части вы говорите железу, чего от вас ожидать: какие порты настроить на вход, какие на выход, что у вас как называется. Например, если у вас датчик подключён ко входу 10, а лампочка к выходу 3, то вы можете обозвать эти входы и выходы как вам удобно, а дальше в коде обращаться не к десятому входу и третьему выходу, а по-человечески: к датчику или лампочке. Вся часть с подготовкой выполняется один раз при старте контроллера. Контроллер всё запоминает и переходит в основной цикл.
Основной цикл — это то, что происходит в функции loop(). Ардуино берёт оттуда команды и выполняет их подряд. Как только команды закончились, он возвращается в начало цикла и повторяет всё. И так до бесконечности.
В основном цикле мы описываем все полезные вещи, которые должен делать контроллер: считывать данные, мигать лампами, включать-выключать моторы, кормить кота и т. д.
Что можно и чего нельзя
Ардуино работает на одноядерном и не шибко шустром процессоре. Его тактовая частота — 16 мегагерц, то есть 16 миллионов процессорных операций в секунду. Это не очень быстро, плюс ядро только одно, и оно исполняет одну команду за другой.
Вот какие ограничения это на нас накладывает.
Нет настоящей многозадачности. Можно симулировать многозадачность с помощью приёма Protothreading, но это скорее костыль. Нельзя, например, сказать: «Когда нажмётся такая-то кнопка — сделай так». Вместо этого придётся в основном цикле писать проверку: «А эта кнопка нажата? Если да, то…»
Нет понятия файлов (без дополнительных примочек, библиотек и железа). На контроллер нельзя ничего сохранить, кроме управляющей им программы. К счастью, есть платы расширения, которые позволяют немножко работать с файлами на SD-карточках.
Аналогично с сетью: без дополнительных плат и библиотек Ардуино не может ни с чем общаться (кроме как включать-выключать электричество на своих выходах).
Полегче со сложной математикой: если вам нужно что-то сложное типа тригонометрических функций, будьте готовы к тому, что Ардуино будет считать их довольно медленно. Для вас это одна строчка кода, а для Ардуино это тысячи операций под капотом. Пощадите.
Отчёты? Ошибки? Только при компиляции. У Ардуино нет встроенных средств сообщить вам, что ему нехорошо. Если он завис, он не покажет окно ошибки: во-первых, у него нет графического интерфейса, во-вторых — экрана. Если хотите систему ошибок или отчётность, пишите её 🙂
Если серьёзно, то перед заливом программы на контроллер компилятор проверит код и найдёт в нём опечатки или проблемы с типами данных. Но на этом всё: если у вас случайно получилась бесконечная петля в коде или при каких-то обстоятельствах вы повесите процессор делением на ноль — жмите перезагрузку и исправляйте код.
И всё же
Ардуино — это кайф: вы с помощью кода можете управлять физическим миром, моторами, лампами и электродеталями. Можно создать умную розетку; можно собрать умный замок для сейфа; можно сделать детектор влажности почвы, который будет включать автоматический полив. И всё это — на довольно понятном, читаемом и компактном языке C++, на который сверху ещё надета удобная библиотека для железа. Прекрасный способ провести выходные.
Какие ещё языки используют для Arduino
Но чу! Под Arduino можно писать и на других языках!
С. Как и С++, Си легко можно использовать для программирования микроконтроллеров Arduino. Только если С++ не требует никаких дополнительных программ, то для С вам понадобится WinAVR, чтобы правильно перевести код в язык, понятный контроллерам AVR.
Python. Было бы странно, если бы такому универсальному языку не нашлось применения в робототехнике. Берёте библиотеки PySerial и vPython, прикручиваете их к Python и готово!
Java. Принцип такой же, как в Python: берёте библиотеки для работы с портами и контроллерами и можно начинать программировать.
HTML. Это, конечно, совсем экзотика, но есть проекты, которые заставляют HTML-код работать на Arduino.
А вообще Arduino работает на контроллерах AVR, и прошить их можно любым кодом, который скомпилирован под это железо. Всё, что вам нужно — найти библиотеку для вашего любимого языка, которая преобразует нужные команды в машинный код для AVR.
Arduino – Окружающая среда
Arduino Software (IDE)
Интегрированная среда разработки Arduino – или Arduino Software (IDE) – содержит текстовый редактор для написания кода, область сообщений, текстовую консоль, панель инструментов с кнопками для общих функций и ряд меню. Он подключается к оборудованию Arduino и Genuino для загрузки программ и связи с ними.
Написание эскизов
Программы, написанные с использованием Arduino Software (IDE), называются эскизами .Эти эскизы пишутся в текстовом редакторе и сохраняются с расширением файла .ino. Редактор имеет функции для вырезания / вставки и для поиска / замены текста. Область сообщений дает обратную связь при сохранении и экспорте, а также отображает ошибки. Консоль отображает текст, выводимый программным обеспечением Arduino (IDE), включая полные сообщения об ошибках и другую информацию. В правом нижнем углу окна отображаются настроенная плата и последовательный порт. Кнопки панели инструментов позволяют проверять и загружать программы, создавать, открывать и сохранять эскизы, а также открывать последовательный монитор.
Примечание: версии программного обеспечения Arduino (IDE) до версии 1.0 сохраненные эскизы с расширением .pde. Можно открыть эти файлы с версией 1.0, вам будет предложено сохранить эскиз с расширением .ino при сохранении.
Verify | |
Загрузить Примечание. Если вы используете на своей плате внешний программатор, вы можете удерживать клавишу «Shift» на вашем компьютере, когда используете этот значок. Текст изменится на «Загрузить с помощью программатора» | |
Новый | |
Открыть Примечание: из-за ошибки в Java это меню не прокручивается; если вам нужно открыть эскиз в конце списка, используйте файл | Вместо Sketchbook меню. | |
Сохранить | |
Serial Monitor |
Дополнительные команды находятся в пяти меню: File , Edit , Sketch , Tools , Help .Меню являются контекстно-зависимыми, что означает, что доступны только те элементы, которые относятся к выполняемой в данный момент работе.
Файл
- Новый
Создает новый экземпляр редактора с минимальной структурой эскиза, которая уже существует. - Открыть
Позволяет загрузить файл эскиза, просматривая диски и папки компьютера. - Открыть последние
Предоставляет краткий список самых последних эскизов, готовых к открытию. - Sketchbook
Показывает текущие эскизы в структуре папок Sketchbook; щелчок по любому имени открывает соответствующий эскиз в новом экземпляре редактора. - Примеры
В этом пункте меню отображается любой пример, предоставленный программным обеспечением Arduino (IDE) или библиотекой. Все примеры структурированы в виде дерева, что позволяет легко получить доступ к теме или библиотеке. - Закрыть
Закрывает экземпляр программного обеспечения Arduino, из которого оно щелкнуло. - Сохранить
Сохраняет эскиз с текущим именем. Если файл не был назван ранее, имя будет предоставлено в окне «Сохранить как …». - Сохранить как …
Позволяет сохранить текущий эскиз под другим именем. - Page Setup
Показывает окно Page Setup для печати. - Печать
Отправляет текущий эскиз на принтер в соответствии с настройками, заданными в Параметры страницы. - Предпочтения
Открывает окно Предпочтения, где можно настроить некоторые параметры среды IDE в качестве языка интерфейса IDE. - Выход
Закрывает все окна IDE. Те же эскизы, которые открываются при выборе Quit, будут автоматически открываться при следующем запуске IDE.
Редактировать
- Undo / Redo
Возвращает к одному или нескольким шагам, которые вы сделали во время редактирования; когда вы вернетесь назад, вы можете идти вперед с Redo. - Cut
Удаляет выделенный текст из редактора и помещает его в буфер обмена. - Копировать
Дублирует выделенный текст в редакторе и помещает его в буфер обмена. - Copy for Forum
Копирует код вашего эскиза в буфер обмена в форме, подходящей для публикации на форуме, с окраской синтаксиса. - Скопировать в формате HTML
Копирует код своего эскиза в буфер обмена в виде HTML, который подходит для встраивания в веб-страницы. - Вставить
Помещает содержимое буфера обмена в положение курсора в редакторе. - Выбрать все
Выделение и выделение всего содержимого редактора.
Arduino – Введение
Что такое Arduino?
Arduino – это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. Платы Arduino могут считывать входные данные – свет на сенсоре, палец на кнопке или сообщение в Твиттере – и превращать его в выходной сигнал – активировать мотор, включать светодиод и публиковать что-то в Интернете. Вы можете сказать своей плате, что делать, отправив набор инструкций микроконтроллеру на плате. Для этого вы используете язык программирования Arduino (на основе Wiring) и программное обеспечение Arduino (IDE) на основе Processing.
На протяжении многих лет Arduino был мозгом тысяч проектов, от повседневных предметов до сложных научных инструментов. Вокруг этой платформы с открытым исходным кодом собралось всемирное сообщество создателей – студентов, любителей, художников, программистов и профессионалов, которые внесли свой вклад в невероятное количество доступных знаний, которые могут оказать большую помощь как новичкам, так и экспертам.
Arduino родился в Ivrea Interaction Design Institute как простой инструмент для быстрого создания прототипов, предназначенный для студентов, не имеющих опыта в электронике и программировании.Как только оно охватило более широкое сообщество, плата Arduino начала меняться, чтобы адаптироваться к новым потребностям и задачам, дифференцируя свое предложение от простых 8-разрядных плат до продуктов для приложений IoT, носимых, 3D-печати и встроенных сред. Все платы Arduino имеют полностью открытый исходный код, позволяя пользователям создавать их самостоятельно и в конечном итоге адаптировать их к своим конкретным потребностям. Программное обеспечение также с открытым исходным кодом, и оно растет благодаря вкладу пользователей во всем мире.
Почему Ардуино?
Благодаря простому и доступному пользовательскому интерфейсу Arduino используется в тысячах различных проектов и приложений.Программное обеспечение Arduino простое в использовании для начинающих, но достаточно гибкое для опытных пользователей. Он работает на Mac, Windows и Linux. Преподаватели и студенты используют его для создания недорогих научных инструментов, для доказательства принципов химии и физики или для начала программирования и робототехники. Дизайнеры и архитекторы создают интерактивные прототипы, музыканты и художники используют их для инсталляций и экспериментов с новыми музыкальными инструментами. Создатели, конечно же, используют его для создания многих проектов, представленных на Maker Faire, например.Arduino является ключевым инструментом для изучения новых вещей. Любой – дети, любители, художники, программисты – могут начать мастерить, просто следуя пошаговым инструкциям набора или поделиться идеями в Интернете с другими членами сообщества Arduino.
Существует множество других микроконтроллеров и платформ микроконтроллеров, доступных для физических вычислений. Parallax Basic Stamp, Netmedia BX-24, Phidgets, Handyboard MIT и многие другие предлагают аналогичную функциональность. Все эти инструменты берут беспорядочные детали программирования микроконтроллера и упаковывают его в простой в использовании пакет.Arduino также упрощает процесс работы с микроконтроллерами, но предлагает учителям, студентам и любителям некоторые преимущества перед другими системами:
- Недорогой – Платы Arduino относительно недороги по сравнению с другими платформами микроконтроллеров. Самая дешевая версия модуля Arduino может быть собрана вручную, и даже предварительно собранные модули Arduino стоят менее 50 долларов.
- Кроссплатформенный – Программное обеспечение Arduino (IDE) работает в операционных системах Windows, Macintosh OSX и Linux.Большинство микроконтроллерных систем ограничены Windows.
- Простая и понятная среда программирования – Программное обеспечение Arduino (IDE) простое в использовании для начинающих, но достаточно гибкое, чтобы его могли использовать и опытные пользователи. Для учителей он удобно основан на среде программирования Processing, поэтому учащиеся, обучающиеся программированию в этой среде, будут знакомы с работой Arduino IDE.
- Открытое и расширяемое программное обеспечение – Программное обеспечение Arduino публикуется в виде инструментов с открытым исходным кодом, доступных для расширения опытными программистами.Язык может быть расширен с помощью библиотек C ++, и люди, желающие понять технические детали, могут перейти от Arduino к языку программирования AVR C, на котором он основан. Точно так же вы можете добавить код AVR-C непосредственно в ваши программы Arduino, если хотите.
- Открытое исходное и расширяемое оборудование – Планы плат Arduino публикуются под лицензией Creative Commons, поэтому опытные конструкторы схем могут создать собственную версию модуля, расширяя его и улучшая его.Даже относительно неопытные пользователи могут создать макетную версию модуля, чтобы понять, как он работает, и сэкономить деньги.
Как использовать Arduino?
См. Руководство по началу работы. Если вы ищете вдохновение, вы можете найти множество учебных пособий по Arduino Project Hub.
Текст руководства по началу работы с Arduino лицензирован под Лицензия Creative Commons Attribution-ShareAlike 3.0. Образцы кода в руководстве публикуются в открытом доступе.
,Arduino – Howto
Arduino Howto
Эта страница устарела. Вместо этого вы должны увидеть Windows Howto или Mac OS X howto (оба в руководстве Arduino).
Это шаги, которые вы должны выполнить, чтобы начать работу:
- Получить доску Arduino
- Загрузить среду Arduino
- Установите драйверы USB
- Подключите плату
- Загрузить программу
1 | Получить доску Arduino
Плата ввода / вывода Arduino представляет собой простую схему с процессором ATmega8 от Atmel.Плата состоит из печатной платы (PCB) и электронных компонентов.
Есть несколько способов получить плату Arduino:
- купить готовую доску . Посмотрите, как можно купить плату или просто плату.
- построй свою собственную доску . Если вы хотите, вы можете создать свою собственную печатную плату, просто загрузив файлы CAD со страницы «Оборудование». Извлеките файл .brd и отправьте его производителю печатной платы. Имейте в виду, что изготовление одной печатной платы будет очень дорогим.Лучше собираться вместе с другими людьми и зарабатывать по 20 или 30 за раз. Поскольку вы получаете полные файлы САПР, вы можете создать свою собственную версию Arduino. если вы вносите изменения или исправляете ошибки, пришлите нам свои изменения!
- покупка запчастей . купить детали в любом магазине электроники. В частности, серийная версия была разработана для использования самых основных частей, которые можно найти в любой точке мира. Версия USB, с другой стороны, требует некоторых дополнительных навыков пайки из-за чипа FTDI, который является частью smd.Вот список деталей для серийной платы.
- собрать плату . Мы собрали пошаговое руководство о том, как собрать плату Arduino. Новички: никогда не паяли раньше? боитесь разбить тысячи плат перед тем, как правильно припаять? не бойтесь 🙂 научитесь овладевать искусством пайки.
- программный загрузчик . Чтобы среда разработки могла программировать микросхему, она должна быть запрограммирована с помощью фрагмента кода, называемого загрузчиком .Смотрите страницу загрузчика о том, как программировать его на своем чипе.
2 | Загрузите среду Arduino
Для программирования платы Arduino вам необходима среда Arduino.
Скачать Arduino : Со страницы программного обеспечения.
Linux note : Для получения справки по запуску Arduino IDE в Debian см. FAQ («Как запустить Arduino IDE в Linux?»).
Mac OS X примечание: После загрузки IDE запустите macosx_setup.команда
. Он исправляет права доступа к нескольким файлам для использования с последовательным портом и запрашивает ваш пароль. Вам может потребоваться перезагрузка после запуска этого скрипта.
Для получения дополнительной информации см. Руководство по среде Arduino.
3 | Установите драйверы USB
Если вы используете USB Arduino, вам нужно установить драйверы для чипа FTDI на плате. Их можно найти в каталоге drivers
дистрибутива Arduino.
В Windows вам нужно будет разархивировать FTDI USB-драйверы.почтовый индекс
Затем, когда вы подключаете плату Arduino, укажите мастер Windows Add Hardware на каталог FTDI USB Drivers
.
На Mac смонтируйте образ диска FTDIUSBSerialDriver_v2_1_6.dmg
(на машинах PPC) или FTDIUSBSerialDriver_v2_2_6_Intel.dmg
(на машинах Intel) и запустите включенный FTDIUSBSerialDriver.pkg
.
Последнюю версию драйверов можно найти на сайте FTDI.
4 | Подключите плату
Если вы используете плату с последовательным интерфейсом, питайте плату от внешнего источника питания (от 6 до 25 вольт постоянного тока, с положительной жилой разъема).Подключите плату к последовательному порту на вашем компьютере.
На платах USB источник питания выбирается с помощью перемычки между USB и разъемами питания. Для питания платы от порта USB (подходит для управления устройствами с низким энергопотреблением, такими как светодиоды), установите перемычку на два контакта, ближайших к разъему USB. Для питания платы от внешнего источника питания (необходимого для двигателей и других сильноточных устройств) установите перемычку на два контакта, ближайших к штепсельной вилке. В любом случае, подключите плату к порту USB на вашем компьютере.В Windows откроется мастер установки нового оборудования; скажите, что вы хотите указать местоположение для поиска драйверов и указать папку, содержащую драйверы USB, которые вы распаковали на предыдущем шаге.
Индикатор питания должен гореть.
5 | Загрузить программу
Откройте пример эскиза светодиодного мигания: Файл> Sketchbook> Примеры> led_blink.
Вот как выглядит код примера светодиодного мигания.
Выберите последовательное устройство платы Arduino в меню Инструменты | Меню последовательного порта.В Windows это должно быть COM1
или COM2
для последовательной платы Arduino или COM3
, COM4
или COM5
для платы USB. На Mac это должно быть что-то вроде /dev/cu.usbserial-1B1
для платы USB, или что-то вроде /dev/cu.USA19QW1b1P1.1
при использовании адаптера Keyspan с последовательной платой (другой USB- последовательные адаптеры используют разные имена).
Нажмите кнопку сброса на плате, затем нажмите кнопку Загрузить в IDE.Подождите несколько секунд. В случае успеха появится сообщение «Закончена загрузка». появится в строке состояния.
Если плата Arduino не отображается в Инструменты | Сери
.Arduino – Библиотеки
Справочник Язык | Библиотеки | Сравнение изменения
Библиотеки
Среда Arduino может быть расширена за счет использования библиотек, как и большинство платформ программирования. Библиотеки предоставляют дополнительную функциональность для использования в эскизах, например, работа с оборудованием или манипулирование данными. Чтобы использовать библиотеку в эскизе, выберите ее из « Эскиз»> «Импортировать библиотеку ».
Ряд библиотек поставляется с IDE, но вы также можете загрузить или создать свою собственную.Посмотрите эти инструкции для деталей об установке библиотек. Также есть учебник по написанию ваших собственных библиотек. См. Руководство по стилю API для получения информации о создании хорошего API в стиле Arduino для вашей библиотеки.
Стандартные библиотеки
- EEPROM – чтение и запись в «постоянное» хранилище
- Ethernet – для подключения к Интернету с использованием Arduino Ethernet Shield, Arduino Ethernet Shield 2 и Arduino Leonardo ETH
- Firmata – для связи с приложениями на компьютере по стандартному последовательному протоколу.
- GSM – для подключения к сети GSM / GRPS со щитом GSM.
- LiquidCrystal – для управления жидкокристаллическими дисплеями (ЖК-дисплеями)
- SD – для чтения и записи SD-карт
- Servo – для управления серводвигателями
- SPI – для связи с устройствами, использующими шину последовательного периферийного интерфейса (SPI)
- SoftwareSerial – для последовательной связи на любых цифровых выводах. Версия 1.0 и позже Arduino включают библиотеку NewSoftSerial Микала Харта как SoftwareSerial.
- Stepper – для управления шаговыми двигателями
- TFT – для рисования текста, изображений и фигур на экране Arduino TFT
- WiFi – для подключения к интернету с помощью Arduino WiFi Shield
- Wire – двухпроводной интерфейс (TWI / I2C) для отправки и получения данных через сеть устройств или датчиков.
Библиотеки Matrix и Sprite больше не являются частью основного дистрибутива.
101 только библиотеки
- CurieBLE – Взаимодействие со смартфонами и планшетами с Bluetooth Low Energy (BLE).
- CurieIMU – Управление бортовым акселерометром и гироскопом.
- CurieTimerOne – Позволяет использовать функции таймера.
- CurieTime – Позволяет контролировать и использовать внутренние RTC (часы реального времени)
Должны только библиотеки
- Аудио – Воспроизведение аудиофайлов с SD-карты.
библиотеки Due, Zero и MKR1000
- USBHost – общение с периферийными устройствами USB, такими как мыши и клавиатуры.
- Планировщик – Управление несколькими неблокирующими задачами.
Ноль и все библиотеки MKR на базе SAMD21
- AudioFrequencyMeter – сэмплируйте аудиосигнал и верните его частоту
- AudioZero – воспроизведение аудио файлов с SD-карты
- RTC – часы реального времени для планирования событий
- ArduinoSound – простой способ воспроизведения и анализа аудиоданных
- I2S – Чтобы использовать протокол I2S на SAMD21
WiFi 101 и MKR1000 Библиотека
- WiFi101 – библиотека для использования только с Wifi shield 101
- WiFi101OTA – беспроводные обновления на MKR1000
MKR WiFi 1010, MKR VIDOR 4000, Arduino NANO 33 IoT и Arduino UNO WiFi Rev.2
- WiFi NINA – библиотека для использования модуля WiFi Nina вышеперечисленных плат.
Arduino Nano 33 BLE, Nano 33 BLE Sense, NANO 33 IoT, Uno WiFi Rev 2, MKR WiFi 1010.
- ArduinoBLE – библиотека для использования функций BLE вышеперечисленных плат.
Arduino Nano 33 IoT и UNO WiFi Rev. 2
- ArduinoLSM6DS3 – библиотека для использования 6-осевого IMU LSM6DS3, доступная в Arduino Nano 33 IoT и Arduino UNO WiFi Rev. 2.
Arduino Nano 33 BLE и BLE Sense
- ArduinoLSM9DS1 – библиотека для использования 9-осевого IMU LSM9DS1, доступная на Arduino Nano 33 BLE и Arduino Nano 33 BLE Sense.
Arduino Nano 33 BLE Sense
- PDM – библиотека для использования цифрового микрофона MP34DT05, наша библиотека PDM может использоваться также с нашей библиотекой ArduinoSound.
- ArduinoAPDS9960 – библиотека для использования датчика жеста APDS9960; он чувствует жест, цвет, освещение и близость окружения.
- ArduinoLPS22HB – библиотека для использования барометра и датчика температуры LPS22; это ультракомпактный датчик, который функционирует как цифровой выходной барометр.