Тема 1. Знакомство с Arduino -...
Transcript of Тема 1. Знакомство с Arduino -...
Тема 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В.
1.1.2. Макетный стенд и макетная плата
Макетный стенд, используемый в данном курсе, состоит из двух этажей. При этом, имеетсявозможность наращивать дополнительные этажи как сверху, так и снизу стенда.
На нижнем этаже стенда размещается сам контроллер Arduino Uno и, опционально, аккумуляторнаябатарея для автомной работы. На верхнем этаже смонтирована макетная плата, которая позволяетосуществлять сборку электрических цепей без пайки. Ниже приведена схема платы, на которойуказаны все возможные соединения её проводников.
По краям платы идут длинные проводники, которые чаще называют шиной питания. Проводники жеразмещенные в середине платы, соединяются в направлении, перепендикулярном направлениюшины питания.
Примеры использования макетной платы
1.1.3. Обзор элементов учебного набора
Светодиод красный 2штСветодиод зеленый 2штСветодиод желтый 2шт
Резистор 220 Ом 6штРезистор 10 кОм 2штРезистор 1кОм 2шт
Кнопка 2 шт
Потенциометр регулировочный47 кОм 1шт
Потенцометр подстроечный 10кОм 1шт
Индикатор светодиодныйсегментный 1шт
Дисплейжидкокристаллический 1шт
Драйвер двигателейпостоянного тока 1шт
Двигатель постоянного тока средуктором 1шт
Серводвигатель 1шт Датчик температуры 1шт Датчик освещенности 1шт
Датчик Холла 1шт Колесо с магнитом 1шт Ультразвуковой дальномер 1шт
1.1.4. Редактор программ Arduino IDE
1. Главное меню
Меню редактора включает в себя следующие главные элементы: файл, правка, скетч, сервис исправка. Рассмотрим подробнее каждый из них.
В пункте Файл можно найти команды, отвечающие за создание новой программы, чтение старой,сохранения её изменений, а также команды для загрузки программы на микроконтроллер. Создать создать новую программу (скетч); Открыть открыть существующую программу; Папка со скетчами открыть программу из заданной папки; Примеры открыть пример программы; Закрыть закрыть текущее окно. Сохранить сохранить изменения в ранее сохранененной программе; Сохранить как сохранить новую программу, с указанием имени; Загрузить загрузить программу в Arduino; Загрузить с помощью программатора загрузить программу посредством программатора; Настройка печати настройка принтера; Пачать вывод на печать кода программы; Настройки настройки редактора; Выход выход из Arduino IDE.
Пункт меню Правка содержит команды, связанные с редактирование текст программы, включаякопирование, вставку, настройку отступов и поиск по ключевому слову.
В разделе Скетч размещаются команды для управления компиляцией программы. Проверить/Компилировать компилировать программу; Показать папку скетчей открыть системную папку с программами; Добавить файл добавить к проекту файл с данными или программой; Импортировать библиотеку подключить к программе библиотеку из списка установленных.
Пункт меню Сервис включает в себя вспомогательные функции для работы с самиммикроконтроллером. Автоформатирование автоматическая расстановка отступов, переносов строк и т.п.; Архивировать скетч архивация папки с программой, и сохранение архива в указанное место; Исправить кодировку и перезагрузить Монитор порта открыть окно для обмена данными с микроконтроллером; Плата выбор текущей платы (в данном случае Arduino Uno); Последовательный порт выбор порта, к которому подключено устройство; Программатор выбор программатора (не используется в данном курсе); Записать загрузчик запись программызагрузчика в микроконтроллер (не используется вданном курсе).
Наконец, меню Справка содержит подробное описание всех функций самого редактора Arduino IDE,а также всевозможные команды и приемы работы с платформой Arduino.
2. Меню иконок
Проверить/Компилировать программу
Загрузить программу в Arduino
Создать новую программу
Открыть существующую программу
Сохранить программу
Монитор последовательного порта
3. Вкладки
Каждая программа для Arduino может состоять из нескольких файлов. Для переключения междуэтими файлами служит система вкладок в редакторе. Там же, можно создать новую вкладку, иассоццировать с ней файл в папке с проектом.
4. Окно программы
Непосредственно, текст программы создается и редактируется в главном окне редактора. По сути,окно редактора представляет собой типичный текстовый редактор, с подсветкой конструкций кода.
5. Окно уведомлений
В самом низу редактора Arduino IDE имеется небольшое окно, служащее для вывода уведомленийоб ошибках, возникающих в процессе компиляции программы, или во время загрузки программы вмикроконтроллер.
1.1.5. Основы программирования Arduino
1.5.1. Синтаксис
Программирование Arduino осуществляется на языке C++. Ниже приведны основные конструкции иусловности языка, необходимые для успешного прохождения данного курса.
1. Каждое выражение заканчивается символом ; точка с запятой. Например:a = b+c;
2. Тело функций и составных операторов (if, else, for, while) обособляется фигурными скобками(аналогично BeginEnd в языке 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]; // строка из десяти символов
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 (увеличиваем на единицу на каждомшаге).
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с. Подключение светодиода через шину питания