Научная работа на тему «Arduino UNO. Мигание LED»
Тема занятия: Arduino UNO. Мигание LED.
Продолжительность занятия: 2 часа.
Знакомство с Arduino
1. 1 Макетный стенд Arduino и редактор программ
Основные элементы 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. Обзор элементов учебного набора
1.1.4. Редактор программ Arduino IDE
Главное меню
Меню редактора включает в себя следующие главные элементы: файл, правка, скетч, сервис и справка. Рассмотрим подробнее каждый из них.
В пункте Файл можно найти команды, отвечающие за создание новой программы, чтение старой, сохранения её изменений, а также команды для загрузки программы на микроконтроллер.
Создать - создать новую программу (скетч);
Открыть - открыть существующую программу;
Папка со скетчами - открыть программу из заданной папки;
Примеры - открыть пример программы;
Закрыть - закрыть текущее окно.
Сохранить - сохранить изменения в ранее сохранённой программе;
Сохранить как - сохранить новую программу, с указанием имени;
Загрузить - загрузить программу в Arduino;
Загрузить с помощью программатора - загрузить программу посредством программатора;
Настройка печати - настройка принтера;
Печать - вывод на печать кода программы;
Настройки - настройки редактора;
Выход - выход из Arduino IDE.
Пункт меню Правка содержит команды, связанные с редактирование текст программы, включая копирование, вставку, настройку отступов и поиск по ключевому слову.
В разделе Скетч размещаются команды для управления компиляцией программы.
Проверить/Компилировать - компилировать программу;
Показать папку скетчей - открыть системную папку с программами;
Добавить файл - добавить к проекту файл с данными или программой;
Импортировать библиотеку - подключить к программе библиотеку из списка установленных.
Пункт меню Сервис включает в себя вспомогательные функции для работы с самим микроконтроллером.
Авто форматирование - автоматическая расстановка отступов, переносов строк и т.п.;
Архивировать скетч - архивация папки с программой, и сохранение архива в указанное место;
Исправить кодировку и перезагрузить -
Монитор порта - открыть окно для обмена данными с микроконтроллером;
Плата - выбор текущей платы (в данном случае Arduino Uno);
Последовательный порт - выбор порта, к которому подключено устройство;
Программатор - выбор программатора (не используется в данном курсе);
Записать загрузчик - запись программы-загрузчика в микроконтроллер (не используется в данном курсе).
Наконец, меню Справка содержит подробное описание всех функций самого редактора Arduino IDE, а также всевозможные команды и приемы работы с платформой Arduino.
Меню иконок
Вкладки
Каждая программа для Arduino может состоять из нескольких файлов. Для переключения между этими файлами служит система вкладок в редакторе. Там же, можно создать новую вкладку, и ассоциировать с ней файл в папке с проектом.
Окно программы
Непосредственно, текст программы создается и редактируется в главном окне редактора. По сути, окно редактора представляет собой типичный текстовый редактор, с подсветкой конструкций кода.
Окно уведомлений
В самом низу редактора Arduino IDE имеется небольшое окно, служащее для вывода уведомлений об ошибках, возникающих в процессе компиляции программы, или во время загрузки программы в микроконтроллер.
1.1.5. Основы программирования Arduino
Синтаксис
Программирование Arduino осуществляется на языке C++. Ниже приведены основные конструкции и условности языка, необходимые для успешного прохождения данного курса.
Каждое выражение заканчивается символом ; - точка с запятой. Например: a = b+c;
if (a>0)
{
b = a+1;
}
2. Тело функций и составных операторов (if, else, for, while) обособляется фигурными скобками (аналогично Begin-End в языке Pascal). Например:
Строки обособляются обычными двойными кавычками - “ Пример: println(“some text”);
Символы обособляются одинарными кавычками: symbol = ‘a’;
Подключение библиотек осуществляется с помощью конструкции:
#include
Комметарии в программе начинаются с символов // - два прямых слеша. Пример: // это моя программа
Типы данных
Объявление переменной в языке c++ осуществляется с помощью конструкции вида: тип_переменной имя_переменной;
Пример:
int x, y; // объявлены две переменные x и у, имеющие целый тип
Целые числа byte - от 0 до 255
int - от -32 768 до 32 767
word - от 0 до 65535
long - от -2 147 483 648 до 2 147 483 647
Дробные числа
float - от -3.4028235E+38 до 3.4028235E+38 double - эквивалентно float в текущей версии Arduino
Массивы
Массивы в c++ задаются конструкцией типа: тип_элемента имя_массива[размер];
Пример:
int numbers[10]; // задает массив из десяти целых чисел
Строки и символы char - символ;
Строки в c++ представляют собой массивы с элементами типа char. Пример: char my_str[10]; // строка из десяти символов
Прочие типы void - пустой тип;
boolean - false либл true (ложь или истина).
Операторы
Операторы сравнения
== - равенство != - неравенство < - меньше
<= - меньше, либо равно > - больше
>= - больше, либо равно
Условия
if (a>0) {
…
команды, выполняемые в случае истинности условия
}
else {
…
команды, выполняемые в противном случае
}
3. Циклы
В скобках последовательно указывается:
начальное значение итератора - k=0;
условие продолжения цикла - k<3 (пока итератор меньше трех);
действие над итератором во время каждого шага - k=k+1 (увеличиваем на единицу на каждом шаге).
Функции
тип_функции имя_функции( аргументы) {
команды, выполняемые в рамках функции
return результат_функции;
}
тип_функции - тип возвращаемого значения. Например, стандартная функция sin имеет тип возвращаемого значения float.
имя_функции - любая строка, начинающаяся с буквы, и содержащая только буквы и символы подчеркивания.
аргументы - перечень аргументов, которые функция использует для своих действий. результат_функции - переменная или число, определяющее возвращаемое значение функции.
Ниже приведен пример функции, суммирующей два целых числа.
int sum( int a, int b) {
int result;
result = a+b;
return result;
}
Минимальная программа
Минимальная программа, которая может запустить на Arduino состоит всего из двух функций:
void setup() { }
void loop() {
}
Первая функция setup вызывается только один раз, восле перезапуска Arduino. Вторая - loop, вызывается бесконечное число раз во время работы Arduino.
Задания
Задание 1. Подключение стенда к ПК
Задание 2. Подключение светодиода
Задание 3с. Подключение светодиода через шину питания