Тема 1. Знакомство с Arduino -...

9
Тема 1. Знакомство с Arduino Урок 1.1. Макетный стенд Arduino и редактор программ 1.1.1. Основные элементы Arduino Uno Микроконтроллер аналог микропроцессора в обычном ПК; Кнопка сброса осуществляет сброс микроконтроллера и повторый запуск программы; Порт USB обеспечивает связь с ПК и питание устройства; Светодиод №13 светодиод, соединенный с цифровым выходом №13; Питание +9В дополнительное питание от внешнего источника (батарея, блок питания); Подключение Arduino Uno к ПК Для работы с Arduino Uno потребуется любой персональный компьютер со свободным USBпортом. В случае подключения Arduino к ПК, внешнее питание устройству не требуется. Запуск Arduino Uno с внешним источником Для включения микроконтроллера, достаточно подать на него питание либо от ПК через USB кабель, либо напрямую через специальный разъем внешнего питания. При этом, напряжение внешнего питания может варьироваться от +7В до +12В.

Transcript of Тема 1. Знакомство с Arduino -...

Page 1: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

Тема 1. Знакомство с Arduino

Урок 1.1. Макетный стенд Arduino и редактор программ

1.1.1. Основные элементы Arduino Uno

Микроконтроллер ­ аналог микропроцессора в обычном ПК; Кнопка сброса ­ осуществляет сброс микроконтроллера и повторый запуск программы; Порт USB ­ обеспечивает связь с ПК и питание устройства; Светодиод 13 ­ светодиод, соединенный с цифровым выходом 13; Питание +9В ­ дополнительное питание от внешнего источника (батарея, блок питания);

Подключение Arduino Uno к ПКДля работы с Arduino Uno потребуется любой персональный компьютер со свободным USB­портом.В случае подключения Arduino к ПК, внешнее питание устройству не требуется.

Запуск Arduino Uno с внешним источникомДля включения микроконтроллера, достаточно подать на него питание либо от ПК через USB кабель,либо напрямую через специальный разъем внешнего питания. При этом, напряжение внешнегопитания может варьироваться от +7В до +12В.

Page 2: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

1.1.2. Макетный стенд и макетная плата

Макетный стенд, используемый в данном курсе, состоит из двух этажей. При этом, имеетсявозможность наращивать дополнительные этажи как сверху, так и снизу стенда.

На нижнем этаже стенда размещается сам контроллер Arduino Uno и, опционально, аккумуляторнаябатарея для автомной работы. На верхнем этаже смонтирована макетная плата, которая позволяетосуществлять сборку электрических цепей без пайки. Ниже приведена схема платы, на которойуказаны все возможные соединения её проводников.

По краям платы идут длинные проводники, которые чаще называют шиной питания. Проводники жеразмещенные в середине платы, соединяются в направлении, перепендикулярном направлениюшины питания.

Page 3: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

Примеры использования макетной платы

1.1.3. Обзор элементов учебного набора

Светодиод красный ­ 2штСветодиод зеленый ­ 2штСветодиод желтый ­ 2шт

Резистор 220 Ом ­ 6штРезистор 10 кОм ­ 2штРезистор 1кОм ­ 2шт

Кнопка 2 шт

Потенциометр регулировочный47 кОм ­ 1шт

Потенцометр подстроечный 10кОм ­ 1шт

Индикатор светодиодныйсегментный ­ 1шт

Дисплейжидкокристаллический ­ 1шт

Драйвер двигателейпостоянного тока ­ 1шт

Двигатель постоянного тока средуктором ­ 1шт

Page 4: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

Серво­двигатель ­ 1шт Датчик температуры ­ 1шт Датчик освещенности ­ 1шт

Датчик Холла ­ 1шт Колесо с магнитом ­ 1шт Ультразвуковой дальномер ­1шт

1.1.4. Редактор программ Arduino IDE

Page 5: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

1. Главное меню

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

В пункте Файл можно найти команды, отвечающие за создание новой программы, чтение старой,сохранения её изменений, а также команды для загрузки программы на микроконтроллер. ­ Создать ­ создать новую программу (скетч); ­ Открыть ­ открыть существующую программу; ­ Папка со скетчами ­ открыть программу из заданной папки; ­ Примеры ­ открыть пример программы; ­ Закрыть ­ закрыть текущее окно. ­ Сохранить ­ сохранить изменения в ранее сохранененной программе; ­ Сохранить как ­ сохранить новую программу, с указанием имени; ­ Загрузить ­ загрузить программу в Arduino; ­ Загрузить с помощью программатора ­ загрузить программу посредством программатора; ­ Настройка печати ­ настройка принтера; ­ Пачать ­ вывод на печать кода программы; ­ Настройки ­ настройки редактора; ­ Выход ­ выход из Arduino IDE.

Пункт меню Правка содержит команды, связанные с редактирование текст программы, включаякопирование, вставку, настройку отступов и поиск по ключевому слову.

В разделе Скетч размещаются команды для управления компиляцией программы. ­ Проверить/Компилировать ­ компилировать программу; ­ Показать папку скетчей ­ открыть системную папку с программами; ­ Добавить файл ­ добавить к проекту файл с данными или программой; ­ Импортировать библиотеку ­ подключить к программе библиотеку из списка установленных.

Пункт меню Сервис включает в себя вспомогательные функции для работы с самиммикроконтроллером. ­ Автоформатирование ­ автоматическая расстановка отступов, переносов строк и т.п.; ­ Архивировать скетч ­ архивация папки с программой, и сохранение архива в указанное место; ­ Исправить кодировку и перезагрузить ­ ­ Монитор порта ­ открыть окно для обмена данными с микроконтроллером; ­ Плата ­ выбор текущей платы (в данном случае Arduino Uno); ­ Последовательный порт ­ выбор порта, к которому подключено устройство; ­ Программатор ­ выбор программатора (не используется в данном курсе); ­ Записать загрузчик ­ запись программы­загрузчика в микроконтроллер (не используется вданном курсе).

Наконец, меню Справка содержит подробное описание всех функций самого редактора Arduino IDE,а также всевозможные команды и приемы работы с платформой Arduino.

Page 6: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

2. Меню иконок

Проверить/Компилировать программу

Загрузить программу в Arduino

Создать новую программу

Открыть существующую программу

Сохранить программу

Монитор последовательного порта

3. Вкладки

Каждая программа для Arduino может состоять из нескольких файлов. Для переключения междуэтими файлами служит система вкладок в редакторе. Там же, можно создать новую вкладку, иассоццировать с ней файл в папке с проектом.

4. Окно программы

Непосредственно, текст программы создается и редактируется в главном окне редактора. По сути,окно редактора представляет собой типичный текстовый редактор, с подсветкой конструкций кода.

5. Окно уведомлений

В самом низу редактора Arduino IDE имеется небольшое окно, служащее для вывода уведомленийоб ошибках, возникающих в процессе компиляции программы, или во время загрузки программы вмикроконтроллер.

1.1.5. Основы программирования Arduino

1.5.1. Синтаксис

Программирование Arduino осуществляется на языке C++. Ниже приведны основные конструкции иусловности языка, необходимые для успешного прохождения данного курса.

1. Каждое выражение заканчивается символом ; ­ точка с запятой. Например:a = b+c;

Page 7: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

2. Тело функций и составных операторов (if, else, for, while) обособляется фигурными скобками(аналогично Begin­End в языке Pascal). Например:

if ( a>0 ) b = a+1;

3. Строки обособляются обычными двойными кавычками ­ “. Пример:println(“some text”);

4. Символы обособляются одинарными кавычками:symbol = ‘a’;

5. Подключение библиотек осуществляется с помощью конструкции:#include <math.h>

6. Комметарии в программе начинаются с символов // ­ два прямых слеша. Пример:// это моя программа

1.5.2. Типы данных

Объявление переменной в языке c++ осуществляется с помощью конструкции вида:тип_переменной имя_переменной;

Пример:int x, y; // объявлены две переменные x и y, имеющие целый тип

1. Целые числаbyte ­ от 0 до 255int ­ от ­32 768 до 32 767word ­ от 0 до 65535long ­ от ­2 147 483 648 до 2 147 483 647

2. Дробные числаfloat ­ от ­3.4028235E+38 до 3.4028235E+38double ­ эквивалетно float в текущей версии Arduino

3. МассивыМассивы в c++ задаются конструкцией типа:тип_элемента имя_массива[размер];

Пример:int numbers[10]; // задает массив из десяти целых чисел

4. Строки и символыchar ­ символ;

Строки в c++ представляют собой массивы с элементами типа char. Пример:char my_str[10]; // строка из десяти символов

Page 8: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

5. Прочие типыvoid ­ пустой тип;boolean ­ false либл true (ложь или истина).

1.5.3. Операторы

1. Операторы сравнения

== ­ равенство!= ­ неравество< ­ меньше<= ­ меньше, либо равно> ­ больше>= ­ больше, либо равно

2. Условия

if (a>0) ... команды, выполняемые в случае истинности условияelse ... команды, выполняемые в противном случае

3. Циклы

for (k=0; k<3; k=k+1) ... команды, выполняемые на каждом шаге цикла

В скобках последовательно указывается: ­ начальное значение итератора ­ k=0; ­ условие продолжения цикла ­ k<3 (пока итератор меньше трех); ­ действие над итератором во время каждого шага ­ k=k+1 (увеличиваем на единицу на каждомшаге).

Page 9: Тема 1. Знакомство с Arduino - robotclass.rurobotclass.ru/wp-content/uploads/2014/02/...Arduino.pdf · На нижнем этаже стенда размещается

1.5.4. Функции

тип_функции имя_функции( аргументы ) команды, выполняемые в рамках функции return результат_функции;

тип_функции ­ тип возвращаемого значения. Например, стандартная функция sin имеет типвозвращаемого значения float.имя_функции ­ любая строка, начинающаяся с буквы, и содержащая только буквы и символыподчеркивания.аргументы ­ перечень аргументов, которые функция использует для своих действий.результат_функции ­ пременная или число, определяющее возвращаемое значение функции.

Ниже приведен пример функции, суммирующей два целых числа.

int sum( int a, int b ) int result; result = a+b; return result;

1.5.5. Минимальная программа

Минимальная программа, которая может запустить на Arduino состоит всего из двух функций:

void setup()

void loop()

Первая функция setup вызывается только один раз, восле перезапуска Arduino. Вторая ­ loop,вызывается бесконечное число раз во время работы Arduino.

Задания

Задание 1. Подключение стенда к ПК

Задание 2. Подключение светодиода

Задание 3с. Подключение светодиода через шину питания