Você está na página 1de 109

Uma Introduo ao ARDUINO e suas Aplicaes na Robtica

Andr F. Nez

O que Arduino?
Arduino uma plataforma open-source de prottipos eletrnicos baseados em hardware e software flexvel e fcil de usar. destinado a artistas, designers, hobbyistas, e qualquer pessoa interessada em criar objetos ou ambientes interativos.

O que Arduino?
O Arduino pode sentir o ambiente recebendo entradas de uma variedade de sensores e pode modificar seu arredor controlando luzes, motores e outros atuadores.

O que Arduino?
Linguagem de programao prpria;
Ambiente de desenvolvimento prprio; Fabricado manualmente ou comprado;

A origem do Arduino
Cidade de Ivrea, Itlia;
2005;

Interagir em projetos escolares de forma a ter um oramento menor que outros sistemas de prototipagem disponveis naquela poca;

Criadores do Arduino
Time de suporte Arduino:
Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis.

Sucesso rpido
Meno honrosa na categoria Comunidades Digitais em 2006, pela Prix Ars Electronica (Prmio de Artes Eletrnicas);
50.000 placas vendidas at outubro de 2008;

Colaboradores Arduino
Crditos
Ambiente; Linguagem; Compilador; Pessoas de vrias partes do mundo;

Comunidade (suporte)
Forum: http://www.arduino.cc/forum/ Wiki: http://www.arduino.cc/playground/ Blog: http://arduino.cc/blog/

Comunidade (suporte)
Twitter: http://twitter.com/arduinoteam Laboratrio: http://labs.arduino.cc/

Por que Arduino?


Cafeteira avisar atravs do Twitter que o caf est pronto? Rob que brinca com o cachorro? Monitor de frequncia cardaca que grava o log em um carto SD? Receber SMS no celular ao receber um email? Fantasia que interage atravs de som e luzes? Soluo: ARDUINO

Por que Arduino?


Descomplicado
no foi feito por Engenheiros para Engenheiros;

IDE roda em Windows, Mac e Linux; Drivers rodam em Windows, Mac e Linux;

Por que Arduino?


Bibliotecas
coisas simples; coisas complexas;

Por que Arduino?


Compilador conhecido e bem testado execuo leve e rpida ; cdigo pequeno; Cobre 90%+ dos sensores do mercado No produzido por um fabricante de microcontroladores;

Por que Arduino?


Possui os requisitos mnimos
mas funcionalidades podem ser adicionadas;
BeagleBoard Arm-cm3 Board

Por que Arduino?


Baixo custo;
Open-source;
Freeduino; Seeeduino; Pinguino; Paperduino;

Paperduino

HARDWARE
Portas Digitais Portas Analgicas uC Atmel

Alimentao

Conexo USB

Conexo p/ Fonte Externa

Hardware bsico Portas Digitais (E/S)


14 portas digitais;
0 ~ 5V
LOW e HIGH;

Hardware bsico Portas Analgicas


6 portas analgicas;

Leitura de 0 ~ 5V 10 bits de converso (2^10); sada de 0 a 1023;

Hardware bsico Portas PWM


Pulse Width Modulation
Modulao por Largura de Pulso;

6 portas PWM; Simula uma tenso de sada

Hardware bsico Portas PWM

Hardware bsico Comunicao


Canal de comunicao serial
RX (pino 0); TX (pino 1);

Conexo SPI
System Peripheral Interface;

Hardware bsico Comunicao


Conexo IC
Inter-Integrated Circuit;

Pinos ICSP
In-Circuit Serial Programming;

Placas Oficiais Arduino Arduino Uno


1.0 - Verso oficial de lanamento
Diecimila; Duemilanove;

Placas Oficiais Arduino Arduino Uno


Microcontroller Operating Voltage Input Voltage (recommended) Input Voltage (limits) Digital I/O Pins Analog Input Pins DC Current per I/O Pin DC Current for 3.3V Pin Flash Memory ATmega328 5V 7-12V 6-20V 14 (of which 6 provide PWM output) 6 40 mA 50 mA 32 KB (ATmega328) of which 0.5 KB used by bootloader

SRAM
EEPROM Clock Speed

2 KB (ATmega328)
1 KB (ATmega328) 16 MHz

Placas Oficiais Arduino Arduino Mega 2560


54 portas E/S
14 PWM;

16 entradas analgicas; 4 UARTS

Placas Oficiais Arduino Arduino Mega ADK


Mesmas funcionalidades do Mega 2560; Conexo USB especial para comunicao com Android;

Placas Oficiais Arduino Arduino Ethernet


Funcionalidades do Arduino Uno; Conexo RJ-45
Reduz alguns pinos;

Leitor de cartes microSD;

Placas Oficiais Arduino Arduino BT


Funcionalidades do Arduino UNO; Placa de comunicao Bluetooth embutida
Bluegiga WT11 Permite gravar gravar o microcontrolador

Placas Oficiais Arduino Arduino Leonardo


20 pinos E/S;
7 PWMs;

12 entradas analgicas; USB embutida no chip;

Placas Oficiais Arduino Arduino LilyPad


Verses de baixo consumo dos controladores padro
ATmega168V e ATmega328V;

Feito para ser costurado;

Placas Oficiais Arduino Arduino LilyPad

Placas Oficiais Arduino Arduino LilyPad

Placas Oficiais Arduino Arduino LilyPad

Placas Oficiais Arduino Arduino LilyPad

Placas Oficiais Arduino Arduino Fio


Microcontrolador SMD; 3.3V; Funcionalidades Arduino UNO; Conexo para placa Xbee;

Placas Oficiais Arduino Arduino Nano


Layout diferenciado; Compatvel com protoboard; Mini-B USB;

Placas Oficiais Arduino Arduino Mini e PRO Mini


Funcionalidades Arduino UNO; Placa muito pequena; Sem headers; Geralmente usados no produto final;

Shields
Shields so placas que podem ser conectados em cima do PCB Arduino estendendo as suas capacidades. Os Shields seguem a mesma filosofia Arduino:
so fceis de montar e baratos de produzir;

Shields

Shields Arduino Proto Shield


Testar circuitos rapidamente;

Acoplar protoboard pequena;


Boto de reset; rea p/ CI SMD Through Hole

Shields Wireless SD Shield


Socket para Xbee; Leitor de cartes microSD; rea de prototipagem;

Shields Arduino Motor Shield


Ponte-H L298 embutido; Controlar velocidade e direo de motores DC; Leitura da corrente;

Shields Criando seu prprio Shield


Respeitar o layout do Arduino Respeitar as particularidades de cada pino; Compensa?

Shields Shield Brao Robtico

Shields Shield Brao Robtico

Shields
Arduino Shield List:
http://shieldlist.org/

Color LCD Shield

GSM Shield

Joystick Shield

Bricks
So como blocos que possuem dispositivos de entrada e sada prontos para serem utilizados;
Sensores; Atuadores;

Conectam-se aos shields; Conexo padro; No h bricks oficiais;

Bricks

Bricks

Bricks
Excelentes para iniciantes;
compensa fabricar seus prprios bricks?

R$ 8,00

R$ 24,00

SOFTWARE

Ambiente de Desenvolvimento Integrado - IDE


Open-source;

Windows, Mac e Linux;

Ambiente de Desenvolvimento Integrado - IDE


Escrito em Java e baseado em:
Processing (interface grfica); avr-gcc (compilador); outros softwares de cdigo aberto;

Ambiente de Desenvolvimento Integrado - IDE


Facilita a programao;

Muitos exemplos, para todas as bibliotecas padro;

Ambiente de Desenvolvimento Integrado - IDE


Permite gravar o cdigo no microcontrolador; Permite a comunicao com o Arduino atravs da porta serial;
monitor da serial para troca de mensagens; facilita debug de hardware;

Ambiente de Desenvolvimento Integrado - IDE


Serial Monitor Gravar Compilar / Verificar

rea de Programao

rea de Informaes Modelo e Porta Serial

Ambiente de Desenvolvimento Integrado - IDE


SETUP Configuraes iniciais; O cdigo executado uma nica vez.

LOOP Equivale ao Main do C; while infinito;

Ambiente de Desenvolvimento Integrado - IDE

Ambiente de Desenvolvimento Integrado - IDE


http://arduino.cc/en/Reference/HomePage

Bibliotecas

Bibliotecas do usurio

Bibliotecas
http://arduino.cc/en/Reference/Libraries

Bibliotecas Criando Bibliotecas


Criar arquivo .h Definio da classe criada; Definio dos mtodos da classe; Criar arquivo .cpp Implementao dos mtodos

Bibliotecas Criando Bibliotecas


Adicionar na pasta libraries;
Pode ser adicionado keywords.txt Definio das keywords da biblioteca para facilitar a visualizao na IDE;

Compilao acontece automaticamente quando a IDE iniciada;

Bibliotecas Criando Bibliotecas

Bibliotecas Criando Bibliotecas


Ainda possvel adicionar uma pasta examples com exemplos de uso para a biblioteca criada; Os exemplos ficaro disponveis na aba de Examples na IDE do Arduino;

O Arduino e a Robtica

PERCEBER

CONTROLAR

AGIR

Sensores

Atuadores

Ambiente

O Arduino e a Robtica
Arduino fornece todos os requisitos bsicos; Robs simples;
Arduino possui restries quanto ao processamento de imagens, por exemplo;

O Arduino e a Robtica
Comunicao tambm facilitada;
Robs geralmente precisam se comunicar, receber comandos ou enviar informaes para outros robs ou estaes remotas de superviso e controle;

Arduino, Robtica e Automao


Alguns vdeos e exemplos de aplicao:
Rob manipulador:
Controlado por Joystick; Utilizando cinemtica inversa e resolvendo o problema das Torres de Hanoi;

Arduino, Robtica e Automao


Sistema separador de frutas automatizado; Medidor de Velocidade; Controle remoto para apresentao na 17 SACOMP;

Exemplo de Aplicao Controle Remoto para PC


Hardware necessrio:

Exemplo de Aplicao Controle Remoto para PC


Incluir as bibliotecas Atribuir um pino e criar o objeto receptor

Configurar a Serial e ativar a recepo pelo IR

Escrever o valor na Serial

Exemplo de Aplicao Controle Remoto para PC


Software auxiliar PC Remote Control
recepo dos comandos atravs da porta serial; Mapeamento para funes diversas;
Mouse; Teclado; Controle de volume; Execuo de programa;

Exemplo de Aplicao Controle Remoto para PC

Exemplo de Aplicao Brao Robtico com Joystick


Construdo modelo do brao;

Joystick
Montagem e teste;

Exemplo de Aplicao Brao Robtico com Joystick


7 servo-motores:
apresentam movimento proporcional a um comando; no giram livremente sem um controle mais efetivo de posio; so dispositivos de malha fechada;

Exemplo de Aplicao Brao Robtico com Joystick


Conexes compatveis com Shields;

Biblioteca padro Arduino;


basta informar o ngulo desejado;

Exemplo de Aplicao Brao Robtico com Joystick


Estrutura mecnica

Arduino e Shield

Botes para rotao Joystick para controle

Exemplo de Aplicao Brao Robtico com Joystick

Exemplo de Aplicao
Brao Robtico Torre de Hanoi

Exemplo de Aplicao
Brao Robtico Torre de Hanoi

Exemplo de Aplicao
Sistema Separador de Frutas
Controlar fluxo; Separar:
Frutas; No frutas; (descarte)

Encaixotar Jogar no lixo;

Exemplo de Aplicao
Sistema Separador de Frutas

Exemplo de Aplicao
Sistema Separador de Frutas

Exemplo de Aplicao Medidor de Velocidade


Velocmetro para:
carrinhos de Autorama; dispositivo de chute dos robs FURGBOL;

Exemplo de Aplicao Medidor de Velocidade

Como iniciar no Arduino e na Robtica


Escolher o modelo adequado Arduino Uno R3; http://arduino.cc/en/Main/Buy Google, mercadolivre.com;

Como iniciar no Arduino e na Robtica


Ferramentas adequadas; Ferro de solda; Multmetro; Alicates;
Componentes eletrnicos de bancada; Kit de desenvolvimento;

Kits de Desenvolvimento Arduino


No h kit oficial Arduino; Kits incluem (geralmente):
Algum modelo Arduino (Uno); Shields;
Sensor shield;

Bricks;
Botes, LEDs, sensores em geral;

Kits de Desenvolvimento Arduino


Kits incluem (geralmente):
Servo-motores; Protoboard; Cabos para conexo na protoboard; Componentes eletrnicos em geral;

Kits de Desenvolvimento Arduino

Kits de Desenvolvimento Arduino


Internacionais: variam entre $40,00 e $130,00; Nacionais: entre R$110,00 e R$165,00;

Kits de Desenvolvimento Arduino


Vale a pena pesquisar um pouco sobre o assunto e montar seu prprio Kit; possvel encontrar pacotes com componentes usados em lojas especializadas; Deve-se evitar o frete nas compras pela Internet;

Kits de Desenvolvimento Arduino


Valor: R$ 218,00

Kits de Desenvolvimento Arduino


Kit montado: 6 metros de cabos coloridos; Protoboard; Placa virgem; Potencimetro; Buzzer; Sensor de temperatura; 10 LEDs coloridos; 200+ resistores diversos; Conectores macho e femea p/ protoboard;

R$40,00 + Arduino <= R$150,00

Kits de Desenvolvimento Arduino

Dicas, Sites e Livros


http://arduino.cc/ http://www.arduinobooks.com/ Livros Pagos; PDF grtis: http://www.arduinobooks.com/cat egory/free-arduino-pdfs/

Dicas, Sites e Livros


Ingls, praticamente todas as boas fontes; Sites de componentes isentos de taxa de importao e frete grtis; http://www.dealextreme.com/ http://www.aliexpress.com/

Softwares Auxiliares
Simulator for Arduino
Simulao e teste de cdigo; Shareware, mas possui verso de testes (com limitaes de uso);

Softwares Auxiliares
Processing
Base da interface grfica da IDE Arduino; Como OpenGL ou Allegro, permite criar interface grfica para seus prprios programas no Arduino;

Softwares Auxiliares
Fritzing Desenho de projetos (no faz simulaes) Protoboard; Esquemtico; PCI layout;

Softwares Auxiliares
Permite imprimir desenhos para processo de confeco das placas; Possui uma vasta biblioteca de componentes eletrnicos, shields (oficiais e de outras marcas), CIs, entre outros;

Uma Introduo ao ARDUINO e suas Aplicaes na Robtica


Andr F. Nez afnunez@gmail.com

Obrigado! Perguntas?!