Cómo crear una biblioteca Arduino personalizada usando C++

¿Qué es la biblioteca de Arduino?

Las bibliotecas son una colección de códigos o rutinas precompilados y reutilizables que utilizan los desarrolladores para reducir el tiempo de desarrollo. Las bibliotecas de Arduino están escritas en C o C++ . Estas bibliotecas nos brindan una manera conveniente de compartir código. Arduino IDE ya consta de un conjunto de bibliotecas estándar, se pueden usar estas bibliotecas para funcionalidades de uso común. Además de las bibliotecas estándar, también se puede crear nuestra propia biblioteca. 
Este artículo se centra en discutir cómo crear una biblioteca Arduino personalizada.

¿Por qué crear una biblioteca Arduino?

Aunque hay bibliotecas estándar presentes en Arduino, los desarrolladores deben crear su propia biblioteca en función de los requisitos de su proyecto. Los siguientes son algunos de los beneficios de crear y usar nuestra biblioteca.

  1. Las bibliotecas personalizadas proporcionan funcionalidades adicionales.
  2. Combina las funcionalidades similares juntas.
  3. Tamaño de código reducido.
  4. Fácil de compartir (útil en proyectos de grupo).
  5. Reducción de la complejidad del código.

Pasos para escribir el código y crear la biblioteca Arduino usando C++

Este artículo trata sobre la creación de la biblioteca relacionada con el motor de CC. El nombre de la biblioteca es “DC_Motor” . Siga los pasos a continuación para crear la biblioteca DC_Motor-

  • Paso 1: Cree una carpeta y asigne el nombre a esa carpeta como   DC_Motor.
  • Paso 2: dentro de la carpeta DC_Motor, cree dos archivos. Uno es “ mi_biblioteca.h” y otro es “mi_biblioteca.cpp”.
    • my_library.h- Es el archivo de cabecera. El archivo de encabezado debe constar únicamente de las declaraciones asociadas con la biblioteca.

      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- Es el archivo C++. El archivo C++ contiene todas las definiciones de las funciones que se declaran dentro de 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); }

Nuestra biblioteca DC_Motor se creó con éxito. 

Empaquete su biblioteca Arduino:

Siga los pasos a continuación para colocar la biblioteca Arduino personalizada dentro de la carpeta de la biblioteca Arduino.

  • Paso 1: El siguiente paso es hacer una copia de la carpeta de la biblioteca DC_Motor en la carpeta de la biblioteca de Arduino. Abra la ruta del IDE de Arduino donde está instalado el software de Arduino. En este caso, es “C:\Program Files (x86)\Arduino\libraries”.
  • Paso 2: En esta carpeta de bibliotecas se encuentran todas las bibliotecas estándar presentes en Arduino. Copie la carpeta DC_Motor y péguela aquí en la carpeta de bibliotecas. 

Arduino libraries folder

Nota:
Las bibliotecas estándar tienen una carpeta más llamada ejemplos. Esta carpeta consta de ejemplos de código Arduino que utilizan esa biblioteca en particular. Al crear nuestra propia biblioteca, es bueno agregar ejemplos de muestra que demuestren el uso de la biblioteca, pero no es obligatorio. En este tutorial, no he agregado una carpeta de ejemplo para que sea sencillo para los principiantes.

Comparte tu biblioteca de Arduino

Hay dos pasos para compartir la biblioteca de Arduino:

  1. Exporte la biblioteca: para exportar y compartir su biblioteca, cree un archivo de la carpeta DC_Motor/, ubicada en Arduino/libraries/. Este archivo de almacenamiento se puede compartir fácilmente con otras personas en línea. Uno puede encontrar fácilmente sitios web para alojar los archivos de su biblioteca.
  2. Importación de la biblioteca Arduino: estos pasos funcionarán cuando se cree un archivo .zip (no .rar u otras extensiones) al exportar la biblioteca.
    • Paso 1: Abra el IDE de Arduino.
    • Paso 2: haga clic en Sketch->Include Library->Add .ZIP Library… y busque su archivo .zip.

Import arduino library

El IDE de Arduino extraerá el archivo y colocará la biblioteca importada en la carpeta Arduino/libraries/ y se actualizará. No hay necesidad de reiniciarlo.

Cómo incluir la biblioteca Arduino creada en el código

Hay dos formas de incluir la biblioteca Arduino en el código:

  1. Uso de la biblioteca de inclusión 
  2. Usando el #incluir «» 

Método 1: Uso de la opción Incluir biblioteca
Sigamos los pasos a continuación para incluir la biblioteca Arduino

  • Paso 1: Abra el IDE de Arduino. 
  • Paso 2: crea un nuevo boceto. 
  • Paso 3: Haga clic en el menú Sketch dentro de la barra de menú. 
  • Paso 4: seleccione la opción Incluir biblioteca del menú desplegable. 
  • Paso 5: Se pueden ver todas las bibliotecas presentes en Arduino IDE. Las bibliotecas instaladas por el usuario están presentes en el encabezado de bibliotecas Contribuidas y luego elija la biblioteca DC_Motor

Include the Arduino library

 

Ahora nuestra biblioteca está incluida con éxito en el proyecto actual. 

Método 2: usar #include «»
También hay otra forma de incluir bibliotecas en el proyecto. Siga los pasos a continuación para incluir la biblioteca-

  • Paso 1: cree un boceto de Arduino dentro de la carpeta de la biblioteca DC_Motor. 
  • Paso 2: En lugar de #include <my_library.h> escribe #include “my_library.h” (incluyendo “”). Aquí, estamos especificando la ruta del archivo de encabezado. Hay una restricción de que el archivo del proyecto Arduino debe estar dentro del directorio DC_Motor. 

#include ""

Cómo usar la biblioteca Arduino creada

En esta sección se explica cómo utilizar la biblioteca creada. Siga los pasos a continuación-

  • Paso 1: Abra un IDE de Arduino. 
  • Paso 2: crea un nuevo boceto. 
  • Paso 3: Importe la biblioteca requerida como se menciona en la sección anterior. 
  • Paso 4: Escribe un código Arduino. La extensión de los bocetos de Arduino es «.ino». 

C

// This is not a C file, This is
// an arduino file
// Make sure your file name is
// "file_name.ino"
  
// Include the header file
// my_library.h
#include <my_library.h>
  
void setup()
{
    // Put your setup code
    // here, to run once:
}
  
DCMotor m(9, 10, 200);
  
void loop()
{
    // Put your main code here,
    // to run repeatedly:
    m.antiClockwise();
    m.motorDelay();
    m.clockwise();
    m.motorDelay();
}
  • Paso 5: verifique el boceto de Arduino haciendo clic en el icono de marca correcta en la barra de menú en un IDE. Si su código también es correcto, se mostrará el mensaje Compilación finalizada; de lo contrario, se mostrará un mensaje de error. 

Done compiling

De esta manera, uno puede crear su propia biblioteca y usarla según nuestros requisitos en los proyectos. No solo les ahorrará tiempo, sino que también reducirá el costo de las pruebas. Uno puede compartir bibliotecas propias con amigos, profesores y otros desarrolladores.

Publicación traducida automáticamente

Artículo escrito por durveshnp y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *