logo
+7 (495) 997-37-74
Москва, ул.Международная, 15




27.05.2019

Программный код

Программный код

Перед тем как приступать к написанию кода, мы должны получить знания об основах программирования. Давайте познакомимся с основными конструкциями языка программирования, используемого в Arduino.

Комментарии

Комментариями называется часть текста в коде, которая помогает разъяснять назначение отдельных частей скетча. Этот текст никак не влияет на выполнение основного кода программы.

Есть два способа выделения комментариев в скетче:

1. Символ «//». Так выделяются комментарии, которые помещаются в одной строчке:

// Это комментарий в одну строку

Код программы перед «//» никак не изменится.

delay(1000); // задержка на одну секунду

2. Символы «/*» и «*/». Они применяются, когда необходимо написать длинный комментарий. Всё, что написано между этими символами, будет восприниматься как комментарий.

/* это комментарий */ 

или

/*  
  Это комментарий 1  
  Это комментарий 2 
*/ 

Типы данных/Data

В процессе программирования используются числовые, символьные и другие типы данных. Язык программирования С («Си») позволяет работать с несколькими типами данных, например:

  • int. Целочисленные данные, такие как 0, 12, -1
  • float. Вещественные числа, такие как 0.1, -1.2
  • char. Символьные данные, такие как 'a', '@', '0'

Для того, чтобы познакомиться со всем набором типов данных, используемых в Arduino, вы можете посетить страничку в интернете: arduino.ru/Reference

Константы/Constants

Константы — это числа, используемые напрямую в коде, без определения переменной для их хранения.

Переменные/Varibles

Переменные — это значения, которые могут изменяться во время выполнения программы. Для удобства каждому такому значению задаётся определённое имя. Каждая переменная принадлежит какому-то одному типу данных.

Переменные нужно объявлять перед использованием в программе, например:

int i;

«int» указывает на тип переменной «i», а символ «;» обозначает конец оператора. После объявления переменной вы можете её использовать в программе, например:

i = 0; // в этой строке переменной «i» присваивается значение «0»

Переменной, находящейся слева от оператора присваивания («=») присваивается значение переменной или выражения, находящегося справа. Переменная должна быть способна хранить присваиваемое значение, то есть соответствовать его типу и диапазону допустимых значений.

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

int i, j;
i = 0; // переменной i присваивается 0 
i = 1; // теперь i принимает значение 1
j = i; // значение переменной i присваивается переменной j, то есть j теперь равно 1

Функция/Function

Функцией называется набор операторов, которые выполняются в определенном порядке и решают определенную задачу. Давайте для наглядного примера напишем функцию мигания светодиодом:

void blink() { 
  digitalWrite(13, HIGH); 
  delay(1000); 
  digitalWrite(13, LOW); 
  delay(1000); 
}
  • void — указывает на то, что функция не возвращает никакого значения.
  • () — в круглые скобки заключаются параметры функции. Если внутри скобок ничего нет, то это означает, что в функцию не передаётся никаких параметров.
  • {} — между двумя фигурными скобками записывается основной код функции. После объявления функции она может быть вызвана из любой части программы своим названием, как показано ниже:
blink();

Код в скетче исполняется последовательно и, в случае вызова функции, выполнение основной программы приостанавливается и начинает выполняться вызываемая функция. Основная часть программы продолжит выполняться после выполнения всех операторов функции, как это показано ниже:

...
delay(500); 
blink(); 
delay(500); 
blink();
... 

Некоторые функции могут иметь один или несколько параметров (передаваемых ей значений). В таких случаях параметры указывабтся внутри круглых скобок «( )»:

digitalWrite(13, HIGH); // включить светодиод L 
delay(1000); // подождать 1 с 

Здесь digitalWrite и delay — это тоже функции, только заранее определённые в самой среде программирования Arduino.