Tabela de conteúdos

Bibliotecas

O que são e como funcionam ?

Bibliotecas são códigos que possuem um conjunto de instruções predefinidas. Elas servem para facilitar e simplificar a realização de algumas tarefas, principalmente, o controle de dispositivos externos ao Arduino. São compostas por 3 arquivos, sendo eles, os seguintes:

Para utilizar uma biblioteca padrão em seu sketch basta inclui-la (#include <nomeBiblioteca.h>) no inicio do código. Ou basta ir em Sketch→Incluir Biblioteca→nomeBiblioteca. Se a biblioteca não for uma padrão, primeiro você precisa adicioná-la na IDE. Para isso basta ir em Sketch→Incluir Biblioteca→Adicionar biblioteca .ZIP e selecionar o arquivo ZIP .

Bibliotecas Padrões

Para facilitar a vida do desenvolvedor, a IDE Arduino já vem com algumas bibliotecas implementadas. As Bibliotecas padrões vão desde o controle de um servo motor ao controle de um Shield. Abaixo se encontram alguns exemplos dessas bibliotecas:

Servo - Para o controle de servo motores.

SD - Para a leitura e escrita de cartões SD.

LCD - Para o controle de uma tela LCD.

WiFi - Para o conectar a internet utilizando um Shield de conexão WiFi.

Para saber mais sobre as bibliotecas padrões consulte: Bibliotecas

Como criar uma biblioteca

Para criar um biblioteca é bastante simples, basta criar os 3 arquivos citados anteriormente: uma header , uma source e um keyword. De exemplo iremos criar um novo Blink, tornando-o mais maleável.

1º Passo: Criando a header

A header é um arquivo de extensão .h, para criá-lo você pode utilizar a IDE de sua preferência. Nela criaremos as classes, com suas funções e variáveis, que será implementada na source, lembrando que a implementação é feita totalmente em C++.

/*
 
  NovoBlink.h
 
*/
 
//Diretivas necessária para a criação da header
#ifndef nBlink
#define nBlink 
 
 
#include "Arduino.h" //Inclusão de uma biblioteca para utilização das funções nativas do Arduino
 
//Criação da Classe
class n_blink{
 
  public: 
      n_blink(int pino); //Píno onde o blink será feito
      void iniciar(int tempoAcesso, int tempoApagado); //Inicia o blink com um tempo que ele ficará acesso
 
 private:
      int _pino; //Variável privada que guardará o número do pino
 
  };
 
#endif //Encerra a header

2º Passo: Criando a source

Na source temos que implementar as classes que foram criadas na header.

/*
 
  NovoBlink.c
 
*/
 
#include "Arduino.h" //Para utilização das funções nativas do Arduino
#include "NovoBlink.h" //Inclusão da header
 
//Implementação do Construtor da Classe
n_blink::n_blink(int pino)
{
  _pino = pino; //Adiciona o pino que será utilizado
  pinMode(_pino,OUTPUT); //Define ele como saida
 
 }
 
//Implementação da função "iniciar"
void n_blink::iniciar(int tempoAceso, int tempoApagado)
{
  digitalWrite(_pino,HIGH); //Seta nivel lógico alto ao _pino
  delay(tempoAceso); // delay com o led aceso
  digitalWrite(_pino,LOW); //Seta nivel lógico baixo ao _pino
  delay(tempoApagado); // delay com o led apagado
 
  }

2º Passo: Criando o keyword

O arquivo de extensão txt não é obrigatória, no entanto, é importante para dar clareza a biblioteca criada, pois é possível dar coloração as funções. Existem dois tipos de coloração possíveis: a alaranjado, representada pela KEYWORDS1 e a azulada, representada pela KEYWORDS2. Ultiliza-se o laranja para as classes e azul para as funções.

/*
 
keywords.txt
 
*/
 
NovoBlink	KEYWORDS1
n_blink		KEYWORDS2
iniciar		KEYWORDS2

4º Passo: Criando exemplos

Para facilitar na utilização da sua biblioteca, os criadores costumam criar exemplos de aplicação. Abaixo se encontra um exemplo da nossa:

/*
 
  NovoBlink_ex.ino
 
*/
//Inclui a biblioteca
#include <NovoBlink.h>
 
//Inicialização da Classe
n_blink led(13); //Blink no led 13
 
void setup() {
 
}
 
void loop() {
 
  led.iniciar(100,200);// inicia o blink
 
 
}

Por fim, junte todos os arquivos criados em uma pasta com o nome da biblioteca, sendo que os exemplos devem ser colocados dentro de uma pasta chamada exemplos. Pronto, sua biblioteca está criada. Para adicioná-la na IDE do Arduino, você pode colar a pasta diretamente na pasta libraries do arduino ou “zipa-lá” e adicionar pela interface da IDE.