Первая программа на Arduino

Платформа Arduino исполняет программы на языке, основанном на C/C++, поэтому, имея опыт работы с указанными языками, программирование платы не составит для вас большого труда.

Если же вы не сталкивались с языками C и C++ или никогда не программировали вообще, то не пугайтесь — в большинстве программ вы будете использовать весьма ограниченный набор команд, с которыми вы быстро разберетесь.

Первой программой на Arduino традиционно рассматривают Blink. Чтобы найти ее нажмите «Файл», затем выберите «образцы», «01. Basics» и «Blink».

blink

Загрузите программу и посмотрите на плату. Если код успешно загрузился, то вы увидите, что светодиод на Arduino мигает с частотой 1с.

led

Давайте разберем программу и поймем, каким образом она управляет светодиодом.

blink2

Для начала обратите внимание на то, что часть текста написана серым цветом.

Это комментарии. Эта часть кода не исполняется программой и нужна для пояснения.

Есть два способа оставить комментарий. Первый — закомментировать одну строку, используя символы “//”. Таким образом, все что будет находиться в данной строке после этих символов будет считаться комментариями. Второй способ — закомментировать часть кода. Для этого используются символы “/*” и “*/”. Этим способом вы сможете оставить комментарии объемом в несколько строк. Комментарий начинается соответственно символами “/*” и заканчивается “*/”. В программе представлены оба способа.

В программе отчетливо выделяются два блока — setup и loop. Что же они означают? Setup переводится как “настройка”. Loop — “петля”, “цикл”. Команды блока “setup” выполняются один раз сразу после запуска программы. Команды блока “loop” выполняются бесконечно друг за другом.

То есть, после запуска программы сначала выполняются команды в блоке “setup” и далее происходит переход к блоку “loop”, который повторяется бесконечно (по крайней мере пока подается питание).

blink3

Фигурные скобки нужны для того, чтобы ограничить команды, относящиеся именно к блоку setup. Мы видим, что внутри фигурных скобок находится только одна команда — pinMode. Как и прежде, попробуем перевести эту команду на русский язык. Pin — “пин”, “порт”, mode — “режим”. Arduino должна знать, как ей работать с тем или иным устройством, посылать на него сигналы или считывать, и указывается это командой pinMode. Так как сигналы мы можем либо посылать, либо считывать, то и режимов работы существует два — OUTPUT и INPUT соответственно.

В данном примере идет работа со светодиодом, на него сигналы посылаются (зажечь либо погасить), поэтому стоит OUTPUT. Осталось разобраться, что такое led в команде pinMode(led, OUTPUT). Для этого посмотрим на самую первую команду в программе:

int led = 13;

Данная запись содержит в себе создание переменной и присвоение ей значения. Более подробно о переменных можно прочитать здесь, пока запомним, что этой командой мы создали целочисленную переменную с именем led и присвоили ей значение 13. Теперь мы можем расшифровать команду pinMode(led, OUTPUT) — установка 13 порта в режим отправки сигналов (установка 13 порта как выхода).

Далее перейдем к блоку loop.

blink4

В этом блоке прописаны сами действия со светодиодами.

Внутри фигурных скобок находятся уже четыре команды, но посмотрев на них повнимательнее, становится понятно, что это по сути две повторяющиеся команды.

digitalWrite состоит из двух слов: digital – «цифровой» и write – «писать». То есть, перевести мы можем эту команду как «цифровая запись». Цифровой говорит о том, что мы можем выбирать из двух состояний — включено и выключено.

Рассмотрим параметры (то, что находится в скобках) этой команды. Вновь нам встретилась переменная led, которая, как мы помним, равна 13 и обозначает порт, к которому подключен светодиод. Второй параметр в наших командах представлен двумя значениями: HIGH и LOW. Переводятся они соответственно как «высокий» и «низкий» и, как вы догадываетесь, включают и выключают светодиод.

А как задать время горения или негорения светодиода? В этом нам поможет команда delay, которая переводится как «отложить, задержать». То есть, delay приостанавливает программу на определенное время. В качестве параметра указывается время задержки в миллисекундах. 1000 миллисекунд = 1 секунда. Таким образом, условно наши команды можно обозначит следующим образом:

Включить 13 светодиод;

Подождать 1 секунду;

Выключить 13 светодиод;

Подождать 1 секунду;

А так как эти команды расположены в блоке loop, то эти команды будут повторяться, пока на Ардуино подается питание.

Теперь вы имеете представление о структуре программы на Ардуино, знаете некоторые команды.Более подробно программирование светодиодов мы разберем в следующем уроке.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *