<<на главную
Дополнительная информация для книги

Система команд ARDUINO IDE

Главные функции

setup() void  setup ()
{
  Строки программы;
}

Функция используется для инициализации переменных, определения режимов работы линий ввода/ вывод а и т. п . Функция запускается однократно , либо после нажатия кнопки "Сброс", либо сразу после подач и питания , а а так же сразу после загрузки в модуль новой версии программы .

loop()

void   loop ()
{
  Строки программы;
}

Функция loop () многократно выполняется в цикле . В теле этого цикла и выполняются все основные операции программы. Функции setup() и loop() должны присутствовать в каждом скетче, даже если эти функции не используются.

Управляющие операторы

if

if (Условие) {
  Оператор;
}

Оператор if позволяет выполнять ряд операторов в зависимости от Условия. Условие - это математическое выражение, возвращающее значение Ложь ( False ) или Истина ( True ). Для этого используется один из операторов сравнения ( <, >, ==, !=) .

if . .. else

if   (Условие)     Оператор;
else   Оператор;

Оператор else дополняет оператор if и позволяет выполнить альтернативный набор операторов в случае не выполнения Условия в соответствующем ему операторе if .

switch case

switch   (Переменная)
{
  case   Значение1:       Оператор;
  case   Значение2 :       Оператор;
  case   Значение 3:       Оператор;
  default  Оператор;
}

Программный переключатель. Оператор позвол яет задавать действия, которые будут выполняться при разных условиях. Если значение переменной в скобках у слова swich равен значению у одного из слов case , то оператор(ы) напротив этого слова выполняется(ются). В противном случае соответствующий оператор игнорируется. Команда break , поставленная в любом месте переключателя досрочно прекращает перебор case и приводит к выходу из swich . Оператор(ы) после управляющего слова default выполняется (ются) , если не выбрана ни одна из опций case .

for

for ( i=0; i<=Значение; i++)
{
  Оператор;
  Оператор;
}

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

while

while (Условие)
{
  Оператор;
  Оператор;
}

Оператор while (Пока) используется, как цикл, который будет выполняться, пока Условие в круглых скобках - истин а . Операторы в теле цикла должны обязательно в какой то момент так изменять условие, что бы оно приняло значение Ложь. Иначе программа войдет в бесконечный цикл и зависнет.

do while

do
{
  Оператор;
  Оператор;
}
while (Условие);

Оператор цикла do while работает так же, как и цикл while , только проверка условия происходит не в начале а в конце цикла . Такой цикл всегда выполняется хотя бы один раз.

break
continue

 

Оператор Break используется для принудительного выхода из циклов switch, do, for и while.
Оператор continue пропускает оставшиеся операторы в текуще й итерации цикла и передает управление в его начало .

Операторы цифрового ввода/вывода

pinMode()

pinMode (pin, mode)

Установка режима работы цифрового входа/выхода. pin - номер контакта. Параметр может принимать значения 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 (а так же 14, 15, 16, 17, 18, 19)
mode - режим работы.
Параметр mode может принимать значения:
OUTPUT - режим вывода информации (устанавливается по умолчанию)
INPUT - режим ввода информации
INPUT_PULLAP - режим ввода с включением внутреннего подтягивающего резистора.

digitalRead()

digitalRead (pin)

Функция чтения из цифрового входа. pin - номер контакта (принимает те же значение, что и в двух предыдущих операторах). Функция возвращает значение сигнала на выбранном входе. Возвращаемые значения HIGH или LOW (или, что тоже самое 1 или 0).

digitalWrite()

digitalWrite (pin, value)

Оператор вывода информации на цифровой контакт Ардуино. Параметр pin - номер контакта. pin может принимать те же значения, что и предыдущем операторе; value - выводимое значение. Value может принимать значение HIGH или LOW (или, что тоже самое 1 или 0).

Операторы аналогового ввода/вывода

analogRead()

analogRead ( An )

Функция аналогового чтения с аналогового входа An . Параметр может принимать значения - A 0, A 1, A 2, A 3, A 4, A 5, A 6.

analogWrite()

analogWrite ( pin , value )

Процедура аналогового вывода. pin - номер контакта. value - выводимое значение. Вывод производится на цифровые выходы модуля в формате широтно-импульсной модуляции ( PWM ). Номер контакта ( pin ) может принимать значение (для Arduino UNO ) - 3, 5, 6, 9, 10, 11. Значение параметра value может принимать значения от 0 до 255.

Операторы времени

millis ()

 

Функция возвращает количество миллисекунд, прошедшее с запуска программы.

micros ()

 

Функция возвращает количество микросекунд, прошедшее с запуска программы.

delay (tz)

 

Функция программной задержки. Параметр tz определяет время задержки в миллисекундах.

delayMicroseconds (tz)

Функция программной задержки. Параметр tz определяет время задержки в микросекундах.

Расширенный ввод/вывод

tone ()

tone (pin, fq)
tone (pin, fq, tz)

Процедура генерации звукового сигнала на цифровом выходе.
pin - вывод, на котором будет генерироваться сигнал
fq - частота сигнала в Герцах (unsigned int)
tz - длительность сигнала в миллисекундах (unsigned long). Если не указан, звук генерируется пока не поступит команда noTone ().

noTone ()

noTone( pin )

Прекращение генерации звука на указанном контакте.

shiftOut ()

shiftOut (dataPin, clockPin, bitOrder, value)

Функция последовательного вывода байта данных. Программно реализует SPI канал используя любые два цифровых контакта.
dataPin - контакт, через который побитно выводятся передаваемые данные
clockPin - контакт, который используется для вывода сигнала синхронизации
clockPin - порядок передачи битов. Принимает значения: MSBFIRST (старший бит вперед), LSBFIRST (младший бит вперед).
v alue - передаваемый байт данных.
Возвращаемого значения нет.

shiftIn ()

shiftIn (dataPin, clockPin, bitOrder)

Функция последовательного ввода байта данных. Работает в паре с функцией shiftOut () . Параметры dataPin, clockPin и bitOrder аналогичны соответствующим параметрам shiftOut . Функция возвращает считанный байт.

pulseIn ()

pulseIn( pin, value)
pulseIn( pin, value, timeout)

Функция измерения длительности входного импульса. pin - контакт, на котором происходит измерение. value - полярность измеряемого импульса: Если value = HIGH - измеряется длительность положительного импульса. Если value = LOW , измеряется длительность отрицательного импульса.

t imeout - время ожидания начала импульса (по умолчанию 1 сек). Функция возвращает длительность импульса. Функция работает с импульсами длительностью от 10 микросекунд до 3 минут.

Работа с последовательным портом

Serial.begin ()

Serial.begin (rate)

Инициализация последовательного порта. rate - скорость передачи информации (может принимать значения: 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, или 115200).

Serial.print ()

Serial.print (data)

Передача строки данных в последовательный порт (печать текста в последовательный порт).

Serial.println()

Serial.println (data)

Передача строки данных в последовательный порт, завершаемый символом перевода строки.

Serial.available ()

Serial.available ()

Функция проверки количества считанных по последовательному порту байт в буфере. Байты помещаются в буфер автоматически по поступлению.

Serial.read ()

Serial.read ()

Считывание очередного байта из буфера последовательного порта. Если данные отсутствуют функция возвращает -1 (минус один).

Serial.write ()

Serial.write (val)
Serial.write (str)
Serial.write (buf, len)

Запись данных в последовательный порт. val - число от 0 до 255 (байт), str - текстовая строка в виде набора байтов, buf - массив данных в виде набора байтов, len - длина массива данных.

Serial.flush ()

Serial.flush ()

Ожидание окончания процесса передачи данных.