Как создать пользовательскую библиотеку Arduino с помощью C++

Опубликовано: 25 Сентября, 2022

Что такое библиотека Ардуино?

Библиотеки представляют собой набор предварительно скомпилированных повторно используемых кодов или подпрограмм, которые используются разработчиками для сокращения времени разработки. Библиотеки Arduino написаны на C или C++. Эти библиотеки предоставляют нам удобный способ обмена кодом. Arduino IDE уже состоит из набора стандартных библиотек, эти библиотеки можно использовать для часто используемых функций. Помимо стандартных библиотек, можно также создать собственную библиотеку.
В этой статье основное внимание уделяется обсуждению того, как создать пользовательскую библиотеку Arduino.

Зачем создавать библиотеку Arduino?

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

  1. Пользовательские библиотеки предоставляют дополнительные функции.
  2. Объединяет схожие функции вместе.
  3. Уменьшенный размер кода.
  4. Легко поделиться (полезно в групповых проектах).
  5. Снижение сложности кода.

Шаги по написанию кода и созданию библиотеки Arduino с использованием C++

В этой статье обсуждается создание библиотеки, связанной с двигателем постоянного тока. Имя библиотеки «DC_Motor» . Выполните следующие шаги для создания библиотеки DC_Motor:

  • Step 1: Create a folder and give the name to that folder as  DC_Motor.
  • Step 2: Inside the DC_Motor folder, create two files. One is “my_library.h” and another one is “my_library.cpp”.
    • my_library.h- It is the header file. The header file should consist of only the declarations associated with the library.

      C++




      // Header file
      // Make Sure your file name
      // should be my_library.h
      #ifndef MY_LIBRARY_H
      #define MY_LIBRARY_H
      #include <Arduino.h>
        
      class DCMotor {
      private:
          byte pin1;
          byte pin2;
          int speed;
        
      public:
          DCMotor(byte, byte, int);
          void clockwise();
          void antiClockwise();
          void stop();
          void motorDelay();
      };
        
      #endif

    • my_library.cpp- It is the C++ file. C++ file contains all the definitions of the functions which are declared within my_library.h

      C++




      // C++ program to include the
      // custom header file
        
      // Include statement to include
      // custom header file
      #include "my_library.h"
        
      DCMotor::DCMotor(byte pin1, byte pin2, int speed)
      {
          this->pin1 = pin1;
          this->pin2 = pin2;
          this->speed = speed;
      }
        
      // Function to rotate DC motor
      // anti-clockwise
      void DCMotor::clockwise()
      {
          analogWrite(pin1, speed);
          analogWrite(pin2, 0);
      }
        
      // Function to rotate DC motor
      // clockwise
      void DCMotor::antiClockwise()
      {
          analogWrite(pin1, 0);
          analogWrite(pin2, speed);
      }
        
      // Function to stop DC motor
      void DCMotor::stop()
      {
          analogWrite(pin1, 0);
          analogWrite(pin2, 0);
      }
        
      void DCMotor::motorDelay() { delay(1000); }

Наша библиотека DC_Motor успешно создана.

Упакуйте свою библиотеку Arduino:

Выполните следующие шаги, чтобы поместить пользовательскую библиотеку Arduino в папку библиотеки Arduino.

  • Шаг 1: Следующим шагом будет создание копии папки библиотеки DC_Motor в папке библиотеки Arduino. Откройте путь Arduino IDE, где установлено программное обеспечение Arduino. В данном случае это «C:Program Files (x86)Arduinolibraries».
  • Шаг 2: В этой папке библиотек находятся все стандартные библиотеки, присутствующие в Arduino. Скопируйте папку DC_Motor и вставьте ее сюда, в папку с библиотеками.

Примечание:
В стандартных библиотеках есть еще одна папка с именем examples. Эта папка состоит из примеров кода Arduino, использующих эту конкретную библиотеку. При создании собственной библиотеки желательно добавить образцы примеров, демонстрирующие использование библиотеки, но это не обязательно. В этом уроке я не добавлял папку с примерами, чтобы упростить ее для начинающих.

Поделитесь своей библиотекой Arduino

Есть два шага, чтобы поделиться библиотекой Arduino:

  1. Экспорт библиотеки: Чтобы экспортировать и поделиться своей библиотекой, создайте архив папки DC_Motor/, расположенной в папке Arduino/libraries/. Этим архивным файлом можно легко поделиться с другими людьми в Интернете. Можно легко найти веб-сайты для размещения архивов вашей библиотеки.
  2. Импорт библиотеки Arduino: эти шаги будут работать, если при экспорте библиотеки будет создан архив .zip (не .rar или другие расширения).
    • Шаг 1: Откройте IDE Arduino.
    • Шаг 2: Нажмите Sketch->Include Library->Add .ZIP Library… и найдите свой .zip-архив.

Arduino IDE извлечет архив и поместит импортированную библиотеку в папку Arduino/libraries/ и обновится. Нет необходимости перезапускать его.

Как включить созданную библиотеку Arduino в код

Есть два способа включить библиотеку Arduino в код:

  1. Использование библиотеки включения
  2. Использование #include «»

Способ 1: использование параметра «Включить библиотеку»
Давайте выполним следующие шаги, чтобы включить библиотеку Arduino.

  • Шаг 1: Откройте среду разработки Arduino.
  • Шаг 2: Создайте новый эскиз.
  • Шаг 3: Нажмите на меню « Эскиз » в строке меню.
  • Шаг 4. В раскрывающемся списке выберите параметр « Включить библиотеку ».
  • Шаг 5: Можно увидеть все библиотеки, присутствующие в Arduino IDE. Библиотеки, установленные пользователем, представлены в разделе «Предоставленные библиотеки», а затем выберите «Библиотека DC_Motor» .

Теперь наша библиотека успешно включена в текущий проект.

Способ 2: Использование #include «»
Есть и другой способ включения библиотек в проект. Выполните следующие шаги, чтобы включить библиотеку:

  • Шаг 1: Создайте скетч Arduino внутри самой папки библиотеки DC_Motor.
  • Шаг 2: Вместо #include <my_library.h> напишите #include «my_library.h» (включая «»). Здесь мы указываем путь к заголовочному файлу. Есть одно ограничение: файл проекта Arduino должен находиться внутри каталога DC_Motor.

Как использовать созданную библиотеку Arduino

В этом разделе обсуждается, как использовать созданную библиотеку. Выполните следующие действия:

  • Шаг 1: Откройте IDE Arduino.
  • Шаг 2: Создайте новый эскиз.
  • Шаг 3: Импортируйте необходимую библиотеку, как указано в предыдущем разделе.
  • Шаг 4: Напишите код Arduino. Расширение скетчей Arduino — «.ino».
  • Шаг 5: Проверьте эскиз Arduino, щелкнув значок правильной галочки в строке меню в среде IDE. Если ваш код верен, то будет отображаться сообщение Done Compiling , иначе будет отображаться сообщение об ошибке.

Таким образом, можно создать собственную библиотеку и использовать ее в соответствии с нашими требованиями в проектах. Это не только сэкономит им время, но и снизит стоимость тестирования. Можно делиться своими библиотеками с друзьями, учителями и другими разработчиками.

IoT