Аналоговый ввод/вывод на контакты
analogRead()
analogWrite()
Serial
Ввод/вывод на последовательный COM-порт
Последовательный порт (COM-порт) поддерживает передачу данных между компьютером и внешними устройствами по интерфейсу стандарта RS-232. RS-232 (Recommended Standard 232) – стандарт, описывающий интерфейс для последовательной двунаправленной передачи данных между терминалом и конечным устройством.
Это легендарный стандарт, который появился в США в 60-х годах 20 века, и стал основой для всех последующих интерфейсов последовательного обмена данными.
Интерфейс RS-232 полностью аппаратно реализован на персональных компьютерах в виде микросхем и разъемов. На персональных компьютерах его называют COM-портом (Communication port).
Аппаратная реализация означает то, что он работает всегда, не зависимо от того, какая операционная система установлена на компьютере (он работает и без ОС).
Этот интерфейс и в настоящее время широко распространён для связи с элементами промышленных информационных систем: приборами, датчиками, станками и другим оборудованием. Его стандартный 9‑контактный разъём DE-9p очень похож на разъём VGA и присутствует на большинстве компьютеров, выпущенных до 2010-х гг.
Все платы Arduino имеют хотя бы один последовательный порт (UART, иногда называют USART). Для обмена данными Serial используют цифровые порты ввода/вывода 0 (RX) и 1 (TX). Проблема связи с компьютером через COM-порт по стандарту RS-232 состоит в разности рабочего напряжения его (±12 В) и Arduino (0..5 В). Поэтому на большинстве полнофункциональных плат Arduino есть микросхема конвертора интерфейсов, которая позволяет передавать данные COM-порта через порт USB. Нужно сказать, что в настоящее время промышленное оборудование чаще всего подключается к компьютерам не через разъём DE-9p, а тоже через USB-конверторы интерфейсов.
Среда разработки Arduino имеет встроенный монитор последовательного интерфейса (Serial monitor). Для начала обмена данными необходимо запустить монитор нажатием кнопки Serial monitor и выставить ту же скорость связи (baud rate), с которой вызвана функция begin().
Структура программ
Стандартный машинный код хранится в памяти как последовательность команд. Чтобы обеспечить представление алгоритмов, используются операторы условного и безусловного перехода (if и goto). Они позволяют выборочно выполнять определённые участки кода, в том числе многократно. Свободное использование данных операторов привело к созданию очень сложных структур алгоритмов, которые отличались компактностью и эффективностью, но с точки зрения сложности понимания их принципов работы получили прозвище «клубок спагетти».
Структурное программирование
Необходимость введения норм структурного программирования была обусловлена возросшей сложностью программ, использовавших операторы безусловного и условного перехода.
В результате в языках высокого уровня было полностью запрещено использование оператора безусловного перехода goto. Вместо этого были введены специальные стандартные блоки: оператор ветвления и циклы.
Принципы структурного программирования позволяют представить программу в виде вложенных друг в друга стандартных блоков. Также их можно расположить в виде дерева.
Вместе с операторами прерывания тела цикла, стандартные блоки позволяю записать любой алгоритм.
Условный оператор if
if (а > b)z= a; elsez= b;
Циклы
Цикл «Пока»
while (<условие>)< тело цикла>
Тело цикла выполняется пока условие истинно.
Пример:
while (a[k] <i) k++;
Цикл «До»
do< телоцикла>while (<условие>);
Тело цикла будет выполняться до тех пор, пока условие не примет ложное значение. Основным отличие цикла «До»является то, что тело в цикле «До»выполняется, по крайней мере, один раз.
Пример:
do
{
i++;
}
while (i<30);
Цикл со счётчиком
for (<инициализация>;<условие>;<шаг счётчика>)< телоцикла>
Тело цикла составляет либо один оператор, либо несколько операторов, заключенных в фигурные скобки { ... }.
Пример:
for (i = 1; i < 10; i++)
{ ...
}