Программный интерфейс и создание собственных библиотек
Любое автоматизированное устройство, алгоритм работы которого необходимо настраивать человеку-оператору, должно иметь в своём составе интерфейс для взаимодействия с ним. В учебных проектах он будет ограничен небольшим количеством кнопок, светодиодов индикации определённых состояний процесса настройки и LCD-монитора, на который будет выводиться значащая информация о текущем состоянии устройства и его компонентов.
Довольно часто отдельные фрагменты кода необходимо многократно использовать в различных проектах. Для того, чтобы не переписывать его каждый раз, его помещают в отдельные файлы – библиотеки. Некоторые из них уже использовались в проектах ранее: библиотека монитора, сервопривода, связи микроконтроллеров.
В качестве примера приводится процесс создания библиотеки, содержащей всего одну функцию – вычисления площади круга.
Сначала в папке программы Arduino IDE\libraries\ создаётся папка библиотеки, название которой может состоять только из латинских букв и цифр, при этом не может начинаться с цифры. Назовём её “circleRound”. Внутри папки при помощи текстового редактора создаются два файла:
- circleRound.h;
- circleRound.cpp.
Файл circleRound.h будет содержать следующий код:
#include <inttypes.h> // Необходимо для использования числовых типов
#define PI 3.14 // Определяем Пи с точностью в 2 знака после запятой
float circleRound(float radius); //Единственная библиотечная функция
Файл circleRound.cpp будет содержать следующий код:
#include <inttypes.h> // Необходимо для использования числовых типов
#include <Arduino.h> // Подключение функции pow()
#include <circleRound.h> // в заголовочном файле
// находится PI и объявление функции
// Собственно библиотечная функция
float circleRound (float radius)
{
return PI*pow(radius, 2);
}
Чтобы библиотека заработала и подключилась к программе, Arduino IDE необходимо перезапустить.
В других файлах библиотеку можно применить следующим образом:
#include <circleRound.h> // Подключение библиотеки
float a = circleRound(5.21); // присвоить созданной переменной a
//значение площади круга с радиусом 5.21
Задание: соберите автоматическое устройство и напишите программу к нему, реализующую управление некоторым объектом по информации с двух-четырёх датчиков. Исполнительными устройствами могут быть сервоприводы, микроприводы или реле. Снабдите устройство интерфейсом управления, состоящим из монитора и нескольких кнопок или работающего от сигналов, поступающих через последовательное соединение. Уточните вариант своего задания у преподавателя.
Дата добавления: 2018-09-24; просмотров: 170;