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 во время этого процесса, так как это может привести к ошибкам при установке.
После завершения установки в правом нижнем углу появится приглашение для перезагрузки кода VS. Нажмите на нее, и программа перезапустится, показывая домашнюю страницу расширения PlatformIO.
Настройка проекта
На домашней странице PlatformIO есть несколько вариантов, включая открытие существующих проектов Arduino и ссылки на идеи проектов. Сегодня вы начнете с нуля, поэтому нажмите « Новый проект» .
Вам будет предложено ввести имя для вашего проекта и доски, которую вы будете использовать. В этом уроке используется Arduino Nano; PlatformIO поддерживает более 650 плат, поэтому вы, скорее всего, найдете свою в списке.
Вкладка Framework должна автоматически заполняться как Arduino, если вы используете Arduino-совместимую плату. Оставьте флажок « Местоположение» заполненным, чтобы использовать местоположение установки по умолчанию. Вам нужно снять этот флажок, только если вы работаете с ранее сделанным проектом Arduino.
Нажмите Готово и будьте готовы к короткому ожиданию. PlatformIO загрузит и установит все зависимости, необходимые для проекта, и перезапустит IDE после его завершения.
Рабочий процесс PlatformIO
Как только VS Code перезапустится, вы увидите новую папку проекта, открытую на панели Explorer . На этом этапе не обязательно знать, что делает каждый файл в этом каталоге, вы будете использовать каталог SRC только для своих эскизов Arduino.
Вы также заметите несколько новых значков на нижней панели кода VS. Это эквивалент кнопок в IDE Arduino — галочка для компиляции, стрелка для загрузки и заглушка для последовательного монитора.
Теперь, когда все настроено, давайте приступим к кодированию!
Пустая программа
PlatformIO создает пустой эскиз с каждым новым проектом.
Откройте его на вкладке Explorer, перейдя в SRC / main.cpp, который откроет эскиз. Вы заметите, что файл имеет расширение, отличное от обычных набросков Arduino. CPP означает C Plus Plus (C ++), язык программирования, используемый языком Arduino и IDE.
Примечание. В этом учебном пособии используется рабочий эскиз, поскольку он знаком тем, у кого фон Arduino IDE. Однако эскизы C ++ обычно называют программами .
Здесь вы увидите некоторое знакомство — у эскиза есть функции настройки и цикла, как у обычного эскиза Arduino. Основное отличие находится в верхней части программы. Заголовок #include <Arduino.h> должен присутствовать в каждом проекте PlatformIO, чтобы он работал.
Теперь давайте настроим аппаратный мир Hello World — мигающий светодиодный эскиз.
Мигающие светодиоды
Вы будете создавать этот эскиз Blink, мы пройдем каждую строку ниже.
Начните с определения вашего встроенного светодиодного контакта. Если вы используете плату, которая не использует вывод 13 для встроенного светодиода, измените ее соответствующим образом:
#define onboard 13
Используйте вашу функцию настройки, чтобы настроить режим вывода.
pinMode(onboard,OUTPUT);
Обратите внимание, как VS Code предложит вам код, и завершите его, когда нажмите клавишу Enter !
Наконец, создайте мигающую светодиодную логику в функции петли, установив вывод HIGH и LOW с задержкой .
digitalWrite(onboard, LOW); delay(1000); digitalWrite(onboard, HIGH); delay(1000);
Если у вас есть какие-либо ошибки, VS Code сообщит вам во время кодирования, а не будет ждать, пока вы скомпилируете или загрузите свой код. Живая проверка и завершение ошибок делают кодирование менее затратным и быстрым!
Далее вы узнаете, как загрузить свой эскиз на свою доску.
Загрузка на доску
Если вы еще этого не сделали, подключите вашу плату к USB-порту. Сохраните эскиз и щелкните значок галочки на нижней панели, чтобы скомпилировать его, или нажмите кнопку со стрелкой , чтобы скомпилировать и загрузить эскиз за один раз. После непродолжительного ожидания ваш светодиод должен мигать!
Вы, возможно, заметили шаг, отсутствующий в обычном рабочем процессе Arduino. Обычно вам нужно указать, к какому COM- порту подключен ваш Arduino. Если вы прокрутите вывод при загрузке эскиза на доску, вы заметите, что PlatformIO автоматически обнаружит доску для вас.
Серийный монитор
Наконец, добавьте еще одну строку кода для каждой функции, чтобы проверить последовательный монитор. В настройках добавьте:
Serial.begin(9600);
И в вашей функции цикла добавьте сообщение, которое будет напечатано на последовательном мониторе каждый раз, когда цикл завершается:
Serial.println("loop completed");
Загрузите эскиз и нажмите на значок штекера на нижней панели, чтобы открыть монитор последовательного порта и увидеть ваше сообщение.
Новый Мир Arduino Кодирования
Использование VS Code и PlatformIO дает глоток свежего воздуха для кодирования Arduino. Это также значительно упрощает удаленную совместную работу благодаря функции Live Share в Visual Studio .
Это руководство охватывает только основы, но все, что вы можете сделать в Arduino IDE, возможно с помощью PlatformIO, так что выберите замечательный проект и получите код!