Skip to content

Como criar bibliotecas para Arduino e ESP32

Primeiramente, tenho que te dizer que esse artigo está dividido em 3 partes que se completam, onde eu ensino você como criar suas primeiras bibliotecas para Arduino e ESP32 do absoluto zero.

Nessa série, eu ensino o passo a passo para você dar inicio e criar suas próprias bibliotecas do zero, além de garantir todas as aparências visuais e também por último, como salvar e enviar as suas próprias bibliotecas para o GitHub, dessa maneira, você nunca mais terá um problema de perder suas bibliotecas.

Se você ainda não conhece o Arduino ou a ESP32, eu tenho um artigo aqui dentro do blog, explicando tudo sobre essas duas placas, você pode conferir através dos links abaixo:

Você pode aprender a construir outros projetos como esse, através do nosso curso completo de programação arduino Arduhack. Adquirindo por aqui você recebe + de 15 projetos bônus para treinar suas habilidades.

Você pode aproveitar essa aula também, para criar bibliotecas para outros microcontroladores como esp8266, stm32 e assim por diante. O procedimento é o mesmo

Mas afinal, você sabe o que são bibliotecas?

Primeiramente, bibliotecas são coleções de códigos que facilitam o desenvolvimento. Em outras palavras, são muito conhecidas por tornar simples a integração de sensores, displays, módulos e outros periféricos.

Por exemplo: a biblioteca LiquidCrystal auxilia na integração dos Displays LCDs no Arduino.

Existem milhares de bibliotecas disponíveis na internet para downloads, mas eventualmente você pode precisar criar a sua própria, e é aqui que eu entro.

Se você quiser saber mais sobre Arduino, bibliotecas, automação e eletrônica, eu tenho um treinamento completo, que você precisa conhecer, principalmente por que eu ensino o passo a passo dessas ferramentas, e como você pode utiliza-las para tirar seus projetos da gaveta. Você pode conhecer meu treinamento completo clicando aqui.

Nessa aula você vai entender o passo a passo para transformar o seus códigos em bibliotecas, e facilitar muito o desenvolvimento dos seus projetos.

Então vamos pra aula.

Como criar bibliotecas para ARDUINO e ESP32

Se você seguiu todos os passos que te ensinei, a estrutura final do arquivo PiscaLed.h, deve ficar da seguinte maneira:

Header da biblioteca PiscaLed.h:

#ifndef _PISCALED_H
#define _PISCALED_H

#include <Arduino.h>

class PiscaLed {

    private:

    public:
        PiscaLed(int pino, long time);
        void acende_led();
        void fade();
};
#endif

Lembre-se que depois do ifndef o nome da biblioteca deve estar em letra maiúscula.

Arquivo de funções PiscaLed.cpp:

Por fim, seu arquivo PiscaLed.cpp, deve ficar igual o exemplo abaixo, lembre-se de incluir as funções que você quer transformar em biblioteca, sempre colocando a atribuição da classe antes, por exemplo:

void PiscaLed:: nome_da_funcao()

#include <PiscaLed.h>

//globais 
int _pino;
long _time;

PiscaLed::PiscaLed(int pino, long time){
    //pino e time só podem ser acessados de dentro dessa função
    pinMode(pino, OUTPUT);
    _pino = pino;
    _time = time;
}
void PiscaLed::acende_led(){
  digitalWrite(_pino, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(_time);                       // wait for a second
  digitalWrite(_pino, LOW);    // turn the LED off by making the voltage LOW
  delay(_time);                       // wait for a second
}

Propriedades da biblioteca, arquivo properties:

Você também precisa criar o arquivo properties com suas informações, use esse template como exemplo:

name=PiscaLed
version=1.0.0
author=Mateus Dias
maintainer=Mateus Dias
sentence=Pisca o Led no formato Blink
paragraph= a
category=Signal
url=
architectures=avr

Muito bem! Agora que temos todo o esqueleto da biblioteca criada, podemos acrescentar algumas coisas para melhorar a semântica da nossa biblioteca.

Agora você vai aprender a incluir os exemplos dentro da biblioteca e também as keywords, para dar uma aparência para nossa biblioteca.

Como criar os exemplos dentro da biblioteca e as KEYWORDS:

Após o esqueleto da biblioteca criado, vamos conversar sobre como dar uma aparência visual pra sua biblioteca, e também, como criar exemplos embutidos, para que quando alguém baixe a sua biblioteca, tenha os códigos de exemplos, pré programados.

Muito bem, então os 3 tipos principais de KEYWORDS utilizadas são:

KEYWORD1 – Geralmente usada para as classes que você definiu dentro da sua biblioteca

KEYWORD2 – São usadas por funções públicas da classe (métodos)

LITERAL1 – É usado por qualquer #define que seja relevante dentro da biblioteca

Essas configurações devem estar dentro de um arquivo chamado keywords.txt, na pasta raiz da sua biblioteca.

Criando o arquivo keywords.txt:

O seu arquivo keywords.txt deve ficar igual o abaixo:

PiscaLed	KEYWORD1

acende_led	KEYWORD2

Lembrando, que sempre que você fizer alguma alteração ou inclusão de KEYWORDS, você irá precisar reinstalar a biblioteca dentro da sua plataforma de desenvolvimento.

Enviando as bibliotecas para o GitHub:

Chegamos na ultima aula da série sobre bibliotecas, e essa aula é muito especial, pois além de aprender a salvar suas bibliotecas na nuvem, você vai aprender a nunca mais perder um código ou projeto na sua vida.

Portanto nesse aula, você vai aprender a fazer o upload das suas bibliotecas, códigos e projetos para a nuvem, usando uma plataforma chamada GitHub.

Afinal, se você já instalou alguma biblioteca externa alguma vez, provavelmente já se deparou com essa plataforma antes.

Acredito que hoje o GitHub é a maior plataforma de gerenciamento de códigos disponível na internet.

Isso por que, como o Arduino é uma plataforma de código aberto, ou seja, open source, provavelmente para tudo que você imagina existe algo pronto e disponível para você utilizar e modificar.

O GitHub também permite com que você faça o upload dos seus códigos, faça gerenciamento de versões, e controle todas as modificações feitas em seus arquivos.

Instalando o Git no seu computador:

Para Windows, você pode estar fazendo o download através desse link

Igualmente para o Linux, você também irá precisar utilizar o Git, mas geralmente ele já vem instalado dentro do command line to terminal.

Logo após fazer o download e instalação do Git, irá surgir 2 programas no seu computador, o Git Gui e o Git Bash

Você consegue utilizar ambos para esse tutorial, diferença está em que o git GUI possui uma interface gráfica, enquanto o Git Bash é por linhas de comando.

Eu sobretudo gosto bastante de utilizar o git Bash por command line, isso por que os comandos são os mesmos tanto para o Windows, quanto para o Linux, os principais comandos que utilizamos na aula foram:

git init - //Cria um repositório 
git add origin  // Faz o link entre o repositório local, e o repositório na número 
git add . // Indica que você quer enviar todos os arquivos da pasta, pra nuvem.
git commit -m “First commit” // Faz um comentário sobre o que está sendo enviado naquele momento.
git push origin master //Envio dos arquivos pra nuvem
git pull  // Atualiza os arquivos locais
git checkout branch
git checkout -b nova_branch

E por fim, agora você já sabe como salvar todos os seus projetos e códigos na nuvem, e nunca mais perder uma versão ou edição dos seus algoritmos.

Portanto veja como: Criar um detector de fumaça com o Arduino, ou ainda como automatizar o jogo Dino do Chrome, usando o Arduino.

https://arduino.github.io/arduino-cli/library-specification/

https://www.arduinolibraries.info/architecture-variants.html

plugins premium WordPress

Semana da Automação Com Arduino

Se Cadastre e Receba Acesso a 3 aulas gratuitas na Semana da Automação com Arduino