Команды языка программирования Arduino
Язык программирования Arduino основан на языке Си. Если Вы желаете посмотреть команды данного языка, выполните в среде программирования Arduino IDE команду меню Справка / Содержание
Практическое занятие 1: запустите среду программирования Arduino IDE (ярлык Arduino на Рабочем столе компьютера). Выполните команду Справка / Содержание.
Команды сгруппированы в три столбца:
· Structure: команды для написания структуры программы – циклы, ветвления, синтаксис, арифметические и логические операторы, операторы сравнения и работы с битами
· Variables: различные переменные. Аналогичны используемым в Си, для Arduino характерны только несколько:
o HIGH – высокий уровень, логическая 1, +5 Вольт на контакте Arduino
o LOW – низкий уровень, логический 0, 0 Вольт на контакте Arduino
o INPUT – прописывание контакта Arduino как входного (прием информации с внешних устройств)
o OUTPUT – прописывание контакта Arduino как выходного (передача информации на внешние устройства, управление мощными устройствами)
· Functions: функции, используемые в работе с Arduino, будут подробно рассмотрены на следующих занятиях
Примечание 1: описания команд в приложенной в среде инструкции даются на английском языке. Перевод описаний на русский язык имеется на сайте http://arduino.ru
Примечание 2: структура и переменные подобны используемым в языке программирования Си
Синтаксис языка программирования Arduino
Аналогичен используемому в языке Си:
·; – точка с запятой. Указывает на конец строки. Пример использования:
int led = 13;
в случае отсутствия; в месте, где она должна быть, при попытке загрузить программу в Arduino программа загружена не будет и выдаст ошибку в нижней части окна
· { } – круглые скобки. Открывающая скобка – начало блока, закрывающая – конец блока
void setup() { // начало блока pinMode(led, OUTPUT); } // конец блока |
· // – комментарии. То, что написано в строке после данных символов, контроллер не воспринимает, это примечания для программистов:
delay(1000); // ждем одну секунду (1000 миллисекунд) |
Структура программы
В общем случае программа для Arduino состоит из трех частей:
1. объявление переменных, подключение библиотек – в начале программы
2. блок setup (настройка):
void setup() { // то, что находится в данном блоке, выполнится один раз – как только будет включен контроллер } |
в данном блоке выполняется настройка режимов контактов Arduino как входов, выходов, установка связи с внешними датчиками и модулями
3. блок loop (цикл):
void loop() { // то, что находится в данном блоке, будет выполняться бесконечно – после выполнения последней команды блока контролер перейдет в начало блока и снова начнет выполнять команды по списку } |
В данном блоке пишется основная часть программы – то, что должен делать контроллер
Подключение Arduino к компьютеру
Для загрузки написанной программы в Arduino, а также для питания его в процессе работы Arduino подключается к компьютеру через USB. Для этого используется кабель USB-mini USB, который должен быть достаточной длины для комфортной работы с контроллером.
Когда контроллер впервые подключается к компьютеру, необходимо выполнить установку драйверов. Если автоматическая установка драйверов не удалась, стандартные драйвера находятся в папке Arduino \ drivers
Примечание: иногда требуются нестандартные драйвера, которые требуется найти в Интернете по названию микросхемы, находящейся рядом с USB разъемом Arduino.
После подключения и установки драйверов желательно проверить правильность настройки соединения в среде Arduino IDE: выполните команды Сервис / Плата / Arduino Uno и Сервис / Последовательный порт / Нижний в выпавшем списке COM портов.
После написания программы и подключения Arduino к компьютеру необходимо записать программу в Arduino. Это выполняется нажатием на кнопку Загрузить вверху слева (стрелка вправо в круге Ü)
Практическое занятие 2:
1. Запустите среду программирования Arduino IDE (ярлык Arduino на рабочем столе компьютера)
2. Откройте пример программы для управления миганием встроенного на плату светодиода L: Файл / Примеры / Basic / Blink
3. Подключите Arduino к USB порту компьютера
4. Нажмите кнопку Загрузить Ü, убедитесь, что в нижней части окна появилась надпись Компилирование, которая через некоторое время сменится надписью Загрузка (на Arduino замигают светодиоды RX TX) и появится надпись Загрузка выполнена.
5. Убедитесь, что светодиод L на плате начал мигать с периодом в 1 секунду
2.5. Цифровой выход – команда digitalWrite
Команда digitalWrite(номер пина, уровень) позволяет подать на определенный пин Arduino (пока будем использовать цифровые пины – от 0 до 13) высокий уровень напряжения (HIGH, +5 В, логическая единица) или низкий уровень напряжения (LOW, 0 В, логический ноль). Примеры:
digitalWrite(5, HIGH); – напряжение на пине 5 станет равным +5 В
digitalWrite(12, LOW); – напряжение на пине 12 станет равным 0 В
Примечание: перед использованием на пине команды digitalWrite обязательно нужно настроить этот пин в блоке setup как выходной, используя команду pinMode(номер пина, OUTPUT);
Для изучения данной команды запустим среду Arduino IDE и откроем пример, который использовали ранее Файл / Примеры / Basic / Blink. Для облегчения понимания комментарии (слова после //, которые Arduino не воспринимает, а предназначенные только для программистов) в программе ниже переведены на русский язык и выделены курсивом, а команды, которые контроллер воспринимает – выделены жирным.
// создадим переменную led типа integer (целое число), хранящую номер данного пина – 13 int led = 13; // то, что находится в блоке setup, выполнится один раз после запуска контроллера void setup() { pinMode(led, OUTPUT); // прописываем цифровой пин с номером 13 как выходной } // выполнение блока loop повторяется снова и снова в процессе работы контроллера void loop() { digitalWrite(led, HIGH); // включаем светодиод (подаем на пин 13 высокий уровень +5 В (светодиод загорается) delay(1000); // ждем одну секунду (1000 миллисекунд) digitalWrite(led, LOW); // выключаем светодиод (подаем на пин 13 низкий уровень 0 В (светодиод потухает) delay(1000); // ждем одну секунду (1000 миллисекунд) } // после окончания блока loop контроллер начинает выполнять его с первой строчки |
Практическое занятие 3: изменим период мигания светодиода. В программе периоды заданы командой delay (задержка, ожидание), при выполнении которой контроллер ждет время в миллисекундах, заданное в скобках (1000 миллисекунд = 1 секунда).
1. удалите один ноль в обеих строках delay(1000);, чтобы они обе имели вид
delay(100);
2. загрузите полученную программу в контроллер (Ü) и убедитесь, что светодиод L на плате стал мигать намного быстрее – с периодом 100 миллисекунд = 0,1 секунда, т.е. 10 раз в секунду
3. попробуйте задать различные значения периодов задержки delay и загрузить программу с ними
Практическое занятие 4: подключим внешний светодиод к контроллеру.
1. Возьмите светодиод любого цвета из набора компонентов в коробке стенда
2. Вставьте светодиод в контроллер так, чтобы ножка + (с резистором) была воткнута в пин 12, а ножка – (без резистора) – в контакт Gnd
3. Напишите программу для двух светодиодов – на контактах 12 и 13, мигающими одновременно
4. Напишите программу для двух светодиодов – на контактах 12 и 13, мигающими по очереди
Изучение Arduino дома
Для большей эффективности обучения и реализации проектов нужно в течение недели, проходящей между занятиями, посвящать некоторое время повторению изученного или изучению новой информации. Среда программирования Arduino IDE распространяется бесплатно, ее нужно скачать в клубе или на официальном сайте arduino.cc в разделе Downloads. Дома нужно скачать и установить данную среду программирования, открывать примеры программ в разделе Файл / Примеры, изучать команды в разделе Справка / Содержание, а также выполнять в ней домашние задания
Примечание: описания команд на русском языке имеются на arduino.ru
Для изучения дома и реализации собственных проектов, Вам нужно купить Arduino и желаемые модули на сайте ebay.com, Алиэкспресс или другом подобном сервисе. Ссылки на поиски компонентов на ebay.com приведены в описаниях фотографий данных компонентов в альбомах группы клуба http://vk.com/robotics410, там же есть ссылка на инструкцию по покупкам через Интернет
Домашнее задание
1. Если еще не заказали контроллер Arduino Uno – закажите, для изучения курса, выполнения домашних заданий и работы над своим проектом обязательно наличие собственного контроллера
2. Скачайте с сайта arduino.cc и установите среду программирования Arduino IDE
3. Запустите среду Arduino IDE, добавьте ярлык для ее запуска (ссылку на файл arduino) на Рабочий стол
4. Скачайте или откройте распечатку файла с данным занятием
5. Откройте изученный пример Файл / Примеры / Basics / Blink и еще раз по этому примеру изучите раздел 2.3 Синтаксис и 2.5 Цифровой выход.
6. Откройте Справка / Содержание и прочитайте про команды setup, loop, pinMode и digitalWrite. Если имеются затруднения с чтением на английском языке, найдите данные команды на сайте http://arduino.ru
7. Если уже имеете свой контроллер Arduino – подключите его к компьютеру (раздел 2.4.) и выполните практические занятия 2 и 3