Arduino. Как создавать классы.

Классы позволяют упростить и структурировать код Arduino.

Классы в программировании Arduino – это способ организовать данные и функции,
связанные с определенным типом объектов.

Например, можно создать класс Car, который содержит переменные для хранения скорости,
цвета и номера автомобиля, а также функции для управления движением,
торможением и сигналом. Класс определяет общие свойства и поведение
всех объектов этого типа.

Для создания класса в Arduino нужно выполнить два шага:
объявить класс в заголовочном файле (.h)
и определить его методы (функции) в файле реализации (.cpp).

Заголовочный файл содержит имя класса, список его переменных (атрибутов)
и функций (методов), а также модификаторы доступа (public, private или protected),
которые указывают, какие члены класса доступны извне.

Файл реализации содержит тело каждой функции класса с конкретными инструкциями.

Для использования класса в Arduino нужно создать объект этого класса
с помощью оператора new или объявления переменной.

Объект – это экземпляр класса с конкретными значениями атрибутов.
Для обращения к атрибутам и методам объекта используется оператор точка (.).

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


Классы в Ардуино — это набор функций и переменных,
которые могут использоваться для выполнения определенных задач программирования.
Например, вы можете создать класс Led, который будет управлять
светодиодом на плате Ардуино.

Пример использования класса Led с пояснениями:



// Подключаем файл с описанием класса
#include "led.h"

// Создаем объект класса Led с именем led1 и указываем номер пина 13
Led led1(13);

void setup() {
  // Ничего не нужно делать
}

void loop() {
  // Вызываем методы объекта led1 для включения и выключения светодиода
  led1.on();
  delay(1000);
  led1.off();
  delay(1000);
}


В этом примере мы подключаем файл led.h, в котором содержится описание класса Led.

Затем мы создаем объект этого класса с именем led1 и передаем ему номер пина,
к которому подключен светодиод.

В функциях setup() и loop() мы не используем функции pinMode() и digitalWrite(),
а вызываем методы объекта led1: on() для включения светодиода и off() для выключения.

Файл led.h может выглядеть так:



// Определяем класс Led
class Led {
  // Объявляем приватные переменные
  private:
    int pin; // Номер пина
    int state; // Состояние светодиода (HIGH или LOW)

  // Объявляем публичные методы
  public:
    // Конструктор класса - вызывается при создании объекта
    Led(int p) {
      pin = p; // Присваиваем значение переменной pin
      state = LOW; // Устанавливаем начальное состояние светодиода в LOW
      pinMode(pin, OUTPUT); // Устанавливаем режим работы пина на OUTPUT
    }

    // Метод для включения светодиода - устанавливает состояние HIGH на пине
    void on() {
      state = HIGH;
      digitalWrite(pin, state);
    }

    // Метод для выключения светодиода - устанавливает состояние LOW на пине
    void off() {
      state = LOW;
      digitalWrite(pin, state);
    }
};

В этом файле мы определяем класс Led с двумя приватными переменными:
pin для хранения номера пина и state для хранения состояния светодиода.

Затем мы объявляем три публичных метода: конструктор Led(int p),
который вызывается при создании объекта и принимает номер пина
в качестве параметра; метод on(), который включает светодиод;
и метод off(), который выключает светодиод.