Upload
others
View
27
Download
1
Embed Size (px)
Citation preview
O que é Arduino?
“Arduino é uma plataforma open-source de protótipos eletrônicos baseados em hardware e software flexível e fácil 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 programação própria;
• Ambiente de desenvolvimento próprio;
• Fabricado manualmente ou comprado;
A origem do Arduino
• Cidade de Ivrea, Itália;
– 2005;
• Interagir em projetos escolares de forma a ter um orçamento menor que outros sistemas de prototipagem disponíveis naquela época;
Criadores do Arduino
• Time de suporte Arduino:
– Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis.
Sucesso rápido
• Menção honrosa na categoria Comunidades Digitais em 2006, pela Prix Ars Electronica (Prêmio de Artes Eletrônicas);
• 50.000 placas vendidas até outubro de 2008;
Colaboradores Arduino
• Créditos
– Ambiente;
– Linguagem;
– Compilador;
– Pessoas de várias 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
• Laboratório:
– http://labs.arduino.cc/
Por que Arduino?
• Cafeteira avisar através do Twitter que o café está pronto?
• Robô que brinca com o cachorro?
• Monitor de frequência cardíaca que grava o log em um cartão SD?
• Receber SMS no celular ao receber um e-mail?
• Fantasia que interage através de som e luzes?
Solução: ARDUINO
Por que Arduino?
• Descomplicado
– não foi feito por Engenheiros para Engenheiros;
• IDE roda em Windows, Mac e Linux;
• Drivers rodam em Windows, Mac e Linux;
Por que Arduino?
• Compilador conhecido e bem testado
– execução leve e rápida ;
– código pequeno;
• Cobre 90%+ dos sensores do mercado
• Não é produzido por um fabricante de microcontroladores;
Por que Arduino?
• Possui os requisitos mínimos
– mas funcionalidades podem ser adicionadas;
BeagleBoard Arm-cm3 Board
HARDWARE Portas Digitais
Portas Analógicas
Alimentação
Conexão p/
Fonte Externa Conexão USB
uC Atmel
Hardware básico Portas Analógicas
• 6 portas analógicas;
• Leitura de 0 ~ 5V
– 10 bits de conversão (2^10);
– saída de 0 a 1023;
Hardware básico Portas PWM
• Pulse Width Modulation
– Modulação por Largura de Pulso;
• 6 portas PWM;
• “Simula” uma tensão de saída
Hardware básico Comunicação
• Canal de comunicação serial
– RX (pino 0);
– TX (pino 1);
• Conexão SPI
– System Peripheral Interface;
Hardware básico Comunicação
• Conexão I²C
– Inter-Integrated Circuit;
• Pinos ICSP
– In-Circuit Serial Programming;
Placas Oficiais Arduino Arduino Uno
• 1.0 - Versão oficial de lançamento
– Diecimila;
– Duemilanove;
Placas Oficiais Arduino Arduino Uno
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Placas Oficiais Arduino Arduino Mega 2560
• 54 portas E/S
– 14 PWM;
• 16 entradas analógicas;
• 4 UARTS
Placas Oficiais Arduino Arduino Mega ADK
• Mesmas funcionalidades do Mega 2560;
• Conexão USB especial para comunicação com Android;
Placas Oficiais Arduino Arduino Ethernet
• Funcionalidades do Arduino Uno;
• Conexão RJ-45
– Reduz alguns pinos;
• Leitor de cartões microSD;
Placas Oficiais Arduino Arduino BT
• Funcionalidades do Arduino UNO;
• Placa de comunicação Bluetooth embutida
– Bluegiga WT11
– Permite gravar gravar o microcontrolador
Placas Oficiais Arduino Arduino Leonardo
• 20 pinos E/S;
– 7 PWMs;
• 12 entradas analógicas;
• USB embutida no chip;
Placas Oficiais Arduino Arduino LilyPad
• Versões de baixo consumo dos controladores padrão
– ATmega168V e ATmega328V;
• Feito para ser costurado;
Placas Oficiais Arduino Arduino Fio
• Microcontrolador SMD;
• 3.3V;
• Funcionalidades Arduino UNO;
• Conexão para placa Xbee;
Placas Oficiais Arduino Arduino Nano
• Layout diferenciado;
• Compatível 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 são placas que podem ser conectados em cima do PCB Arduino estendendo as suas capacidades.
• Os Shields seguem a mesma filosofia Arduino:
– são fáceis de montar e baratos de produzir;
Shields Arduino Proto Shield
• Testar circuitos rapidamente;
• Acoplar protoboard pequena;
• Botão de reset;
• Área p/ CI
– SMD
– Through Hole
Shields Arduino Motor Shield
• Ponte-H L298 embutido;
• Controlar velocidade e direção de motores DC;
• Leitura da corrente;
Shields Criando seu próprio Shield • Respeitar o layout do Arduino
• Respeitar as particularidades de cada pino;
• Compensa?
Bricks
• São como blocos que possuem dispositivos de entrada e saída prontos para serem utilizados;
– Sensores;
– Atuadores;
• Conectam-se aos shields;
• Conexão padrão;
• Não há bricks oficiais;
Ambiente de Desenvolvimento Integrado - IDE
• Escrito em Java e baseado em:
– Processing (interface gráfica);
– avr-gcc (compilador);
– outros softwares de código aberto;
Ambiente de Desenvolvimento Integrado - IDE
• Facilita a programação;
• Muitos exemplos, para todas as bibliotecas padrão;
Ambiente de Desenvolvimento Integrado - IDE
• Permite gravar o código no microcontrolador;
• Permite a comunicação com o Arduino através da porta serial;
– monitor da serial para troca de mensagens;
– facilita debug de hardware;
Ambiente de Desenvolvimento Integrado - IDE
Serial Monitor
Compilar / Verificar
Gravar
Área de
Programação
Área de Informações
Modelo e Porta
Serial
Ambiente de Desenvolvimento Integrado - IDE
SETUP
• Configurações iniciais;
• O código é executado
uma única vez.
LOOP
• Equivale ao Main do C;
• while infinito;
Bibliotecas Criando Bibliotecas
• Criar arquivo .h
– Definição da classe criada;
– Definição dos métodos da classe;
• Criar arquivo .cpp
– Implementação dos métodos
Bibliotecas Criando Bibliotecas
• Adicionar na pasta “libraries”;
• Pode ser adicionado “keywords.txt”
– Definição das keywords da biblioteca para facilitar a visualização na IDE;
• Compilação acontece automaticamente quando a IDE é iniciada;
Bibliotecas Criando Bibliotecas
• Ainda é possível adicionar uma pasta “examples” com exemplos de uso para a biblioteca criada;
• Os exemplos ficarão disponíveis na aba de Examples na IDE do Arduino;
O Arduino e a Robótica
• Arduino fornece todos os requisitos básicos;
• Robôs simples;
– Arduino possui restrições quanto ao processamento de imagens, por exemplo;
O Arduino e a Robótica
• Comunicação também é facilitada;
– Robôs geralmente precisam se comunicar, receber comandos ou enviar informações para outros robôs ou estações remotas de supervisão e controle;
Arduino, Robótica e Automação
Alguns vídeos e exemplos de aplicação:
• Robô manipulador:
– Controlado por Joystick;
– Utilizando cinemática inversa e resolvendo o problema das Torres de Hanoi;
Arduino, Robótica e Automação
• Sistema separador de frutas automatizado;
• Medidor de Velocidade;
• Controle remoto para apresentação na 17ª SACOMP;
Exemplo de Aplicação Controle Remoto para PC
Incluir as bibliotecas
Atribuir um pino e
criar o objeto receptor
Configurar a Serial
e ativar a recepção
pelo IR
Escrever o valor
na Serial
Exemplo de Aplicação Controle Remoto para PC
• Software auxiliar PC Remote Control
– recepção dos comandos através da porta serial;
– Mapeamento para funções diversas;
• Mouse;
• Teclado;
• Controle de volume;
• Execução de programa;
Exemplo de Aplicação Braço Robótico com Joystick
• Construído modelo
do braço;
• Joystick
– Montagem e teste;
Exemplo de Aplicação Braço Robótico com Joystick
• 7 servo-motores:
– apresentam movimento proporcional a um comando;
– não giram livremente sem um controle mais efetivo de posição;
– são dispositivos de malha fechada;
Exemplo de Aplicação Braço Robótico com Joystick
• Conexões compatíveis com Shields;
• Biblioteca padrão Arduino;
– basta informar o ângulo desejado;
Exemplo de Aplicação Braço Robótico com Joystick
Estrutura mecânica
Arduino e Shield
Botões para rotação
Joystick para controle
Exemplo de Aplicação Sistema Separador de Frutas
• Controlar fluxo;
• Separar:
– Frutas;
– Não frutas;
(descarte)
• Encaixotar
• Jogar no lixo;
Exemplo de Aplicação Medidor de Velocidade
• Velocímetro para:
– carrinhos de Autorama;
– dispositivo de chute dos robôs FURGBOL;
Como iniciar no Arduino e na Robótica
• Escolher o modelo adequado
– Arduino Uno R3;
– http://arduino.cc/en/Main/Buy
– Google, mercadolivre.com;
Como iniciar no Arduino e na Robótica
• Ferramentas adequadas;
– Ferro de solda;
– Multímetro;
– Alicates;
• Componentes eletrônicos de bancada;
• Kit de desenvolvimento;
Kits de Desenvolvimento Arduino
• Não há kit oficial Arduino;
• Kits incluem (geralmente):
– Algum modelo Arduino (Uno);
– Shields;
• Sensor shield;
– Bricks;
• Botões, LEDs, sensores em geral;
Kits de Desenvolvimento Arduino
• Kits incluem (geralmente):
– Servo-motores;
– Protoboard;
– Cabos para conexão na protoboard;
– Componentes eletrônicos em geral;
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 próprio Kit;
• É possível encontrar pacotes com componentes usados em lojas especializadas;
• Deve-se evitar o frete nas compras pela Internet;
Kits de Desenvolvimento Arduino
R$40,00 + Arduino <= R$150,00
Kit montado:
• 6 metros de cabos
coloridos;
• Protoboard;
• Placa virgem;
• Potenciômetro;
• Buzzer;
•Sensor de temperatura;
• 10 LEDs coloridos;
• 200+ resistores
diversos;
• Conectores macho e
femea p/ protoboard;
Dicas, Sites e Livros
• http://arduino.cc/
• http://www.arduinobooks.com/
– Livros Pagos;
–PDF grátis:
• http://www.arduinobooks.com/category/free-arduino-pdfs/
Dicas, Sites e Livros
• Inglês, praticamente todas as boas fontes;
• Sites de componentes isentos de taxa de importação e frete grátis;
–http://www.dealextreme.com/
–http://www.aliexpress.com/
Softwares Auxiliares
• Simulator for Arduino
– Simulação e teste de código;
– Shareware, mas possui versão de testes (com limitações de uso);
Softwares Auxiliares
• Processing
– Base da interface gráfica da IDE Arduino;
– Como OpenGL ou Allegro, permite criar interface gráfica para seus próprios programas no Arduino;
Softwares Auxiliares
• Fritzing
–Desenho de projetos (não faz simulações)
• Protoboard;
• Esquemático;
• PCI layout;
Softwares Auxiliares
–Permite imprimir desenhos para processo de confecção das placas;
–Possui uma vasta biblioteca de componentes eletrônicos, shields (oficiais e de outras marcas), CIs, entre outros;
Uma Introdução ao ARDUINO e suas Aplicações na Robótica
André F. Núñez
Obrigado!
Perguntas?!