Среда разработки Arduino состоит из встроенного текстового редактора
программного кода, области сообщений, окна вывода текста (консоли), панели
инструментов с кнопками часто используемых команд и нескольких меню. Для
загрузки программ и связи среда разработки подключается к аппаратной части
Arduino.
Среда разработки называется "Arduino IDE", а последняя версия находится на
официальном сайте: https://www.arduino.cc/
На данный момент последняя версия Arduino 1.8.13
В рамках нашего курса мы будем работать в программе Tinkercad Circuits
(см. Вводное занятие), но у кого есть возможность и желание работать с
реальной платой - ниже будет дано описание процесса установки программы
Arduino IDE на ваш компьютер.
Работа в Tinkercad Circuits
Для того, чтобы начать создавать программу в Tinkercad Circuits, необходимо
зайти на сайт https://www.tinkercad.com/
и авторизоваться.
Далее нужно в разделе Circuits, нажать кнопку "Создать цепь". После
чего мы попадем в рабочее окно, в котором и будет работать над нашим проектом.
В падающем меню "Компоненты Базовые" необходимо выбрать пункт "Arduino".
Из появившегося списка выбрать "Макетная плата", после чеого схема, состоящая
из контроллера Arduino UNO и безпаечной макетной платы (о том, что это такое
мы поговорим на другом занятии) окажется у вас в рабочей зоне проекта.
Теперь нужно нажать кнопку "Код"
Вы увидите редактор кода примерно такой же как в программе Scratch:
Для тех, кто не знаком с программой Scratch - ничего страшного.
На самом деле, вид окна для программирования можно выбрать. Для этого есть
кнопка, которая изначально называется "Блоки", при нажатии на нее - выпадет
меню, из которого можно выбрать "Блоки", "Блоки с текстом", "Текст".
Нам нужно выбрать "Текст", так же как в среде Arduino IDE, но кто знаком с
программой Scratch - могут выбрать "Блоки с текстом". Конечно, интересно будет
посмотреть как составленная из блоков программы выглядит в текстовом виде,
но этот режим не позволяет писать программу сразу текстом. Зато можно
использовать Tinkercad Circuits для написания программы блоками, и сохранять
в виде кода для загрузки в контроллер через Arduino IDE.
По умолчанию окно откроется уже с написанной программой "Blink" (Мигать),
но нам это пока не важно.
Рассмотрим другие кнопки. Начнем с кнопки "1 (Arduino UNO R3)"
На самом деле надпись "1 (Arduino UNO R3)" означает, что мы сейчас
программируем первый контроллер (цифра 1) Arduino UNO R3. В нашем
проекте может использоваться несколько контролеров и при нажатии на эту кнопку,
мы могли бы переключаться между ними.
При нажатии кнопки "Скачать код" - мы загрузим файл "имя_проекта.ino", который
будет содержать наш код, и который вы сможете использовать для программирования
уже не виртуальной, а реальной платы Arduino. Код можно загрузить в программу
Arduino IDE и из нее загрузить в плату контроллера. Небольшой совет, старайтесь
называть свои проекты английскими буквами, это может показаться не очень удобно,
но на практике очень часто избавляет от различных неприятных моментов. Например,
"Скачать" код - не умеет работать с русскими буквами.
При нажатии кнопки "Библиотеки" - появится большой список библиотек, которые мы
можем включить в наш проект. Что это такое и зачем они нужны мы будем разбирать
на следующих занятиях.
Еще одна кнопка, с нарисованным жучком (bug, в переводе с английского - жук,
а программисты багами называют ошибки в программе) - это отладчик. Мы его
будем использовать когда будем писать настоящие программы и искать в них ошибки.
И еще пара полезных моментов. Во-первых, конечно вы можете использовать
придуманное программой имя вашему проекту, но можете придумать свое, и
переименовать свой проект.
Для этого нужно кликнуть по названию проекта и в появившейся строке
редактирования написать то, что вам нужно, например "Первый проект".
Сохранять в программе Tinkercad Circuits специально ничего не нужно, вы просто
выходите, проект сохраняется автоматически, а при следующем входе увидите ваш
проект в списке ваших проектов:
На полосе инструментов в верхней части слева находятся основные команды:
Повернуть элемент
Удалить
Масштабировать по размерам экрана
Отмена
Повтор
Кнопки в правой части панели:
Отобразить панель программирования, и отладки
Запустить симулятор схемы
Экспорт в Eagle .brd
Поделиться
В целом интерфейс достаточно прост, не перегружен лишними элементами и
интуитивно понятен. Практически любые операции можно выполнить "на ощупь".
Установка Arduino IDE
Для установки Arduino IDE на ваш компьютер, необходимо перейти на официальный
сайт и зайти в раздел SOFTWARE -> DOWNLOAD
Далее нужно скачать подходящий для вашего компьютера и вашей операционной
системы дистрибутив.
На появившейся странице:
нажать "JUST DOWNLOAD"
Установка Arduino IDE
Установка среды довольно проста, вам необходимо запустить скачанный файл,
и в появившемся окне:
ознакомиться и согласиться с предложенной лицензий использования программы,
нажав кнопку "I agree" (Я согласен)
Здесь ничего не выбираем, просто нажимаем кнопку "Next>" (Следующее>)
В этом окне можно указать путь, куда устанавливать программу, или оставить
по умолчанию. После чего нажать кнопку "Install" (Установить). После чего
начнется процесс установки.
В процессе установки может появиться сообщение от службы безопасности Windows
нажимаем кнопку "Установить". После завершения установки,
кнопка "Close" (Закрыть) станет активной - её нужно будет нажать.
И если все прошло хорошо, на вашем рабочем столе появится иконка:
Кликните по ней!
Какое-то время (зависит от скорости вашего компьютера) вы будете видеть заставку
После чего откроется окно программы, и можно начинать работу в среде Arduino IDE!
На этом процесс установки завершен.
Необходимо заметить, что программа, написанная в среде Arduino IDE, называется
скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки,
поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений
появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода
текста (консоль) показывает сообщения Arduino, включающие полные отчеты об
ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и
записать программу, создать, открыть и сохранить скетч, открыть мониторинг
последовательной шины.
Обратите внимание, в отличии от Tinkercad Circuits, Arduino IDE открывается
не с примером программы, а с заготовкой для программы. Любая программа для
Arduino IDE состоит из минимум двух блоков: Блока "setup" (установить, настроить)
и блока "loop" (петля). Посмотрите внимательно на код, и в одном и в другом
блоке есть слово void.
void - ключевое слово, используется при объявлении функций, если функция
не возвращает никакого значение при ее вызове (в некоторых языках программирования
такие функции называют процедурами).
А следующие после него setup() и loop() - являются функциями.
setup() - функция, которая вызывается, когда стартует скетч. Используется для инициализации переменных, определения режимов работы выводов, запуска используемых библиотек и т.д. Функция setup запускает только один раз, после каждой подачи питания или сброса платы Arduino.
loop - функции, которая инициализирует и устанавливает первоначальные
значения, функция loop() делает точь-в-точь то, что означает её название,
и крутится в цикле, позволяя вашей программе совершать вычисления и реагировать
на них. Используйте её для активного управления платой Arduino.
Синтаксис
В языке программирования, как и в любом другом языке, есть специальные знаки,
синтаксически оформляющие текст:
; (точка с запятой) - используется для обозначения конца оператора.
Забытая в конце строки точка с запятой приводит к ошибке компиляции.
{} (фигурные скобки) - в языке С в них заключается почти все. Смотрите,
в нашей заготовке в таких скобочках размещается все, что относится к функциям.
Они используются в нескольких конструкциях, но об этом позже.
Открывающая скобка "{" должна всегда сопровождаться закрывающей скобкой "}".
Это условие, известное как парность (симметричность) фигурных скобок.
Комментарии (//, /* */) - это строки в программе, которые используются для информирования вас самих или других о том, как работает программа. Они игнорируются компилятором и не экспортируются в процессор, таким образом, они не занимают место в памяти микроконтроллера Atmega.
Они бывают двух типов, первый тип обозначается "//" все что идет за этим до
конца строки является комментарием, как в заготовке программы. Но есть и другой
тип, которым можно "закоментарить" целый кусок кода, начинается такой комментарий
символами "/*" и все что за этим компилятор будет считать комментарием хоть
до конца программы или пока не наткнется на зеркальный, закрывающий комментарий
символ "*/"
Вот в общем-то и весь синтаксис языка С.
Scratch для Arduino
Также существует программа
S4A (Scratch для Arduino), для тех кто знаком с
программой Scratch, это позволит более мягко перейти на платформу Arduino и
начать писать программы сразу. Официальный сайт программы
http://s4a.cat/. К сожалению программа поддерживает не все контроллеры
Arduino, поэтому в рамках данного курса эта программа рассматриваться не будет,
но вы можете поработать с ней самостоятельно.