Что такое Arduino. Как начать работу с Arduino. Как программировать Arduino. Какие возможности предоставляет Arduino. Какие существуют альтернативные среды разработки для Arduino.
Что такое Arduino
Arduino — это открытая платформа для разработки электронных устройств. Она состоит из программируемой аппаратной платформы (различные модели плат Arduino) и программного обеспечения (Arduino IDE) для написания и загрузки кода на плату.
Основные особенности Arduino:
- Простота использования — удобная среда разработки, понятный язык программирования
- Открытость — полностью открытая архитектура и исходный код
- Гибкость — возможность подключения различных датчиков, модулей, двигателей и т.д.
- Доступность — низкая стоимость плат и компонентов
- Большое сообщество — множество проектов, библиотек, обучающих материалов
Arduino позволяет создавать интерактивные электронные объекты, роботов, системы автоматизации и многое другое. Это отличный инструмент для обучения электронике, программированию и прототипированию.

Как начать работу с Arduino
Чтобы начать работать с Arduino, потребуется:
- Плата Arduino (например, Arduino Uno)
- USB-кабель для подключения платы к компьютеру
- Среда разработки Arduino IDE
- Базовые электронные компоненты (светодиоды, резисторы, кнопки и т.д.)
Основные шаги для начала работы:
- Установите Arduino IDE на компьютер
- Подключите плату Arduino к компьютеру через USB
- Выберите нужную модель платы и порт в Arduino IDE
- Напишите простой скетч (например, мигание светодиодом)
- Загрузите скетч на плату
После этого можно приступать к изучению возможностей платформы и созданию более сложных проектов.
Программирование Arduino
Программирование Arduino осуществляется на языке Arduino, основанном на C++. Основная структура скетча состоит из двух функций:
- setup() — выполняется один раз при запуске
- loop() — выполняется циклически
Пример простейшего скетча для мигания светодиодом:
«`cpp void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } «`Arduino IDE предоставляет множество встроенных библиотек для работы с различным оборудованием. Также можно использовать тысячи сторонних библиотек от сообщества.

Возможности Arduino
Arduino предоставляет широкие возможности для разработки электронных устройств:
- Управление цифровыми и аналоговыми входами/выходами
- Работа с различными протоколами (I2C, SPI, UART и др.)
- Подключение датчиков (температуры, влажности, освещенности и т.д.)
- Управление двигателями и сервоприводами
- Работа с дисплеями и индикаторами
- Беспроводная связь (Wi-Fi, Bluetooth)
- Обработка звука и видео
Это позволяет создавать разнообразные устройства — от простых датчиков до сложных роботов и систем «умного дома».
Альтернативные среды разработки
Помимо официальной Arduino IDE существуют альтернативные среды разработки:
- PlatformIO — профессиональная среда для разработки встраиваемых систем
- Visual Studio Code с расширением PlatformIO — мощная IDE с поддержкой Arduino
- Arduino CLI — интерфейс командной строки для работы с Arduino
- ArduinoFlow — визуальная среда программирования на основе блоков
- Makefiles — сборка проектов Arduino с помощью Makefile
Выбор среды разработки зависит от предпочтений и требований конкретного проекта. Для начинающих рекомендуется использовать официальную Arduino IDE.

Популярные проекты на Arduino
Arduino используется для создания самых разнообразных проектов. Вот несколько популярных примеров:
- Метеостанция — измерение температуры, влажности, давления
- Умный дом — управление освещением, климатом, безопасностью
- Робот-манипулятор — управление сервоприводами
- Квадрокоптер — управление моторами и стабилизация
- Музыкальный синтезатор — генерация звука
Многие из этих проектов можно реализовать даже начинающим, используя готовые библиотеки и инструкции. Arduino открывает широкие возможности для творчества и экспериментов в области электроники.
Расширение возможностей Arduino
Базовые возможности Arduino можно существенно расширить с помощью дополнительных модулей и шилдов. Вот некоторые популярные расширения:
- Ethernet Shield — подключение к локальной сети и интернету
- GSM Shield — мобильная связь и передача данных
- Motor Shield — управление моторами и сервоприводами
- LCD Shield — подключение ЖК-дисплея и кнопок управления
- SD Card Shield — работа с SD-картами памяти
Использование шилдов позволяет быстро добавить новую функциональность без пайки и сложных подключений. Это упрощает создание более сложных проектов.

Отладка проектов Arduino
Отладка — важный этап разработки проектов на Arduino. Основные инструменты отладки:
- Serial Monitor — вывод отладочных сообщений через последовательный порт
- Serial Plotter — построение графиков по данным с последовательного порта
- Светодиодная индикация — простой способ отображения состояния
- Логический анализатор — для отладки цифровых протоколов
- Осциллограф — для анализа аналоговых сигналов
Эффективная отладка позволяет быстро находить и устранять ошибки в работе устройства. Важно продумывать систему отладки еще на этапе проектирования.
Руководство для постигающих Силу тока
Статья проплачена кошками — всемирно известными производителями котят.
Если статья вам понравилась, то можете поддержать проект.
У кошки четыре ноги:
Ввод, вывод, земля и питание,
Но трогать её не моги!
Получится замыкание!
Новости раздела
Добавлена статья Библиотека Meter для Processing
Даже путь в тысячу ли начинается с первого шага (Канон Пути и благодати)
Ардуинщик, как и джедай, должен пройти свой путь. Да пребудет с тобой Сила…тока.
Начало
Подготовка к работе. Установка IDE.
Светодиоды
Первый скетч. Мигаем светодиодами
Цифровые выводы
Управляем выводами платы
Цифровые выводы с PWM
Плавно уменьшаем яркость светодиода
Serial Monitor
Общаемся с компьютером
Потенциометр
Меняем напряжение. Управляем яркостью
Фоторезистор
Измеряем освещённость комнаты
Кнопка
Пощёлкаем?
Светодиоды
Больше светодиодов богу светодиодов
7-сегментный индикатор
Выводим цифру
Processing
Связываемся с Processing
Сервоприводы
Крутим, вертим, вращаем
ЖК-экран
Выводим информацию на экран
Пьезоизлучатель
Пищать будем?
Матричная клавиатура
Гибкая клавиатура 4х4
Библиотеки
В скетчах можно подключить библиотеки, представляющие собой специальным образом оформленный программный код, реализующий некоторый функционал, который можно подключить к создаваемому проекту. Специализированных библиотек существует множество. Среда Arduino IDE поставляется с набором стандартных библиотек: Serial, EEPROM, SPI, Wire и др. Они находятся в подкаталоге libraries.
Другие библиотеки могут быть также загружены с различных ресурсов. Папка библиотеки копируется в каталог стандартных библиотек libraries. Внутри каталога с именем библиотеки находятся файлы *.cpp, *.h. Многие библиотеки снабжаются примерами, расположенными в папке
#include <имя библиотеки.h>
Эта директива подключает заголовочный файл с описанием объектов, функций и констант библиотеки. Среда Arduino будет компилировать создаваемый проект вместе с указанной библиотекой.
Среды разработки
Кроме стандартной среды разработки Arduino IDE существуют и другие программы.
Eclipse — универсальная оболочка, в которую добавляются различные плагины. Например, долгое время Eclipse был главным инструментом для разработки под Android. Также можно установить плагины для разработки под Arduino.
Atmel Studio 6 — мощная среда разработки для микроконтроллеров, в том числе и для Arduino.
На сайте Arduino также есть онлайн-редактор.
Недавно вышел ещё один редактор от команды Arduino: Arduino IDE Pro. Пока это альфа-версия и весьма сырая.
Есть отдельные расширения для Visual Studio и Visual Studio Code.
Многим нравится PlatformIO.
Словарик английских терминов
Если придётся читать документацию на английском, то не помешает знать некоторые специфические слова.
continuity — электропроводность
circuit — цепь, контур
voltage, current, resistance — напряжение, ток, сопротивление
conductor — проводник
AC (alternating current) — переменный ток (в розетке)
DC (direct current) — постоянный ток (от батарейки)
VCC — Voltage Common Collector.
D — сокращение от Digital, S — от Signal. Означают те контакты, которые нужно подключать к цифровым (D) или аналоговым (S) пинам.
pull-up (подтягивающие) и pull-down (стягивающие) — резисторы для устранения дребезга кнопок
Forward voltage — прямое напряжение
SDA (Serial Data Line) — линия данных (Шина I²C)
SCL (Serial Clock Line) или SCK — тактовая линия (Шина I²C)
MOSI (Master-Out, Slave-In) — ведущий посылает, ведомый принимает
MISO (Master-In, Slave-Out) — ведущий принимает, ведомый посылает
SS или CS (Slave Select или Chip Select) — выбор ведомого или выбор устройства.
Книги
25 крутых проектов с Arduino
Полезные ссылки
Adafruit Learning System — набор учебных примеров, в том числе и по Arduino.
learn.sparkfun.com — учебные примеры от Sparkfun.
Реклама
Arduino – RoboCraft
Arduino — аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Wiring (C++).
Аппаратная часть
Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен.
На концептуальном уровне, все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие платы, вроде Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial вроде FTDI FT232. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-serial или кабеля.
Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых вводов/выводов(уровни «LOW» -0В и «HIGH» -5В), 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов(0-5В). Эти выводы доступны в верхней части платы через 0,1 дюймовые разъёмы типа «мама». На рынке доступны несколько внешних плат расширения, известных как «shields».
Программное обеспечение
Интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.
Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.
Клоны
Название «Arduino» (и производные от него) является торговой маркой для официального продукта и не может использоваться для производных работ без разрешения. В официальном документе, об использовании названия Arduino, подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.
Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.
Подробнее — «Разновидности плат Arduino, а также про клоны, оригиналы и совместимость»
Самостоятельное изготовление
В домашних условиях можно самостоятельно изготовить Arduino Single-Sided Serial Board.
принципиальная схема
руководство (на английском)
Купить Arduino
Купить Arduino или CraftDuino — наш вариант полностью Arduino-совместимой платы, можно в нашем Магазине.
Читать далее:
Ардуино что это и зачем?
Почему Arduino побеждает и почему он здесь, чтобы остаться?
Arduino, термины, начало работы
Разновидности плат Arduino, а также про клоны, оригиналы и совместимость
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)
Ссылки
www.arduino.cc — официальный сайт
Знакомство с Arduino
Инструкции по Arduino — несколько уроков с фотографиями и советами для начинающих (на английском).
http://ru.wikipedia.org/wiki/Arduino
Wiring
По теме
Подготовка к работе с Arduino/CraftDuino
Программирование Arduino — статьи.
Книги про Arduino
книга на русском языке: Блокнот программиста Arduino (PDF 1.3 Mb)
Шпаргалка по Arduino
Возможные ошибки при работе с Arduino
Processing и Arduino
Обмен стеками Arduino
Загрузка…
Arduino Stack Exchange — это сайт вопросов и ответов для разработчиков аппаратного и программного обеспечения с открытым исходным кодом, совместимого с Arduino.
Зарегистрируйтесь, чтобы присоединиться к этому сообществу
Любой может задать вопрос
Любой может ответить
Лучшие ответы голосуются и поднимаются на вершину
Задай вопрос
больше тегов
Активный Горячий Неделю Месяц
0 голоса
0 ответы
18 Просмотры
AD8232 не дает ожидаемых значений
- датчики
- аналоговые
0 голоса
0 ответы
6 Просмотры
SPI — CS периодически становится высоким на Arduino UNO
- ардуино-уно
- шип
-1 голоса
0 ответы
70 Просмотры
Прием ИК-сигнала
- arduino-uno
- инфракрасный порт
1 голосование
0 ответы
26 Просмотры
Как избавиться от второй вкладки в Arduino IDE 2?
- ардуино-иде-2
-2 голоса
0 ответы
16 Просмотры
Странная ошибка компиляции в моем коде
0 голоса
0 ответы
15 Просмотры
Как мне вернуть мой Arduino Uno Wi-Fi в «обнаруживаемое состояние», чтобы я мог подключить его к своему Wi-Fi?
- Wi-Fi
- сброс
- arduino-uno-wifi
-1 голоса
1 отвечать
46 Просмотры
Как читать данные аналогового датчика с помощью разных таймеров в Arduino
- ардуино-уно
- датчики
- таймеры
0 голоса
0 ответы
31 Просмотры
Как получить числовое значение из HTML в ESP8266?
- esp8266
- веб-сервер
- веб-
-2 голоса
1 отвечать
29 Просмотры
Лучший способ получить JSON из класса struct vector
1 голосование
0 ответы
16 Просмотры
Мне нужна помощь с последовательной связью между Arduino Uno и NodeMCU.

- arduino-uno
- nodemcu
- серийный номер программного обеспечения
2 голоса
1 отвечать
201 Просмотры
Сервер WebSocket для MKR1000
- программирование
- библиотека
- веб-сокет
1 голосование
1 отвечать
110 Просмотры
Сервопривод продолжает вращаться
- arduino-uno
- c++
- сервопривод
- потенциометр
-1 голоса
2 ответы
33 Просмотры
Как мне контролировать вращение моего сервопривода?
-1 голоса
0 ответы
16 Просмотры
Управление Arduino Uno из Python
- серийный номер
- питон
- фирмата
Посмотреть больше вопросов
Arduino — ArchWiki
Arduino — это платформа для прототипирования электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных объектов или сред.
После подключения и настройки пользователь может выполнять задачи чтения/записи через установленное последовательное соединение. Примерами являются взаимодействие через UART с использованием программы мониторинга последовательного порта или программирование микроконтроллера. Написание, компиляция и загрузка вашего кода облегчается использованием официальной среды разработки Arduino IDE, которая доступна в официальных репозиториях. Точно так же пользователь может использовать компилятор и программатор по своему выбору для программирования микроконтроллера.
Установка
- Установите либо arduino для оригинальной версии 1.x IDE, либо arduino-cli для официального интерфейса командной строки, либо arduino-ide-bin AUR для новой версии 2.x IDE. Офлайн-документацию для 1.x IDE можно установить через arduino-docs.
- Добавьте своего пользователя в группу пользователей
uucp
(дополнительная информация в разделе #Accessing serial). - Возможно, вам потребуется загрузить модуль
cdc_acm
.
Arduino IDE 1.x
Следующий раздел относится только к версии 1.x IDE. Однако кое-что из этого можно адаптировать для новой IDE.
Платы AVR
Чтобы использовать платы AVR, такие как Arduino Uno, вы можете дополнительно установить arduino-avr-core, чтобы использовать вышестоящую версию Arch Linux avr-gcc вместо прилагаемого старого avr-core. Если вы все еще хотите использовать старое ядро arduino, вам необходимо установить его в диспетчере плат. Вы всегда можете переключаться между различными ядрами в меню «Инструменты>Доска».
Pinoccio Scout
Pinoccio Scout также можно запрограммировать с помощью Arduino IDE. Инструкции можно найти здесь.
Альтернативно можно установить arduino-pinoccio AUR из AUR.
Intel Galileo
Чтобы использовать платы Intel Galileo с Arch Linux, установите Arduino IDE и загрузите пакет инструментов Galileo через «Инструменты->Плата->Диспетчер плат». Чтобы исправить установку, вы можете следить за этим постом на github.
На устройствах Arm7
См. здесь обходной путь.
Arduino IDE 1.x или 2.x
Эти шаги должны быть действительны для обеих версий IDE.
Платы AVR
Платы AVR автоматически устанавливаются версией 2.x среды IDE, однако в версиях 1.x и 2.x платами AVR можно управлять из диспетчера плат. Для 1.x см. здесь.
SparkFun
Для использования плат SparkFun, таких как Pro Micro, необходимо загрузить определения их плат. Больше информации здесь и здесь.
RedBear Duo
Возможно, вам потребуется установить perl-archive-zip, иначе вы получите сообщение об ошибке crc32.
Конфигурация
Для интерфейса через USB на Arduino используется интерфейсный чип. На подлинных платах обычно используется ATmegaxU2, который регистрируется как устройство ACM. В Linux используется модуль
cdc_acm
. Следовательно, при подключении Arduino будет отображаться как /dev/ttyACMx
.
Неоригинальные платы Arduino обычно удешевляют интерфейсный чип, обычно используя один из китайского семейства Ch44x. Ch44x не реализует вышеупомянутый стандарт и представляет собой проприетарное устройство UART через USB. Здесь 9Используется модуль 0288 ch441 , поэтому такие Arduino отображаются как /dev/ttyUSBx
. Этот шаблон именования можно настроить, изменив правила udev.
Примечание: Не забудьте закрыть все программы мониторинга последовательного порта во время загрузки кода, чтобы освободить последовательный порт для программатора.
Доступ к последовательному порту
Плата Arduino взаимодействует с компьютером через последовательное соединение или последовательное соединение через USB, поэтому пользователю необходим доступ для чтения/записи к файлу последовательного устройства. Udev создает такие файлы, как
/dev/ttyUSB0
принадлежит группе uucp
, поэтому добавление пользователя в группу uucp
дает необходимый доступ для чтения/записи. Дополнительные сведения см. в разделе Пользователи и группы#Управление группами.
Перед загрузкой в Arduino обязательно установите правильный последовательный порт, плату и процессор в меню «Инструменты» в версии 1.x и в опции «Выбор платы» (расположенной в верхней части IDE) в версии 2.x.
stty
Подготовка:
# stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
Отправка команд через Терминал без новой строки после команды
# echo -n "Привет, мир" > /dev/ttyACM0
Примечание: Поскольку автоматический сброс при последовательном соединении активирован по умолчанию на большинстве плат, вам необходимо отключить эту функцию, если вы хотите напрямую связываться с платой с помощью последней команды, а не через эмулятор терминала (arduino IDE, screen, picocom . ..). Если у вас есть плата Leonardo, вас это не беспокоит, потому что она не перезагружается. Если у вас плата Uno, подключите конденсатор 10 мкФ между контактами RESET и GND. Если у вас другая плата, подключите резистор 120 Ом между контактами RESET и 5V. Подробнее см. https://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection.
Чтение того, что ваш Arduino должен вам сказать
$ кошка /dev/ttyACM0
Arduino-Builder
Эта статья или раздел устарели.
Причина: Этот раздел был написан до выпуска версии 2.x IDE, поэтому описание функций может быть неточным. На странице GitHub для Arduino-Builder было указано, что Arduino-Builder постепенно отказывается от использования Arduino CLI (Обсудить в разговоре: Arduino)
Вы также можете создавать эскизы Arduino с помощью инструмента командной строки arduino-builder. Чтобы использовать предоставленное ядро arduino-avr с вышестоящими avr-gcc и avrdude, вам необходимо создать небольшой файл настроек:
build.options.json
{ "fqbn": "archlinux-arduino:avr:uno", "hardwareFolders": "/usr/share/arduino/hardware", "toolsFolders": "/usr/bin" }
Скомпилируйте скетч с помощью:
$ arduino-builder -build-options-file build.options.json blink.ino
Или передать все параметры через командную строку:
$ arduino-builder -fqbn archlinux-arduino:avr:uno -hardware /usr/share/arduino/hardware -tools /usr/bin blink.ino
Альтернативы IDE
ArduIDE
ArduIDE — это IDE на основе Qt для Arduino. arduide-git AUR доступен в AUR.
Arduino-CMake
Используя Arduino-CMake-Toolchain и CMake, вы можете создавать прошивку Arduino из командной строки, используя несколько систем сборки. CMake позволяет создавать систему сборки, которая соответствует вашим потребностям, с помощью инструментов, которые вам нравятся. Он может генерировать систему сборки любого типа, от простых файлов Makefile до готовых проектов для Eclipse, Visual Studio, XCode и т. д.
Требования: cmake, arduino, avr-gcc, avr-binutils, avr-libc, avrdude.
Makefile
Вместо использования Arduino IDE можно использовать другой редактор и Makefile.
Настройте каталог для программирования Arduino и скопируйте Makefile в этот каталог. Копию Makefile можно получить из этого шаблона GitHub. Вам придется немного изменить это, чтобы отразить ваши настройки. Makefile должен быть довольно понятным. Вот несколько строк, которые вам, возможно, придется отредактировать.
ПОРТ = обычно /dev/ttyUSBx, где x — последовательный порт USB, к которому подключена ваша Arduino TARGET = имя вашего скетча ARDUINO = /usr/share/arduino/lib/targets/arduino
В зависимости от того, какие библиотечные функции вы вызываете в своем скетче, вам может потребоваться скомпилировать части библиотеки. Для этого вам нужно отредактировать SRC и CXXSRC, включив в них необходимые библиотеки.
Теперь вы сможете make && make загрузить
на вашу доску, чтобы выполнить свой скетч.
Arduino-mk
arduino-mk AUR — еще один альтернативный подход к Makefile. Это позволяет пользователям иметь локальный Makefile, который включает Arduino.mk. Смотрите страницу проекта для использования.
Для Arduino 1.5 попробуйте следующий локальный Makefile (поскольку структура каталогов библиотек Arduino 1.5 немного отличается):
ARDUINO_DIR = /usr/доля/ардуино ARDMK_DIR = /usr/доля/ардуино AVR_TOOLS_DIR = /usr AVRDUDE_CONF = /etc/avrdude.conf ARDUINO_CORE_PATH = /usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino ARDUINO_PLATFORM_LIB_PATH = /usr/share/arduino/hardware/archlinux-arduino/avr/libraries BOARDS_TXT = /usr/share/arduino/hardware/archlinux-arduino/avr/boards.txt ARDUINO_VAR_PATH = /usr/доля/arduino/оборудование/archlinux-arduino/avr/варианты BOOTLOADER_PARENT = /usr/share/arduino/hardware/archlinux-arduino/avr/загрузчики BOARD_TAG = нет ARDUINO_LIBS = включить /usr/share/arduino/Arduino.mk
В некоторых случаях вам может понадобиться установить avr-libc и avrdude.
Scons
Используя scons вместе с arscons, очень легко компилировать и загружать проекты Arduino из командной строки. Scons основан на python, и вам понадобится python-pyserial для использования последовательного интерфейса. Установите python-pyserial и scons.
Это также позволит получить необходимые вам зависимости. Вам также понадобится сама Arduino, поэтому установите ее, как описано выше. Создайте каталог проекта (например, test), затем создайте файл проекта arduino в новом каталоге. Используйте то же имя, что и каталог, и добавьте .ino (например, test.ino). Получите сценарий SConstruct от arscons и поместите его в свой каталог. Загляните в него и, при необходимости, отредактируйте. Это скрипт на питоне. Отредактируйте свой проект по своему усмотрению, затем запустите
$ scons # Это соберет проект $ scons upload # Это загрузит проект на ваш Arduino.
PlatformIO
PlatformIO — это инструмент Python для создания и загрузки скетчей для нескольких аппаратных платформ, на момент написания это платы на базе Arduino/AVR, платы TI MSP430 и TI TM4C12x. В ближайшее время автор планирует добавить библиотечную функцию, позволяющую искать и включать библиотеки прямо из GitHub.
Установка
Установите пакет platformio AUR или platformio-git AUR .
Использование
$ Платформа установка платформы atmelavr $ платформенная инициализация $ vim-платформа.ini
# # Плата на базе Atmel AVR + Arduino Wiring Framework # [env:АрдуиноМега2560] платформа = atmelavr фреймворк = ардуино плата = мегаатмега2560 upload_port = /dev/ttyACM0 цели = загрузить
$ платформенный забег
Emacs
Можно настроить Emacs как IDE.
Установите пакет emacs-arduino-mode-git AUR из AUR, чтобы включить arduino-mode
в emacs.
Добавить в сценарий инициализации:
~/.emacs
;; arduino-режим (требуется 'cl) (автозагрузка 'arduino-mode "arduino-mode" "режим редактирования Arduino".t) (добавить в список 'auto-mode-alist'("\.ino$". arduino-mode))
Вы можете скомпилировать и загрузить скетчи, используя Arduino-mk
(см. выше) с M-x compile
сделать загрузку
.
Основной ресурс: здесь.
Устранение неполадок
Согласованное наименование устройств Arduino
Если у вас более одного Arduino, вы могли заметить, что их имена /dev/ttyUSB[0-9]
назначаются в порядке подключения. В IDE это не такая большая проблема, но когда вы запрограммировали свое собственное программное обеспечение для связи с проектом Arduino в фоновом режиме, это может раздражать. Используйте следующий udev правил для назначения статических символических ссылок на ваши Arduino:
/etc/udev/rules.d/52-arduino.rules
SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="0403", ATTRS{ idProduct}=="6001", SYMLINK+="sensors/ftdi_%s{serial}"
Ваши Arduino будут доступны под такими именами, как /dev/sensors/ftdi_A700dzaF
. Если вы хотите, вы также можете назначить более осмысленные имена для нескольких устройств, например:
/etc/udev/rules.d/52-arduino.rules
ПОДСИСТЕМЫ=="usb", ЯДРО=="ttyUSB[0-9]*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A700dzaF", SYMLINK+="arduino/nano"
, который создаст символическую ссылку в /dev/arduino/nano
на устройство с указанным серийным номером.
Вам нужно отключить и снова подключить Arduino, чтобы это вступило в силу или запустилось.
# триггер udevadm
Общий idVendor
/ idProduct
пары можно найти в /usr/share/arduino/hardware/archlinux-arduino/avr/boards.txt
в дистрибутивном пакете. Обратите внимание, что некоторые из них (особенно FTDI) не уникальны для платформы Arduino. Использование атрибута серийного номера
— хороший способ различать различные устройства.
Ошибка при открытии последовательного порта
Вы можете сначала увидеть последовательный порт при запуске IDE, но индикаторы TX/RX ничего не делают при загрузке. Возможно, вы ранее изменили скорость передачи в последовательном мониторе на что-то, что ему не нравится. Отредактируйте ~/.arduino/preferences.txt так, чтобы в serial.debug_rate была другая скорость, например 115200.
Работа с Uno/Mega2560
Arduino Uno и Mega2560 имеют встроенный интерфейс USB (Atmel 8U2), который принимает последовательные данные, поэтому доступ к ним осуществляется через /dev/ttyACM0, созданный модулем ядра cdc-acm при его подключении в.
Может потребоваться обновление микропрограммы 8U2 для упрощения последовательной связи. См. [1] для получения более подробной информации и ответ № 11 для исправления. Оригинальный arduino bbs, где вы можете найти изображение, объясняющее, как перевести Uno в DFU, теперь доступен только для чтения. Если у вас нет учетной записи для просмотра изображения, см. [2].
Вы можете выполнить общий функциональный тест Uno, переведя его в режим обратной связи и введя символы в последовательный монитор Arduino на скорости 115200 бод. Это должно отразить символы обратно к вам. Чтобы поместить его в петлю, закоротите контакты 0 -> 1 на цифровой стороне и либо удерживайте кнопку сброса, либо замкните контакты GND -> RESET во время ввода.
Не распознает порт USB с дешевыми китайскими клонами Mega2560
Попробуйте установить его драйвер: i2c-ch441-dkms AUR .
1.x Размер приложения не изменяется с помощью WM, меню сразу же закрываются
см. Java#Серое окно, размер приложений не изменяется с помощью WM, меню закрывается сразу
Не удалось загрузить: программатор не отвечает
Изменение настройки процессора с ATmega328P
на ATmega328P (старый загрузчик)
(см. Инструменты->Процессор в Arduino IDE) может помочь при сбоях загрузки.
1.x Сбой с java.lang.NullPointerException после новой установки
Вам необходимо установить arduino-avr-core.
Конфликт последовательного порта с brltty
Если последовательный порт Arduino не виден в /dev/ttyUSB*, а dmesg выводит следующее при подключении устройства:
[ 210.