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

Лучшее кодирование Arduino с VS Code и PlatformIO

Лучшее кодирование Arduino с VS Code и PlatformIO

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

Visual Studio Code (VS Code) быстро стал одним из самых популярных редакторов кода, но не поддерживает разработку Arduino в качестве стандарта.

Войдите в PlatformIO, инструмент с открытым исходным кодом для программирования плат Arduino (и многое другое)! Узнайте, как получить PlatformIO и использовать его для создания простого эскиза Arduino в VS Code.

Требования к проекту

Тебе понадобится:

  • Arduino совместимая плата. В этом учебном пособии используется нано-клон.
  • Arduino IDE доступен на веб-сайте Arduino (бесплатно).
  • Код Visual Studio, доступный от Microsoft (бесплатно).

Сегодняшнее руководство предназначено для Windows 10, но оно также должно работать на Linux и Mac.

Примечание. Версия Arduino IDE для Windows 10 не будет работать с этим руководством.

Как установить PlatformIO

VS Code имеет множество расширений, чтобы помочь программистам , и PlatformIO ничем не отличается. Откройте Торговую площадку VS Code Extensions с левой панели и найдите PlatformIO IDE . Нажмите «Установить» и будьте готовы к короткому ожиданию.

Примечание . Не закрывайте VS Code во время этого процесса, так как это может привести к ошибкам при установке.

Расширение PlatformIO в коде VS

После завершения установки в правом нижнем углу появится приглашение для перезагрузки кода VS. Нажмите на нее, и программа перезапустится, показывая домашнюю страницу расширения PlatformIO.

Настройка проекта

На домашней странице PlatformIO есть несколько вариантов, включая открытие существующих проектов Arduino и ссылки на идеи проектов. Сегодня вы начнете с нуля, поэтому нажмите « Новый проект» .
Домашняя страница PlatformIO

Вам будет предложено ввести имя для вашего проекта и доски, которую вы будете использовать. В этом уроке используется Arduino Nano; PlatformIO поддерживает более 650 плат, поэтому вы, скорее всего, найдете свою в списке.

Вкладка Framework должна автоматически заполняться как Arduino, если вы используете Arduino-совместимую плату. Оставьте флажок « Местоположение» заполненным, чтобы использовать местоположение установки по умолчанию. Вам нужно снять этот флажок, только если вы работаете с ранее сделанным проектом Arduino.
PlatformIO новое окно проекта

Нажмите Готово и будьте готовы к короткому ожиданию. PlatformIO загрузит и установит все зависимости, необходимые для проекта, и перезапустит IDE после его завершения.
Инициализация PlatformIO

Рабочий процесс PlatformIO

Как только VS Code перезапустится, вы увидите новую папку проекта, открытую на панели Explorer . На этом этапе не обязательно знать, что делает каждый файл в этом каталоге, вы будете использовать каталог SRC только для своих эскизов Arduino.

Структура проекта PlatformIO

Вы также заметите несколько новых значков на нижней панели кода VS. Это эквивалент кнопок в IDE Arduino — галочка для компиляции, стрелка для загрузки и заглушка для последовательного монитора.

Новые значки в нижней панели инструментов кода VS

Теперь, когда все настроено, давайте приступим к кодированию!

Пустая программа

PlatformIO создает пустой эскиз с каждым новым проектом.

Откройте его на вкладке Explorer, перейдя в SRC / main.cpp, который откроет эскиз. Вы заметите, что файл имеет расширение, отличное от обычных набросков Arduino. CPP означает C Plus Plus (C ++), язык программирования, используемый языком Arduino и IDE.

Примечание. В этом учебном пособии используется рабочий эскиз, поскольку он знаком тем, у кого фон Arduino IDE. Однако эскизы C ++ обычно называют программами .

Здесь вы увидите некоторое знакомство — у эскиза есть функции настройки и цикла, как у обычного эскиза Arduino. Основное отличие находится в верхней части программы. Заголовок #include <Arduino.h> должен присутствовать в каждом проекте PlatformIO, чтобы он работал.

файл main.cpp для эскизов Arduino в PlatformIO

Теперь давайте настроим аппаратный мир Hello World — мигающий светодиодный эскиз.

Мигающие светодиоды

Вы будете создавать этот эскиз Blink, мы пройдем каждую строку ниже.

Простой Blink Sketch для Arduino

Начните с определения вашего встроенного светодиодного контакта. Если вы используете плату, которая не использует вывод 13 для встроенного светодиода, измените ее соответствующим образом:

#define onboard 13 

Используйте вашу функцию настройки, чтобы настроить режим вывода.

 pinMode(onboard,OUTPUT); 

Обратите внимание, как VS Code предложит вам код, и завершите его, когда нажмите клавишу Enter !

VS Code предлагает и дополняет код

Наконец, создайте мигающую светодиодную логику в функции петли, установив вывод HIGH и LOW с задержкой .

  digitalWrite(onboard, LOW); delay(1000); digitalWrite(onboard, HIGH); delay(1000); 

Если у вас есть какие-либо ошибки, VS Code сообщит вам во время кодирования, а не будет ждать, пока вы скомпилируете или загрузите свой код. Живая проверка и завершение ошибок делают кодирование менее затратным и быстрым!

Далее вы узнаете, как загрузить свой эскиз на свою доску.

Загрузка на доску

Если вы еще этого не сделали, подключите вашу плату к USB-порту. Сохраните эскиз и щелкните значок галочки на нижней панели, чтобы скомпилировать его, или нажмите кнопку со стрелкой , чтобы скомпилировать и загрузить эскиз за один раз. После непродолжительного ожидания ваш светодиод должен мигать!

Клон Arduino Nano с мигающим светодиодом
Вы, возможно, заметили шаг, отсутствующий в обычном рабочем процессе Arduino. Обычно вам нужно указать, к какому COM- порту подключен ваш Arduino. Если вы прокрутите вывод при загрузке эскиза на доску, вы заметите, что PlatformIO автоматически обнаружит доску для вас.

Платформа ввода-вывода загрузки вывода

Серийный монитор

Наконец, добавьте еще одну строку кода для каждой функции, чтобы проверить последовательный монитор. В настройках добавьте:

 Serial.begin(9600); 

И в вашей функции цикла добавьте сообщение, которое будет напечатано на последовательном мониторе каждый раз, когда цикл завершается:

 Serial.println("loop completed"); 

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

Arduino Serial Monitor в VS Code

Новый Мир Arduino Кодирования

Использование VS Code и PlatformIO дает глоток свежего воздуха для кодирования Arduino. Это также значительно упрощает удаленную совместную работу благодаря функции Live Share в Visual Studio .

Это руководство охватывает только основы, но все, что вы можете сделать в Arduino IDE, возможно с помощью PlatformIO, так что выберите замечательный проект и получите код!

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

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

7 причин, почему изображения не загружаются на ваш сайт

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

Запустите агент SQL Server: настройте SQL Server 2012

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

15 лучших бесплатных обоев дня Святого Патрика