Wiki ADA

Projetos em Engenharia de Computação

Ferramentas do usuário

Ferramentas do site


programacao-arduino:bibliotecas

Essa é uma revisão anterior do documento!


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:

  • uma header, ou um cabeçalho, com extensão “.h” que contém todas as funções e as variáveis que serão implementadas
  • uma source, ou arquivo fonte, com extensão “.ccp” que contém as implementações das funções e variáveis.
  • um arquivo com extensão “.txt” chamado de keyword que tem o propósito de determinar a cor para as funções da bibliotecas.

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ê precisar 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 alguma 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 dessa 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 tempoAcesso, int tempoApagado)
{
  digitalWrite(_pino,HIGH); //Seta nivel lógico alto ao _pino
  delay(tempoAcesso); // delay com o led acesso
  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.

programacao-arduino/bibliotecas.1606392951.txt.gz · Última modificação: 2020/11/26 09:15 por bandeira