Что такое Ардуино скетч?

Опубликовано 03.03.2013 16:47:00


Скетч - это программа, написанная для платформы Arduino и имеющая определенную структуру.

Для начала рассмотрим в простой, абстрактной манере как работает ваша плата с программной точки зрения. Arduino, по сути, является распиновкой (разводкой ножек микроконтроллера на удобные для использования входы/выходы - пины) микроконтроллера Atmega. Как вы заметили, разные платы содержат различные контроллеры и, соответственно, имеют разную конфигурацию пинов. Изготовитель устанавливает на плату arduino hex-прошивку (bootloader), которая стартует при включении и передает управление скетчу, написанному и залитому пользователем.

 

 

Cтруктура скетчей:

Скетч обязательно содержит 2 функции: функцию setup и функцию loop.

Прошивка Arduino при включении вызывает функцию setup. Функция setup вызывается лишь раз, при каждом запуске платы. Это место идеально подходит для инициализации (задания начальных значений) переменных, установки режимов пинов (ввод/вывод), задания соответствия подключенных датчиков/сервоприводов/прочего с пинами. После выполнения функции setup идет циклический вызов функции loop (т.е. сразу после выхода из функции setup, выполняется функция loop, после выхода из неё, она же вызывается снова. Процесс продолжается пока питание не будет отключено.)

Для закрепления рассмотрим простейший скетч на мигание светодиодом (эдакий классический Hello World для Arduino). Слово void перед названием функции, говорит нам о том, что функция не возвращает никаких значений (возвращает "void" - "пустоту"). Структуру, понятие и назначение функций мы рассмотрим в последующих статьях.

 

void setup()
{
  // Установим 13-пин, как вывод
  pinMode(13, OUTPUT);
}

void loop()

{
  digitalWrite(13, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(13, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
}

 

Как уже должно быть ясно, при включении платы, будет вызвана функция setup, в которой 13 пин будет установлен как вывод. Далее циклически будет вызываться функция loop.

Структурная схема работы любой программы Arduino

 

Рассмотрим процесс заливки скетча на arduino. Весь процесс рассмотрим для среды Arduino IDE. В других средах шаги аналогичны, и мы не считаем, что требуют отдельного рассмотрения. Для начала открываем среду и копируем наш скетч.

Внешний вид Arduino IDE

 

Нажимаем кнопку "Залить"

Процесс заливки скетча в среде ардуино

 

Как мы видим, происходит компиляция нашей программы. Компиляция - это процесс преобразования программного кода с языка верхнего уровня, в бинарный код, который будет выполнять микроконтроллер. Если скетч написан без синтаксических ошибок, он успешно будет скомпилирован и залит на arduino.

Нам часто задают вопрос, нужно ли как-то очищать, стирать старые скетчи перед заливкой новых. Нет, не нужно. При заливке нового скетча от старого не остается и следа ;)

Результат загрузки скетча Arduino

 

Если все сделано правильно, что как оказалось очень даже просто, ваша arduino начнет мигать вам светодиодом. С чем вас и поздравляем! :)


А как же комментарии?