Настройка проекта
Каждый Arduino-проект начинается с короткого диалога «Новый проект…» и сразу получает три фиксированных документа —
setup, loop и Devices — так что для описания вашей схемы подключения всегда
есть отдельное место, а не только код.
Создание проекта
Заголовок раздела «Создание проекта»Файл > Новый проект… (или Ctrl+N, или кнопка Новый проект… на стартовой странице) открывает диалог, где нужно указать имя, папку (она следует за именем, пока вы не выберете свою через Browse…) и плату.
Список плат покрывает самые распространённые: Uno, Nano, Nano (старый загрузчик), Mega 2560 и ESP32 Dev Module.
Плата выбирается один раз и больше не меняется. Она записывается в
falang/config/arduino.jsonвнутри папки проекта — эта настройка версионируется вместе со всем остальным в проекте — и каждая последующая компиляция, загрузка и отладочная загрузка берут её оттуда. Панель Build & Upload показывает плату как обычный текст — выбора платы там больше нет, нужно выбрать только порт.Если открыть проект, созданный до появления этой возможности, он считается платой Uno, а файл конфигурации записывается при первом же открытии — дальше такой проект ведёт себя так же, как и любой новый.
Фиксированные документы
Заголовок раздела «Фиксированные документы»setupиloop— обычные функциональные документы, тот же редактор, что и у любой другой функции — но закреплённые: дерево проекта не предлагает для них ни удаление, ни переименование, ни перетаскивание, а новый документ в корне проекта нельзя назватьsetupилиloop. Они существуют всегда и компилируются напрямую в собственныеsetup()/loop()Arduino.Devices— третий закреплённый документ, но это не схема, а небольшая форма для описания подключённого оборудования, а не кода (см. ниже).
Документ Devices
Заголовок раздела «Документ Devices»Две таблицы, обе напрямую попадают в сгенерированный setup():
Цифровые пины — номер пина, режим (
Input,OutputилиInput (pull-up)) и необязательная метка для памяти. Каждая строка превращается в один вызовpinMode(…)в началеsetup(), в том порядке, в котором строки перечислены — больше не нужно писать это вручную в блоке кода.Devices — выберите встроенный драйвер, дайте экземпляру имя и заполните запрашиваемые поля. LCD1602 (I2C) — первое встроенное устройство: у него нужно указать только I2C-адрес дисплея (распространённые варианты — 0x20, 0x27, 0x3E — предлагаются в выпадающем списке). LCD1602 (Parallel) — тот же дисплей, но подключённый напрямую к 6 GPIO-пинам вместо I2C — для плат или схем без I2C — и запрашивает эти 6 пинов (RS, EN, D4-D7) вместо адреса. Добавление любого из них добавляет собственный вызов инициализации сразу после настройки режимов пинов.
Все встроенные драйверы объявляют секцию устройства, поэтому все они есть в этом списке (DHT: пин данных и датчик; HC-SR04: пины Trig и Echo; сервопривод: пин; RGB-лента: пин данных и длина; LCD1602: адрес или пины). Действия драйвера появляются в меню иконок только если в проекте есть хотя бы одно устройство этого драйвера — сначала добавьте устройство здесь, затем вставляйте его действия.
Любой драйвер, на который ссылается экземпляр устройства, автоматически включается в сборку — его исходные файлы и
#includeдобавляются в скетч, даже если ни один узел-действие нигде вsetup/loopего не вызывает.
Build & Upload
Заголовок раздела «Build & Upload»Плата уже зафиксирована, поэтому Build & Upload просит выбрать только порт. Сгенерированный скетч
записывается в src/sketch/sketch.ino внутри папки проекта (вместе с нужными файлами драйверов) — больше
нет скрытой папки .build, о которой нужно помнить. Сгенерированный код можно открыть и прочитать как
любой другой файл, и, поскольку он лежит внутри src/, он попадает в историю версий точно так же, как и
всё остальное в проекте.
