Arduino – O que são as Bibliotecas
Bibliotecas no Arduino
Uma biblioteca é um trecho de software que fornece funcionalidade específica a um programa, como por exemplo a capacidade de escrever em um display de LCD ou de controlar a posição de um servomotor. O uso de uma biblioteca simplifica o desenvolvimento de aplicações, pois o código da biblioteca já está pronto, e só precisa ser incorporado ao programa em desenvolvimento para que suas funções possam ser acessadas e utilizadas pelo desenvolvedor.
Assim, podemos estender o uso do Arduino incorporando bibliotecas específicas durante o desenvolvimento de um sketch.
Na plataforma Arduino existem três tipos diferentes de bibliotecas de software disponíveis:
- Core (biblioteca essencial)
- Padrão
- Adicionais (de terceiros)
Algumas das bibliotecas necessitam de um hardware especial para serem utilizadas, muitas vezes na forma de Shields. Vamos entender a seguir as aplicações de cada tipo de biblioteca citada na lista anterior.
Biblioteca Core
A biblioteca essencial vem instalada na IDE do Arduino e é imprescindível para o desenvolvimento de programas, desde os mais simples (como piscar um LED) até projetos complexos, como realizar automação de uma residência (em conjunto com outras bibliotecas).
Desta forma, a programação do Arduino fica muito simplificada, pois o programador não tem a necessidade de entender como o código da biblioteca funciona internamente – basta saber como usá-la.
Algumas funções comuns fornecidas pela biblioteca core são as funções digitalRead, digitalWrite, Serial.begin e analogRead, entre outras.
Bibliotecas Padrão
As bibliotecas padrão são incluídas na instalação do IDE do Arduino, porém não são incluídas por padrão nos projetos que você cria, pois o Arduino possui recursos de memória limitados, e assim essas bibliotecas somente são incluídas de forma explícita quando você necessita delas. A inclusão de uma biblioteca padrão é feita por meio de uma declaração #include no início do código do seu sketch.
Por exemplo, se você quiser incluir em um sketch a biblioteca padrão Stepper, usada para permitir o controle de motores de passo, você deve incluir a seguinte declaração no início de seu código:
#include <Stepper.h>
Note que o nome da biblioteca deve estar envolvido entre os caracteres < e >, finaliza com a extensão .h e você não deve usar o ponto-e-vírgula no final desta linha. Após a inclusão da biblioteca, você pode usar as funções que ela codifica em seu programa. Para saber quais são essas funções e como utilizá-las, você deve consultar a documentação específica da biblioteca.
As bibliotecas padrão do Arduino são:
- EEPROM – Usada para ler e gravar dados em uma memória EEPROM no Arduino. No Uno a EEPROM tem o tamanho de 1024 bytes e no Mega, de 4096 bytes.
- Ethernet – Permite conectar o Arduino à Internet ou à rede local usando um shield Ethernet.
- Firmata – Esta biblioteca permite a comunicação entre o Arduino e aplicações em um computador via protocolo de comunicação serial
- GSM – Conectar a uma rede GSM/GPRS usando um shield GSM.
- LiquidCrystal – Com essa biblioteca podemos controlar displays de cristal líquido (LCD).
- SD – Biblioteca muito importante, usada para que seja possível esvrever e ler dados em cartões de memória SD/SDHC.
- Servo – Controlar motores servo
- SPI – Comunicação com dispositivos usando o barramento SPI (Serial Peripheral Interface)
- SoftwareSerial – Permite a comunicação serial usando os pinos digitais da placa.
- Stepper – Controlar motores de passo
- TFT – Permite desenhar imagens e formas e escrever texto em uma tela TFT
- WiFi – Permite conexão à rede local e Internet por meio de um shield WiFi.
- Wire – Biblioteca que permite enviar e receber dados por meio de uma interface TWI/I2C (interface a dois fios) em uma rede de dispositivos ou sensores.
Existem algumas outras bibliotecas padrão que somente estão disponíveis em alguns modelos específicos de Arduino, como por exemplo a biblioteca AudioZero, que permite reproduzir arquivos de áudio de um cartão SD em uma placa Arduino Zero.
Veremos exemplos do uso de cada uma destas bibliotecas em projetos ao longo de nossas lições de Arduino.
Bibliotecas de Terceiros (adicionais)
Essas bibliotecas são disponibilizadas por desenvolvedores diversos que contribuem voluntariamente com software para a plataforma, e não são distribuídas por padrão com o IDE do Arduino. Para usá-las, você precisa baixá-las e então efetuar sua instalação por meio do IDE. Elas oferecem funções adicionais a bibliotecas existentes ou novas funcionalidades não presentes em nenhuma biblioteca padrão, permitindo estender o uso do Arduino de forma praticamente ilimitada.
Para importar uma nova biblioteca você deve efetuar os seguintes passos (no IDE versão 1.6.6):
- Abra o IDE do Arduino e clique no menu Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas. Será aberta a janela do Gerenciador de Bibliotecas, que você pode ver abaixo:
- Procure a biblioteca desejada na lista, rolando a tela se necessário. Note que há dezenas de bibliotecas disponíveis para instalação. Como exemplo, vou incluir a biblioteca Adafruit AM2315, que permite usar um sensor de temperatura/umidade com interface I2C da Adafruit Industries. Clique sobre a biblioteca para selecioná-la, selecione a versão no meu drop-down à direita (se houver mais de uma disponível) e então clique no botão Instalar:
Aguarde enquanto a biblioteca é baixada e instalada. Após o término da instalação, verifique se tudo correu bem clicando no menu Sketch -> Incluir Biblioteca, e role para baixo o submenu, até a seção “Recommended” ou “Contributed“, e você deverá encontrar a biblioteca adicionada lá:
É isso aí, biblioteca adicionada e prontinha para uso!
Caso a biblioteca que você precisa não esteja presente no Gerenciador de Bibliotecas, você ainda poderá instalá-la baixando-a da Internet e efetuando a importação da biblioteca. Para isso, siga os passos a seguir:
- Baixar a biblioteca desejada no site do desenvolvedor (algumas estão presentes no próprio site do Arduino)
- Iniciar o IDE do Arduino
- Adicionar a biblioteca ao IDE clicando em Sketch -> Incluir Biblioteca -> Adicionar biblioteca .ZIP
- Navegue até a pasta onde você baixou a biblioteca e a selecione. Por exemplo, eu baixei a biblioteca NewSoftSerial, que é uma versão melhorada da biblioteca padrão SoftwareSerial:
Clique em OK para inclui-la no IDE. Aparecerá a mensagem “Biblioteca adicionada às suas bibliotecas. Veja o menu “Incluir Biblioteca” na parte inferior da janela da IDE.
- Para ver a biblioteca instalada, clique no menu Sketch -> Incluir Biblioteca, e role até a parte final do submenu, na seção “Contributed“. Lá você encontrará a biblioteca adicionada, se tudo correu bem:
Agora é só usar a nova biblioteca em seus projetos, quando necessário.
Você pode desenvolver suas próprias bibliotecas para o Arduino, e também pode instalar as bibliotecas manualmente. Veremos esse processo em outro artigo.
Neste artigo estudamos sucintamente as bibliotecas de software do Arduino. Como citado no texto, muitas das bibliotecas atendem a um determinado hardware específico, como um shield ou um sensor, e na próxima lição iremos conhecer os Shields para Arduino.
boas as suas explicações. Gostaria de saber se o arquivo de bootloader para o atmega 8 é o mesmo arquivo que já vem por padrão no arduino uno que usa atmega 328, como gravar esse arquivo de bootloader do atmega 8 via arduino uno.
att.
edson
Este artigo me ajudou bastante.
Muito bom artigo. Explícito e fácil de compreender.muito obrigado pelas noções. Vou partilhar com meus alunos.
Muito obrigado Edilson!