Se você trabalha com eletrônica, muito provavelmente conhece ou já ouviu falar sobre o Arduino.
Porém, se você é de alguma outra área, digamos, arte e design, também é bem provável que já tenha ouvido falar sobre essa plataforma de desenvolvimento open-source.
O Arduino é um projeto que se popularizou por todo o mundo devido à sua praticidade, facilidade de trabalho e preço competitivo.
Nesse artigo, vamos apresentar o que é o Arduino. Como ele surgiu, seus aspectos de hardware e software, bem como um passo a passo para configurar um ambiente de trabalho inicial e implementar o seu primeiro projeto com o Arduino.
Ao fim desse texto, espera-se que você saiba explicar e entenda em que consiste o sistema Arduino e também seja capaz de começar a desenvolver as suas primeiras aplicações. Vamos lá!
Em poucas palavras, Arduino é uma plataforma de desenvolvimento de projetos eletrônicos (ou prototipagem eletrônica, como também é comumente dito), constituída tanto de hardware e software.
Ele está disponível por meio da licença Creative Commons Attribution Share-Alike license. Isso quer dizer que todos os arquivos de design do projeto Arduino estão disponíveis gratuitamente na internet e que seu software é open-source.
Além disso, a plataforma pode ser utilizada tanto para trabalhos pessoais como para fins comerciais, desde que os créditos sejam atribuídos à marca Arduino e os arquivos de projeto também sejam disponibilizados sob a mesma licença.
O projeto surgiu na Itália, em 2015, a partir de um grupo de desenvolvedores liderados por Massimo Banzi. O propósito inicial era criar uma plataforma de baixo custo, fácil de trabalhar, e que pudesse ser usada por estudantes para desenvolver seus protótipos de forma eficiente e barata.
Também foi pensado para auxiliar no ensino de eletrônica para estudantes de artes e design, principalmente tendo em vista a criação de ambientes interativos, algo muito em voga dentro do design e artes contemporâneos.
Para saber mais sobre a história do Arduino, recomendamos a ótima palestra proferida por Massimo Banzi, realizada nos famosos Ted Talks:
As principais razões para se utilizar a plataforma Arduino em seus projetos são as seguintes:
O Arduino não é a única plataforma de prototipagem eletrônica do mercado. Existem outros projetos e kits de desenvolvimento, os mais comuns são o Raspberry Pi e o BeagleBone.
Cada qual utiliza um microcontrolador diferente e possui projeto de hardware com características próprias. Os preços também variam bastante e algumas outras plataformas não são tão populares.
A escolha de qual kit de prototipagem utilizar depende das demandas e necessidades que o seu projeto impõe.
Certamente, tendo em vista as razões citadas mais acima, o Arduino é um forte candidato para a maioria dos seus projetos.
Plataforma Arduino UNO Rev 3
Vamos falar um pouco sobre o que o hardware do Arduino.
Todas as informações aqui presentes estão disponíveis na página oficial do Arduino e recomendamos que o leitor a explore como complemento a esse texto.
Não existe apenas um modelo de Arduino. Existem várias placas disponíveis, cada qual com diferentes níveis de complexidade e funcionalidades diferentes.
São 6 classes de plataformas de prototipagem Arduino disponíveis no mercado atualmente:
Vamos focar no Arduino UNO, uma placa entry-level e um dos modelos mais populares e de custo mais acessível.
É uma placa ideal para quem está dando os primeiros passos na eletrônica e querendo descobrir o que é Arduino.
Como visto na figura acima, a placa possui uma série de pinos disponíveis para ligação e conectores para interfacear com o mundo externo. O MCU é um Atmega328p.
As principais características da placa são:
A placa pode ser alimentada tanto pelo cabo USB como por adaptador AC/DC. Todos os features do microcontrolador estão disponibilizados para interfacear com o mundo externo.
Em geral, as entradas analógicas são utilizadas para ler sensores externos e as saídas PWM e outputs digitais são utilizadas para controlar motores e atuadores e acionar drivers para cargas externas.
A IDE do Arduino também é open-source. Seu ambiente gráfico foi desenvolvido em Java e baseado em Processig e outras linguagens open-source.
O ambiente de programação está disponível para Windows, MAC e Linux. O download pode ser feito diretamente na página oficial.
A linguagem de programação utilizada para escrever os códigos para Arduino é baseada nas tradicionais C/C++ (com modificações) e possui um grau de abstração muito alto e uma série de bibliotecas que encapsulam a maior parte da complexidade do microcontrolador.
Esse alto grau de abstração e o set de bibliotecas são os grandes responsáveis por fazer a programação mais intuitiva e rápida, pois não é necessário que o desenvolvedor conheça os registradores, os detalhes de memória e a dinâmica do processador.
IDE do Arduino UNO
Vemos que a IDE é bem simples e enxuta.
No alto temos as seguintes abas:
Essa última em especial é interessante de ser sempre frequentada pelo usuário pois possui referências importantes e é a principal fonte de informações e troubleshooting.
Logo abaixo desse menu principal têm-se alguns ícones de atalho. São eles (da esquerda para a direita):
Toolbar de atalhos do IDE do Arduino UNO
Agora que já sabemos o que é e quais as características de software e hardware do Arduino, vamos preparar e configurar o nosso setup de desenvolvimento.
Do ponto de vista do hardware, basta alimentarmos a placa e conectarmos o cabo USB ao computador.
As demais configurações são feitas todas pela IDE. Veja os passos abaixo:
As figuras abaixo ilustram os passos 2 e 3.
Selecionando a placa correta na IDE
Selecionando a porta serial (Fonte: MauryMartinez)
Após essas configurações a IDE está pronta para carregar os programas desenvolvidos no Arduino e rodar qualquer exemplo disponível.
Vamos agora fazer o primeiro exemplo no Arduino. O exemplo mais simples, geralmente o primeiro feito para se testar uma placa ou quando se está aprendendo pela primeira vez, é o famoso “Led Blink”, isto é, vamos escrever um programa para fazer um led piscar.
A plataforma Arduino UNO possui um led onboard previamente conectado ao estado lógico do pino 13. Assim, podemos utilizar esse led para o nosso exemplo.
Outra boa notícia é que a IDE dispõe de uma boa e completa biblioteca de exemplos que podem ser usados como base para uma gama muito variada de aplicações.
Para acessar o exemplo do Led Blink, vá em Files → Examples → Basics → Blink.
Na figura abaixo vemos o código desse exemplo:
Código exemplo Led Blink
No exemplo acima podemos ver as duas partes que sempre vão estar presentes em todos os seus projetos com Arduino.
A função void Setup() e a função void loop(). A primeira é responsável por configurar e fazer todos os settings necessários para uma dada aplicação. Por exemplo, no caso do Led Blink, vemos a linha: pinMode( Led, OUTPUT) .
Essa linha de código é responsável por inicializar as portas digitais como saídas. Outras configurações como frequência de sinais PWM, inicialização de portas como entrada, configurações de canais seriais, dentre outros, são todas feitas nessa função.
A segunda rotina consiste no loop infinito que se repetirá por toda a aplicação. Ou seja, após o Arduino ser energizado, o primeiro trecho de software que vai rodar é a função void setup() e, logo após, o software entre na rotina void loop(), e repete o código dentro dessa rotina continuamente.
É nesse loop infinito que deve ser colocado o código referente a aplicação em si.
No caso do Led Blink temos o seguinte código no loop infinito:
Código da aplicação Led Blink presente no loop infinito
Nesse código, é chamada a função digitalWrite(led, High), responsável por atribuir nível alto ao pino led, que no caso corresponde ao pino 13 (repare na figura 6 que led é uma variável inteira para a qual foi atribuída o valor 13), ou seja, o led ligado ao pino 13 é ativado.
Logo em seguida é chamada a função delay(1000), que pausa a execução do loop por mil milissegundos, isto é, por um segundo.
Depois de aguardar esse tempo, a função digitalWrite() é novamente chamada, mas dessa vez para atribuir nível lógico baixo ao pino 13, ou seja, para desligar o led ligado ao pino 13. Por fim, novamente a funçao delay(1000) é chamada para fazer mais uma pausa de um segundo.
Dessa forma, o led fica piscando em intervalos contínuos de um segundo. Eis o nosso exemplo Led Blink ! Simples não é ?!
Para carregar o código na placa basta clicar no ícone de Upload. O firmware será gravado no microcontrolador Atmel da placa e a primeira aplicação para fazer o led piscar estará pronta.
Sempre que o Arduino for energizado o led do pino 13 ficará piscando em intervalos regulares de um segundo.
É uma prática comum e muito recomendada que todo projeto de eletrônica seja primeiro simulado via software antes de ser montado no hardware.
Além de ser uma boa prática que permite ao desenvolvedor debugar e identificar erros no firmware antes mesmo de embarcar na plataforma, os simuladores também permitam que aplicações sejam desenvolvidas sem que a placa esteja necessariamente presente.
Um simulador muito popular para circuitos com Arduino é o Fritzing. É um software open-source que dispõe de uma ótima e intuitiva interface gráfica.
Se você chegou até aqui, então você já sabe o que é e como funciona a plataforma Arduino.
O exemplo do Led Blink é uma aplicação muito básica e recomendamos que você explore os outros exemplos disponíveis na IDE e acompanhe os posts aqui do blog.
A plataforma Arduino permite que qualquer pessoa desenvolva aplicações eletrônicas microcontroladas, e foi um marco na popularização de sistemas interativos nas áreas de design e artes, pois tornou a vida de muitos profissionais fora da área de eletrônica muito mais fácil.
Para quem trabalha com eletrônica, seja como profissional ou por hobby, o arduino permite a prototipagem e a implementação de projetos de forma rápida e com baixo custo.
Não sendo necessário enveredar por datasheets gigantes ou esmiuçar placas fabricadas artesanalmente à procura de problemas. Hands on!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!