Andruino. Arduino: платформа для разработки электронных устройств

Что такое Arduino. Как начать работу с Arduino. Как программировать Arduino. Какие возможности предоставляет Arduino. Какие существуют альтернативные среды разработки для Arduino.

Содержание

Что такое Arduino

Arduino — это открытая платформа для разработки электронных устройств. Она состоит из программируемой аппаратной платформы (различные модели плат Arduino) и программного обеспечения (Arduino IDE) для написания и загрузки кода на плату.

Основные особенности Arduino:

  • Простота использования — удобная среда разработки, понятный язык программирования
  • Открытость — полностью открытая архитектура и исходный код
  • Гибкость — возможность подключения различных датчиков, модулей, двигателей и т.д.
  • Доступность — низкая стоимость плат и компонентов
  • Большое сообщество — множество проектов, библиотек, обучающих материалов

Arduino позволяет создавать интерактивные электронные объекты, роботов, системы автоматизации и многое другое. Это отличный инструмент для обучения электронике, программированию и прототипированию.


Как начать работу с Arduino

Чтобы начать работать с Arduino, потребуется:

  1. Плата Arduino (например, Arduino Uno)
  2. USB-кабель для подключения платы к компьютеру
  3. Среда разработки Arduino IDE
  4. Базовые электронные компоненты (светодиоды, резисторы, кнопки и т.д.)

Основные шаги для начала работы:

  1. Установите Arduino IDE на компьютер
  2. Подключите плату Arduino к компьютеру через USB
  3. Выберите нужную модель платы и порт в Arduino IDE
  4. Напишите простой скетч (например, мигание светодиодом)
  5. Загрузите скетч на плату

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

Программирование 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. Многие библиотеки снабжаются примерами, расположенными в папке

examples. Если библиотека установлена правильно, то она появляется в меню Sketch | Import Library. Выбор библиотеки в меню приведёт к добавлению в исходный код строки:


#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.

На практике означает плюс питания, например, 5V.
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.

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

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