Что такое Arduino?
Arduino — это аппаратная и программная платформа для простой разработки электроники и обучения программированию. Аппаратная часть включает в себя большое количество разновидностей плат Arduino и дополнительные модули, а программная часть состоит из среды разработки Arduino IDE — программы для написания скетчей и прошивки микроконтроллеров Arduino. Также, для упрощения разработки, имеется возможность подключения готовых библиотек.
Начало работы с Arduino
Прежде всего, вам потребуется приобрести плату Arduino. На сегодняшний день существует множество видов плат под любые задачи. Например:
Arduino Uno
Наибольшее распространение получила плата Arduino Uno. Она имеет 14 дискретных (цифровых) каналов ввода/вывода, а также 6 аналоговых. К слову, данная плата является одной из самых дешевых.
Arduino Mega 2560
Arduino Mega 2560 немного больше Arduino Uno. Она имеет значительно большее количество каналов ввода/вывода: 54 цифровых и 16 аналоговых. На плате разведены 4 аппаратных UART порта, что делает ее идеальной платформой для коммуникации с несколькими устройствами одновременно.
Arduino Nano
Arduino Nano — это, размещённый на миниатюрной плате, функциональный аналог Arduino Uno. Arduino Nano используется там, где важна компактность. Ее размеры (без USB разъема) всего 42 мм в длину и 19 мм в ширину.
Среда разработки Arduino IDE:
Для того, чтобы программировать и прошивать платы Arduino нам потребуется официальная среда разработки — Arduino IDE. Переходим по ссылке и скачиваем установщик под свою операционную систему, а затем запускаем его. Далее, после стандартного процесса установки, среда разработки готова к работе.
Программирование Arduino:
Плата Arduino исполняет программы на языке, основанном на C++, поэтому, имея опыт работы с ним, программирование платы не составит для вас большого труда. Давайте разберем программу для мигания светодиодом — Blink.
Первым делом, открываем установленную среду разработки Arduino IDE, нажимаем «Файл», затем «Примеры», «01. Basics» и «Blink». На экране откроется программа мигания светодиодом.
Для начала, подключите плату к компьютеру. Затем, в меню «Инструменты» > «Порт» выберите порт к которому подключена ваша плата (рядом с его номером указано название платы). Например, в моем случае, это плата Arduino Uno на 17 порту.
После выбора порта загрузите программу (нажав на зеленую стрелочку) и посмотрите на плату. Если программа успешно загрузилась, то, вы увидите, что светодиод на плате Arduino мигает с частотой в 1 секунду.
А теперь давайте разберемся и поймем, как работает программа управляющая светодиодом.
Для начала, обратим внимание на то, что часть кода написана серым цветом — это комментарии, они не исполняются платой и нужны для пояснения.
Существуют два способа добавить комментарий. Первый способ позволяет закомментировать одну строку, используя символы «//»:
// комментарий
Второй способ позволяет закомментировать сразу несколько строк. Для этого используются символы «/*» и «*/»:
/*
Комментарий
на
несколько
строк.
*/
В программе отчетливо выделяются два блока — void setup() и void loop():
void setup() {
//Команды выполняются только один раз.
}
void loop() {
//Команды выполняются бесконечно, до отключения питания платы.
}
Setup переводится как «настройка», а Loop как «цикл». Команды блока void setup() выполняются только один раз, сразу после запуска контроллера, а команды блока «loop» — бесконечно, до отключения его питания.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
Мы видим, что внутри void setup() находится только одна команда — pinMode. Давайте переведем эту команду на русский язык. Pin означает «порт», а mode — «режим». Этой командой мы объясняем Arduino, как работать с устройством. Так как мы можем либо посылать сигналы устройству, либо считывать их, то и режимов работы существует всего два: OUTPUT — отправка сигналов и INPUT — прием сигналов.
pinMode(<Пин>, <Режим>);
В данном примере Arduino работает со светодиодом, на него сигналы посылаются, поэтому написано OUTPUT. А LED_BUILTIN в команде pinMode(LED_BUILTIN, OUTPUT) означает, что мы управляем светодиодом, расположенным на плате (вместо этого можно просто указать номер пина — 13).
Перейдем к блоку void loop():
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
В этом блоке описаны действия со светодиодом.
Команда digitalWrite состоит из двух слов: digital — «цифровой» и write — «писать». Значит мы можем перевести эту команду как «цифровая запись».
digitalWrite(LED_BUILTIN, HIGH);
Рассмотрим параметры этой команды. Нам снова встретилась константа LED_BUILTIN, которая, обозначает порт к которому подключен светодиод на плате Arduino. Второй параметр представлен двумя значениями: HIGH и LOW. Переводятся они как «высокий» и «низкий» и включают и выключают светодиод.
digitalWrite(<Пин>, <Сигнал>);
Задержка задается командой delay, которая переводится как «ждать». Команда delay приостанавливает программу на время в миллисекундах, указанное в скобках (1000 миллисекунд = 1 секунде).
delay(1000);
Таким образом, наши команды образуют следующий алгоритм:
- Включить светодиод на плате;
- Подождать 1 секунду;
- Выключить светодиод на плате;
- Подождать 1 секунду;
А так как эти команды расположены в блоке void loop(), то они будут повторяться, пока на микроконтроллер подается питание.
На этом все, ну а если у вас возникли вопросы — смело пишите их в комментариях)