Подключение Arduino к компьютеру

Команды языка программирования 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