download (1)

Em algum momento você já deve ter escutado que um amigo, colega, familiar ou namorado(a) está trabalhando com um tal de Arduino.  É sempre uma relação 8/80 (de amor e ódio) e dificilmente alguém senta para explicar o que é o tal de Arduino e o que ele faz/pode fazer.

Eu vou tentar descrever, em várias postagens nas próximas semanas, um pouco sobre esse “individuo”, trazendo alguns exemplos de utilização não só na robótica, mas em diversas áreas do conhecimento.

Quando concluir as postagens, junto tudo e coloco na sessão de tutoriais.

 1. Definição

– É de comer? É um brinquedo? É um computador? O que é??

Antes de tudo, é bom esclarecer o que é Arduino. Ao pé da letra, o Arduino é uma empresa/marca. Essa empresa acredita no hardware livre e projetou uma ferramenta/plataforma eletrônica open-source de prototipagem (qualquer um tem acesso ao seu código fonte, pode construir e pode modificá-lo), que baseia-se em software e hardware flexíveis e fáceis de se usar. É direcionada a artistas, designers, hobbistas e qualquer pessoa interessada em criar objetos/ambientes interativos.

Em outros termos, é uma placa com um microcontrolador (que a grosso modo, seria uma mini-placa mãe de computador com processamento, memória e “slots” para outros componentes) que possui diversas facilidades para quem quer interligar o software (programas e códigos no computador) com o hardware (componentes físicos, como motores e LEDs).

O termo Arduino é geralmente utilizado para se referenciar ao produto da empresa, que possui diversas versões e modelos. Por exemplo: Arduino Uno, Arduino Mega, Arduino Nano, Arduino Lilypad, etc.

leonardo

– Exemplo de Arduino

2.  Utilização

– Para que serve? Como eu uso?

Como mencionei acima, essa ferramenta serve como meio de campo entre o software e hardware e para conseguir utilizar-la é necessário ter algum conhecimento básico de programação, eletrônica e de informática.

Para usar, em um primeiro momento é necessário passar a programação desejada para a placa. Considerando que a placa já possui o bootloader (um código de inicialização que permite receber códigos facilmente), somente será necessário conectar a placa na porta USB do computador e seguir as instruções padrões de upload.

Há alguns casos (alguns modelos) em que é necessário ter um gravador externo adicional ou uma placa de FDTI, mas estou considerando o caso do Arduino Uno R3 que é o mais utilizado e simples.

Feito isso, o seu programa poderá operar de duas formas. Uma é operar de forma autônoma, o Arduino opera interagindo com o mundo real sem a conexão com o computador. Por exemplo, ao apertar um botão, o Arduino recebe este sinal, toma uma decisão e faz algo, como acender um conjunto de LEDs.

Uma segunda forma de trabalhar, é fazer o Arduino operar no “meio de campo” entre o computador e o seu projeto. Por exemplo, posso acender o mesmo conjuntos de LEDs através de um software no computador, que se comunica com o Arduino (via RS232, Ethernet, Bluetooth, etc.) e que por fim, aciona o LED.

arduino-led-setup

– Exemplos de conexão.

2013-12-23 11.43.50

3. Modelos e principais características

– Onde eu compro? Como eu escolho o modelo?

Há diversos modelos de placas de Arduino, para diversos tipos de aplicação. Geralmente se escolhe o modelo conforme um ou mais requisitos de projetos, que podem ser resumidos em:

  • Número de portas de entradas/saída;
  • Tamanho da memória (definindo o tamanho do código);
  • Tamanho físico da placa;
  • Capacidade de processamento;
  • Custo.

Vale lembrar que a desenvolvedora apoia a ideia de hardware livre, portanto você possui 3 opções para obter um Arduino:

  1. Faça você mesmo: a empresa fornece todos os desenhos técnicos (Eagle e lista de componentes) para você comprar os componentes, confeccionar a placa e soldar tudo. Não recomendo a não ser que domine bem todas as etapas e possua todos os materiais necessários.
  2. Importar o original: você pode optar também por  comprar uma placa 100% original diretamente da empresa, que está na Itália. Ou seja, o produto é ótimo, mas em alguns casos pode custar o dobro da terceira opção.
  3. Comprar “terceirizado”: como o hardware é free, há diversas empresas que produzem e comercializam as placas exatamente iguais as originais da Itália, mas geralmente com alteração do nome (Freeduino). As vezes alguns componentes podem ter uma qualidade um pouco inferior, mas em 90% dos casos você nem irá reparar na diferença.  A grande maioria das pessoas opta por esta via por ser a mais econômica. Como o suporte é o mesmo, a comunidade é a mesma, as placas são praticamente idênticas e os valores bem mais em conta, eu fortemente recomendo esta opção (em alguns sites você encontra a versão italiana e a genérica, e notará a diferença de preço).

OBS.: Cuidado para não ser enganado ao comprar um suposto Arduino Original e comprar um “falsificado”. Confira esse vídeo para saber as diferenças! 

É possível obter as placas em várias eletrônicas espalhadas pelo Brasil, em sites de microcontroladores/robótica, em sites como Mercado Livre ou ainda em alguns sites no exterior como Dx, Ebay e a Sparkfun.

A seguir eu listei alguns modelos populares de placas e suas principais características, mas existem outros modelos mais específicos  como Arduino Fio, Mega ADK, Ethernet, Bluetooth, Due, Yún, etc, mas que dificilmente serão utilizados por iniciantes. Para quem está começando, recomendo o Arduino Uno R3. Todos os modelos podem ser consultados diretamente na página da empresa para mais informações, você também pode conferir este vídeo para visualizar os tamanhos reais.

3.1 Arduino Mini / Mini Lite

mini

Um dos menores  modelos de Arduino disponível (vem sem conectores na versão lite).

Pinos: 8 analógicos, 14 digitais, 6 PWM.
Microcontrolador: ATmega328
Tensão: entrada 7V a 9V, operação 5V.
Memória: Flash 32 KB (2 KB de bootloader), SRAM 2 KB, EEPROM 1KB.
Clock: 16 MHz

3.2 Arduino Pro Mini 3,3V / Pro Mini 5V

mini_pro

Essas placas são um pouco mais longas que o Arduino Mini e são umas das mais rápidas, menores e leves.

Pinos: 6 analógicos, 14 digitais, 6 PWM.
Microcontrolador: ATmega168
Tensão: operação  3,3V ou 5V (depende do modelo), entrada 3,35-12 V (no de 3,3V) ou 5-12 V (no de 5V)
Memória: Flash 16 KB (2 KB de bootloader), SRAM 1 KB, EEPROM 512 B.
Clock: 8MHz (no modelo 3,3V) e 16 MHz (no modelo 5V).

3.3 Arduino Nano / Nano Lite

nano

Esta é um dos últimos lançamentos de pequeno porte do Arduino, sendo o principal diferencial a presença do conector USB.

Pinos: 8 analógicos, 14 digitais, 6 PWM.
Microcontrolador: ATmega328
Tensão: entrada 7V a 12V (limite de 6 a 20V), operação 5V.
Memória: Flash 32 KB (2 KB de bootloader), SRAM 2 KB, EEPROM 1KB.
Clock: 16 MHz

3.4 Arduino LilyPad /Simple Lilypad / USB Lilypad

lilypad

O Arduino Lilypad se destaca das demais placas por causa de seu formato arredondado e de sua cor roxa. Essa placa foi projetada originalmente para ser costurada em tecidos, apesar de atualmente ser utilizada em diversas aplicações. O Lilypad pode ser lavado junto com a roupa, se forem tomados alguns cuidados.

Pinos: 6 analógicos, 14 digitais, 6 PWM.
Microcontrolador: ATmega168V ou 328V
Tensão: entrada 2,7V a 5,5V, operação 2,7V a 5,5V.
Memória: Flash 16 KB (2 KB de bootloader), SRAM 1KB, EEPROM 512 bytes.
Clock: 8 MHz

A versão USB do Lilypad utiliza o microcontrolador ATmega32U4 e melhora as características de pinagem e memória disponível.

3.5 Arduino Leonardo

leonardo

O Arduino Leonardo já possui um maior porte e utiliza um microcontrolador mais recente da Atmel. É comercializado com e sem os pinos para shields. O grande diferencial é a comunicação USB já embutida no microcontrolador.

Pinos: 12 analógicos, 20 digitais, 7 PWM.
Microcontrolador: ATmega32U4 (com comunicação USB onboard)
Tensão: entrada 7V a 12V, entrada limite 6-20V, operação 5V.
Memória: Flash 32 KB (4 KB de bootloader), SRAM 2,5KB, EEPROM 1024 bytes.
Clock: 16 MHz

3.6 Arduino Pro 3.3V / Pro 5V

pro

O Arduino Pro é similar ao Leonardo, com algumas vantagens como faixa de tensão, trilhas menores e menor peso. Esta placa não vem com os pinos, apesar de ser compatível com os shields disponíveis.

Pinos: 6 analógicos, 14 digitais, 6 PWM.
Microcontrolador: ATmega168/328
Tensão: entrada 3,35V a 12V, operação 3,3V.
Memória: Flash 16/32 KB (2 KB de bootloader), SRAM 1/2KB, EEPROM 512/1024 bytes.
Clock: 8 MHz (3,3V) /16MHz (5V)

3.7 Arduino Diecimilla / Duemilanove / Uno

ArduinoUno_R3_Front_450px

Esta é a placa mais popular do Arduino e foi reformulada diversas vezes (Diecimilla->Duemilanove->Uno), chegando no modelo mais atual (fev/2014) que é o Uno R3.  É de longe a placa mais fácil de se utilizar e já vem pronta para uso. Eu utilizarei esta placa como referência nas próximas postagens.

Pinos: 6 analógicos, 14 digitais, 6 PWM.
Microcontrolador: ATmega328
Tensão: entrada recomendada 7V a 12V, entrada limite 6 a 20V, operação 5V.
Memória: Flash 32 KB (2 KB de bootloader), SRAM 2KB, EEPROM 1KB.
Clock: 16 MHz

3.8 Arduino Mega 1280 / 2560

mega

Sendo um dos maiores modelos de placas, temos o Arduino Mega. Ela é fisicamente maior que as outras placas, oferece mais pinos digitais e analógicos e ainda possui um microcontrolador diferente das outras.

Pinos: 16 analógicos, 54 digitais, 15 PWM.
Microcontrolador: ATmega2560
Tensão: entrada recomendada 7V a 12V, entrada limite 6 a 20V, operação 5V.
Memória: Flash 256 KB (8 KB de bootloader), SRAM 8KB, EEPROM 4KB.
Clock: 16 MHz

3.8 Arduino Micro

micro

O Arduino Micro utiliza a mesma tecnologia do Leonardo, mas com tamanho similar ao Mini.

Pinos: 12 analógicos, 20 digitais, 7 PWM.
Microcontrolador: ATmega32U4 (com comunicação USB onboard)
Tensão: entrada 7V a 12V, entrada limite 6-20V, operação 5V.
Memória: Flash 32 KB (4 KB de bootloader), SRAM 2,5KB, EEPROM 1024 bytes.
Clock: 16 MHz

3.9 Arduino Esplora
esplenora

Esta placa também possui mesma tecnologia do Arduino Leonardo. O seu diferencial é possuir inúmeros componentes já acoplados para teste ou para eliminar a necessidade de se trabalhar com a eletrônica. Por exemplo, já possui conectores prontos para alguns sensores, botões digitais e um botão analógico. É mais difícil de encontrar este modelo no Brasil.
Pinos: 12 analógicos, 20 digitais, 7 PWM.
Microcontrolador: ATmega32U4 (com comunicação USB onboard)
Tensão: entrada 7V a 12V, entrada limite 6-20V, operação 5V.
Memória: Flash 32 KB (4 KB de bootloader), SRAM 2,5KB, EEPROM 1024 bytes.
Clock: 16 MHz

3.10 Arduino Tre

ArduinoTre_LandingPage

O Arduino Tre ainda está em desenvolvimento mas é o próximo grande projeto do Arduino em conjunto com a BeagleBone. Eu comentei em detalhes neste link.

4. Exemplos de Aplicação

– Ta e só engenheiro usa? Só serve para robótica?

Separei alguns exemplos simples e avançados utilizando Arduino, todos disponibilizados na internet. Clique nos links e confira!

Arduino+Scratch+Acionamentos – Link Youtube
30 projetos simples – Link Youtube

Automodelo Controlado por Celular – Vídeo Youtube
Projetos variados utilziando Lilypad – Vídeo Youtube
Relógio “ventilador” – Vídeo Youtube
Hexapode controlado por voz – Vídeo Youtube

Tracking+Arduino+Matlab – Vídeo Youtube
Controle de Nível de Água – Vídeo Youtube

Arduino e Arte – Vídeo Youtube
Playlist com várias aplicações – Playlist Youtube

Se você reparou bem nos links acima, nota-se que o Arduino é utilizado nas mais diversas áreas e não é necessário ser formado em exatas para trabalhar com ele. Existem projetos em tecidos/roupas, pinturas, artes em geral, automação de processos, robótica, decoração, automação residencial, automação industrial, leitura e aquisição de dados, controle de acesso, diversão, educação/ensino e em muitos outros lugares/áreas.

5. Conclusão da Parte 1

– Mas já? O que vem depois?

Nesta primeira parte tentei dar uma contextualizada sobre o que é o Arduino e o que ele faz, trazendo os modelos e algumas aplicações.  Nas próximas eu pretendo explicar em detalhes a estrutura interna do Uno, como ele faz para transformar “código” em ações físicas, a programação e como passar o código para a placa e a conexão de alguns componentes,começando por botões, potenciômetro e LEDs.

Como mencionei no texto, eu pretendo montar um pequeno tutorial quando concluir todas as postagens e o mesmo ficará disponível aqui no site, sendo atualizado e modificado com o passar do tempo (será direcionado aos meus alunos). Qualquer correção de erro ou acréscimo de informação, será feito no tutorial.

Referências Adicionais

Robotshop

Arduino Oficial