1 of 35

2 of 35

No decorrer da nossa jornada pela Robótica nos deparamos com diferentes projetos, dos mais simples aos mais sofisticados. Em muitos desses projetos, a programação do Arduino ficou facilitada devido à utilização de bibliotecas, como se estivéssemos utilizando uma caixa de ferramentas com tudo (ou quase tudo) que precisamos.

3 of 35

Na programação dos robôs, utilizamos as ferramentas para controle dos motores, por exemplo, sem precisar escrever muitas linhas de código para ações como ir para frente, para trás ou virar; na programação de sensores, pudemos ter acesso aos seus dados também com apenas algumas funções; nos projetos de comunicação e IoT, o mesmo!

4 of 35

• Conhecer funções presentes em bibliotecas pelo recurso de abertura dos arquivos *.h;

• Conhecer o caminho para localização comum de bibliotecas instaladas no computador: Documentos > Arduino > libraries.

5 of 35

• Computador e/ou notebook;

• Arduino.

6 of 35

Na programação com Arduino IDE, as bibliotecas constituem parte fundamental no desenvolvimento de protótipos por fornecerem funcionalidades específicas que podem ser facilmente incorporadas na programação dos componentes relacionados, organizando o código de programação e facilitando a leitura de comandos.

Há três modelos de bibliotecas: biblioteca essencial ou core, fundamental para o desenvolvimento de projetos por possuir funções usuais como digitalWrite() e analogRead(); biblioteca nativa do Arduino IDE, a qual não requer instalação posterior, mas precisa ser declarada na programação pela diretiva #include, como a Servo.h, utilizada para controle de servomotores; e bibliotecas de terceiros (externa), que possuem o objetivo de otimizar o código da programação para os componentes correspondentes por fornecer funcionalidades não presentes em outras bibliotecas do software.

7 of 35

Para utilizar uma biblioteca externa, na versão software do Arduino IDE, é necessário instalar pelo gerenciador de bibliotecas da IDE, acessando o menu Sketch > Include Library> Manage Libraries. Na versão online do Arduino IDE, a biblioteca constará em seus repositórios. Em ambas as versões também é preciso incluir a biblioteca no sketch da programação com a diretiva #include, informando ao Arduino IDE que o código da biblioteca deve ser incorporado na compilação do projeto.

8 of 35

Além do que propomos nas aulas quanto à indicação e utilização de bibliotecas para projetos específicos com o Arduino, você pode explorar mais os recursos das bibliotecas para descobrir outras funções e utilidades.

Muitos desenvolvedores compartilham exemplos de programações com suas bibliotecas que podem te inspirar a novos projetos e, com isso, você vai descobrindo outras funcionalidades.

Vamos experimentar? Se você estiver usando a versão software do Arduino IDE, pelo Windows, abra um novo sketch e clique no menu Arquivo > Exemplos. Você pode localizar os exemplos também pela pasta da biblioteca salva localmente, geralmente pelo caminho Documentos > Arduino > libraries > nome_biblioteca > examples.

9 of 35

Na aba que se abrir, localizando os exemplos pelo Arduino IDE, estarão listadas todas as bibliotecas que você instalou e outras que o Arduino possui embutida ou sugere e, para cada uma delas, há um conjunto de programações que exploram seus recursos. Por vezes, as funções de bibliotecas que trazemos em nossos projetos são apenas uma parte de toda a potencialidade de funções que uma biblioteca possui.

10 of 35

No Arduino IDE Online, você encontra os exemplos de todas as bibliotecas acessando, no menu lateral, o ícone Examples após indicar o tipo de placa microcontroladora conectada.

11 of 35

Comece a explorar os recursos das bibliotecas selecionando um dos exemplos de programação que desejar. Para facilitar nossa análise inicial, vamos optar pelos exemplos da biblioteca MatrizLED, desenvolvida por Daniel Alvarez e disponível em seu GitHub, a qual utilizamos na Aula 06 - Matriz de LEDs do Módulo 2 de Robótica Educacional.

12 of 35

Além das funções de escrever com efeito rolagem e exibir contagem, utilizadas no projeto da Aula 06, podemos explorar outras funções que o desenvolvedor preparou e ampliar nossos projetos com este componente. Vamos lá? Ao buscar os exemplos da biblioteca MatrizLED pelo software Arduino IDE ou sua versão online, o sketch nos apresenta quatro programações: “contador”, “control”, “scroll” e “varios”.

Cada um dos exemplos a seguir traz a programação de um projeto com a matriz de LEDs.

13 of 35

14 of 35

15 of 35

16 of 35

17 of 35

18 of 35

19 of 35

20 of 35

21 of 35

22 of 35

Pelo GitHub, localize o arquivo com nome o da biblioteca seguido pela extensão .h e abra-o no próprio navegador. Esse arquivo tende a ser localizado na pasta “src”. Caso o projeto compartilhado pelo desenvolvedor não possua essa pasta, localize o arquivo .h no diretório compartilhado – ele estará acompanhado pelo arquivo .cpp.

23 of 35

O arquivo .h (header ou cabeçalho) é essencial na programação do Arduino - é por ele que se define a interface da biblioteca e a implementação das funções declaradas neste arquivo é feita no arquivo .cpp (código-fonte), o qual codifica os métodos de classe presentes no .h.

24 of 35

Para saber quais são todas as funções presentes na biblioteca e identificar parâmetros obrigatórios e adicionais, localize no arquivo .h, a sequência de comandos presentes na seção public.

25 of 35

Conforme o exemplo de programação que você selecionar para conhecer as outras bibliotecas, o desenvolvedor pode ter adicionado mais linhas ou recursos que podem ser vistas no próprio no sketch da programação.

26 of 35

Neste exemplo da biblioteca Adafruit GFX, o sketch da programação é aberto com abas complementares, portanto, dependendo da personalização dos exemplos de programação pelo desenvolvedor, o Arduino IDE poderá abrir diretamente no sketch da programação abas com as extensões .h e .cpp, além da aba principal com o exemplo da programação.

27 of 35

Que tal explorar os arquivos de outras bibliotecas e ver como cada desenvolvedor dá atenção a este importante recurso? Procure analisar ele apresenta seus códigos, tece comentários às linhas de código e estrutura sua programação.

E se você desenvolver uma biblioteca própria, mesmo para um código de programação simples? Pense em um projeto que já tenha realizado e nas funções utilizadas. A partir disto, revise o roteiro desta aula quanto à estrutura das bibliotecas e as dicas de sites para pensar no desenvolvimento da sua biblioteca. Converse com seus colegas sobre este desafio para que vocês possam trabalhar juntos neste desenvolvimento, planejando seu objetivo e funcionamento.

28 of 35

Eu não localizar informações relevantes ou não encontrar exemplos claros sobre as bibliotecas que tenho instalado e usado? Procure localizar a documentação dessa biblioteca no próprio site do Arduino. Outra opção é pesquisar o GitHub do desenvolvedor, utilizando as palavras-chave nome da biblioteca + nome do desenvolvedor, conforme descrito no Arduino IDE quando você localiza a biblioteca tanto na versão online quanto na versão software.

29 of 35

30 of 35

O aprimoramento da programação do Arduino e desenvolvimento de projetos de Robótica vem da exploração de recursos e das tentativas de acerto e erro. Neste ponto em que você se encontra com a Robótica, já deve ter passado por várias experiências e desafios! Continue nesta jornada para descobrir e criar coisas cada vez mais incríveis!

31 of 35

O arquivo .h contém as definições das classes, métodos, constantes e variáveis disponibilizados pela biblioteca. É aqui que são declaradas todas as funções “públicas” que os usuários da biblioteca poderão chamar, como, por exemplo, MinhaBiblioteca(int pin) e void fazerAlgo(), facilitando suas programações. São declaradas também as funções “privadas”, internas para funcionamento correto da biblioteca e que não utilizamos na programação principal. As diretivas #ifndef, #define e #endif são utilizadas para evitar inclusões múltiplas, o que pode causar erros de compilação. E se a biblioteca depender de outras bibliotecas ou da biblioteca essencial, ou core do Arduino, elas precisarão ser incluídas no arquivo .h pela diretiva #include.

32 of 35

33 of 35

ARDUINO. Built-in Examples. Disponível em: https://docs.arduino.cc/built-in-examples/. Acesso em: 18 mar de 2024.

ARDUINO. Documentação de Referência da Linguagem do Arduino. Disponível em: https://www.arduino.cc/reference/pt/. Acesso em: 18 mar de 2024.

ARDUINO DESDE CERO. Incluir Arduino.h: Cómo utilizarlo en tus proyectos. Disponível em: https://arduinodesdecero.com/cursos/incluir-arduino-h-como-utilizarlo- -en-tus-proyectos/ Acesso em: 22 mar de 2024.

ELETROGATE. Criando uma Biblioteca para Arduino. Disponível em: https://blog.eletrogate.com/criando-uma-biblioteca-para-arduino/ Acesso em: 22 mar de 2024.

EMBARCADOS. Criando suas próprias bibliotecas para Arduino. Disponível em: https://embarcados.com.br/criando-bibliotecas-para-arduino/. Acesso em: 22 mar de 2024.

MEDIUM. Como fazer uma biblioteca para Arduino? Disponível em: https://medium.com/roboino/como-fazer-uma-biblioteca-para-arduino-d5da8bbb65d8. Acesso em: 22 mar de 2024.

34 of 35

35 of 35