Plataforma Arduino
Aula 2
Introdução, Arquitetura e Modelos
Prof. MSc. Diego R. Moraes
Introdução
n
Projeto iniciado na Itália em 2005
n
Idealizadores:
¨
Massimo Banzi e David Cuartielles
¨
Intuito de ensinar eletrônica e programação a
O que é o Arduino ?
n
Plataforma aberta de prototipação Eletrônica,
que
controla
entrada
de
dados
(como
sensores) e
saídas
de dados (como motores e
O que é o Arduino ?
n
Hardware
¨
(placa
controladora,
que
inclui
um
microcontrolador da ATMEL – linha ATMega)
n
Software
¨
(ambiente de desenvolvimento baseado em
C/C++)
Transmissão - Arduino ?
n
No
Arduino,
informações
ou
ordens
são
transmitidas
de
um
computador
para
a placa
através
de
Bluetooth,
Wireless, USB,
Software
n
É um compilador em C/C++ e sua
Por quê usar Arduino ?
n
é um projeto leve
n
tem baixo custo
n
Software em GPL (Licença Pública)
n
Hardware em Creative Comons (Licença Pública)
n
PWM:
Tratado como saída analógica, na verdade é uma saída digital que gera um sinal
alternado (0 e 1) onde o tempo que o pino fica em nível 1 (ligado) é controlado. É usado para
controlar velocidade de motores, ou gerar tensões com valores controlados pelo programa.
n
Porta Serial USART:
Podemos usar um pino para transmitir e um pino para receber dados no
formato serial assíncrono (USART). Podemos conectar um módulo de transmissão de dados
via bluetooth por exemplo e nos comunicarmos com o Arduino remotamente.
n
(rx recebe dados)
n(tx envia dados)
n
Comparador analógico:
Podemos usar dois pinos para comparar duas tensões externas,
sem precisar fazer um programa que leia essas tensões e as compare. Essa é uma forma
muito rápida de comparar tensões e é feita pelo hardware sem envolver programação.
n
Interrupção Externa:
Podemos programar um pino para avisar o software sobre
alguma mudança em seu estado. Podemos ligar um botão a esse pino, por exemplo, e cada
vez que alguém pressiona esse botão o programa rodando dentro da placa é desviado para
um bloco que você escolheu. Usado para detectar eventos externos à placa.
n
Porta SPI:
É um padrão de comunicação serial Síncrono, bem mais rápido que a USART. É
nessa porta que conectamos cartões de memória (SD) e muitas outras coisas.
Arduino Uno
n
Indicado para “iniciantes”
Microcontrolador ATmega328 Tensão de operação 5V
Tensão de entrada 7-12V Tensão de saída 6-20V
Pinos Digitais (Entrada/Saída) 14 (6 pinos PWM) Pinos Analógicos (Entrada) 6
Corrente para Entrada/Saída 40 mA Corrente do pino 3.3v 50 mA
Memória Flash 32 KB (ATmega328) 0.5 usado pelo bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Arduino Uno
Entrad as e sa ídas d ig ita is
C o n v e r s
o r
S e r i a l
Pinos d e a
li
m enta çã o
5V - 3 3V e Terra
(0V)
Entradas Analógicas
ou saídas digitais
Microcontroller AT91SAM3X8E
Operating Voltage 3.3V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-16V
Digital I/O Pins 54 (of which 12 provide PWM output)
Analog Input Pins 12
Analog Outputs Pins 2 (DAC) Total DC Output Current on all I/O lines 130 mA
DC Current for 3.3V Pin 800 mA
DC Current for 5V Pin 800 mA
Flash Memory 512 KB all available for the user applications
SRAM 96 KB (two banks: 64KB and 32KB)
Arduino Due
n
Baseado em ARM Cortex M3
Microcontrolador ATmega32u4 Tensão de operação 5V
Tensão de entrada 7-12V Tensão de saída 6-20V Pinos Digitais (Entrada/Saída) 20 Pinos PWM 7 Pinos Analógicos (Entrada) 12 Corrente para Entrada/Saída 40 mA Corrente do pino 3.3v 50 mA
Memória Flash 32 KB (ATmega32u4) com 4 KB usado pelo bootloader
SRAM 2.5 KB (ATmega32u4) EEPROM 1 KB (ATmega32u4) Velocidade do Clock 16 MHz
Arduino Leonardo
n
Com este microcontrolador é possível manipular o teclado e
Microcontrolador ATmega2560 Tensão de operação 5V
Tensão de entrada 7-12V Tensão de saída 6-20V
Pinos Digitais (Entrada/Saída) 54 (15 pinos PWM) Pinos Analógicos (Entrada) 16
Corrente para Entrada/Saída 40 mA Corrente do pino 3.3v 50 mA
Memória Flash 256 KB, 8k usado pelo bootloader
SRAM 8 KB
EEPROM 4 KB Velocidade do Clock 16 MHz
Arduino Mega 2560
n
É aconselhável para projetos em que necessitam mais memória
Microcontroller ATmega2560 Operating Voltage 5V
Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 15 provide PWM output) Analog Input Pins 16
DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz USB Host Chip MAX3421E
Arduino Mega ADK
n
A sua interface USB permite conexões com telefones, baseado
Microcontroller ATmega32u4 Operating Voltage 5V
Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 20 PWM Channels 7 Analog Input Channels 12 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM 2.5 KB (ATmega32u4) EEPROM 1 KB (ATmega32u4) Clock Speed 16 MHz
Arduino Micro
Microcontroller ATmega328 Operating Voltage 5V
Input Voltage 7-9 V
Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 8 (of which 4 are broken out onto
pins) DC Current per I/O Pin 40 mA
Flash Memory 32 KB (of which 2 KB used by bootloader)
SRAM 2 KB
EEPROM 1 KB Clock Speed 16 MHz Length 30 mm
Width 18 mm
Arduino Mini
Microcontroller Atmel ATmega168 or ATmega328 Operating Voltage (logic level) 5 V
Input Voltage (recommended) 7-12 V Input Voltage (limits) 6-20 V
Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 8
DC Current per I/O Pin 40 mA
Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328) Clock Speed 16 MHz
Dimensions 0.73" x 1.70"
Arduino Nano
Microcontroller ATmega328 Operating Voltage 5V
Input Voltage Plug (recommended) 7-12V Input Voltage Plug (limits) 6-20V Input Voltage PoE (limits) 36-57V
Digital I/O Pins 14 (of which 4 provide PWM output) Arduino Pins reserved:
10 to 13 used for SPI 4 used for SD card
2 W5100 interrupt (when bridged) 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
W5100 TCP/IP Embedded Ethernet Controller Power Over Ethernet ready Magnetic Jack Micro SD card, with active voltage translators
Possui uma série de
sensores e botões
prontos para o uso.
Microcontroller ATmega32u4 Operating Voltage 5V
Flash Memory 32 KB of which 4 KB used by bootloader
SRAM 2.5 KB
EEPROM 1 KB
Clock Speed 16 MHz
Microcontroller ATmega328 Operating Voltage 5V
Input Voltage 2.5-12 V
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 500 mA (with a 1.5A capable power source) DC Current for 5V Pin 1000 mA (with a 1.5A capable power source) Flash Memory 32 KB (of which 2 KB used by bootloader) SRAM 2 KB
EEPROM 1 KB Clock Speed 16 MHz
BT Module 2.1 WT11i-A-AI4
Microcontroller ATmega328P Operating Voltage 3.3V
Input Voltage 3.35 -12 V Input Voltage for Charge 3.7 - 7 V
Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 8
DC Current per I/O Pin 40 mA
Flash Memory 32 KB (of which 2 KB used by bootloader)
SRAM 2 KB
EEPROM 1 KB
Clock Speed 8 MHz
Arduino Fio
Arduino Pro (168 ou 328)
n
Destinado
para
instalação
semi
permamente,
permitindo flexibilidade.
Microcontroller ATmega168 or ATmega328 Operating Voltage 3.3V or 5V
Input Voltage 3.35 -12 V (3.3V versions) or 5 - 12 V (5V versions)
Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6
DC Current per I/O Pin 40 mA
Flash Memory 16 KB (ATmega168) or 32KB (ATmega328) of which 2 KB used by bootloader
SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
Microcontroller ATmega168
Operating Voltage 3.3V or 5V (depending on model)
Input Voltage 3.35 -12 V (3.3V model) or 5 - 12 V (5V model) Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 8
DC Current per I/O Pin 40 mA
Flash Memory 16 KB (of which 2 KB used by bootloader) SRAM 1 KB
EEPROM 512 bytes
Clock Speed 8 MHz (3.3V model) or 16 MHz (5V model)
Arduino Pro Mini
Arduino LilyPad
n
Desenvolvida para vestimentas e tecidos inteligentes. Ele pode ser
costurado diretamente sobre tecido e de modo similar
ser
conectado
com
fontes
de
alimentação, sensores e atuadores com linha
condutiva.
Microcontroller
ATmega168V or ATmega328V
Operating Voltage
2.7-5.5 V
Input Voltage
2.7-5.5 V
Digital I/O Pins
14 (of which 6 provide PWM output)
Analog Input Pins
6
DC Current per I/O Pin
40 mA
Flash Memory
16 KB (of which 2 KB used by
bootloader)
SRAM
1 KB
EEPROM
512 bytes
Arduino LilyPad USB
Microcontroller ATmega32u4 Operating Voltage 3.3V
Input Voltage 3.8V to 5V Digital I/O Pins 9
PWM Channels 4 Analog Input Channels 4
DC Current per I/O Pin 40 mA
Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
Produtos Arduino:
n
http://arduino.cc/en/Main/Products
n
http://arduino.cc/en/Products.Compare
Conclusão
n
A utilização do Arduino pode ser à nível
doméstico,
comercial
e
industrial,
incluindo as aplicações sem fio.
n
Existem diversos tipos de plataformas de
Arduino,
cada
uma
indicada
para
a
Referências Bibliográficas
n
JORDÃO,
F.
Arduino:
a
plataforma
open
source
que
vai
automatizar
a
sua
vida.
Tecmundo. Disponível em:
<http://www.tecmundo.com.br/android/10098-arduino-a-
plataforma-open-source-que-vai-automatizar-a-sua-vida.htm>. Acesso em 25 de setembro
de 2014.
n
LEMOS, M.
Arduino: conheça esta plataforma de hardware livre e suas aplicações.
iMasters.
Disponível
em:
<http://imasters.com.br/desenvolvimento/arduino-conheca-esta-plataforma-de-hardware-livre-e-suas-aplicacoes/>. Acesso em 25 de setembro de 2014.
n
MASSIMO, Banzi.
Primeiros passos com o Arduino.
1.ed. São Paulo. Novatec, 2011.
n
SOARES, K
. O que é um Arduino e o que pode ser feito com ele
. Tecmundo. Disponível
em:
<http://www.techtudo.com.br/noticias/noticia/2013/10/o-que-e-um-arduino-e-o-que-pode-
ser-feito-com-ele.html>. Acesso em 26 de setembro de 2014.
Plataforma Arduino
Aula 2
Instalação e Configuração
Instalação
n
O software de instalação do Arduino é open-source e contém,
além do driver da placa, a IDE para conexão com a placa,
escrita dos códigos, compilação e upload deles do computador
para o Arduino de uma maneira bem simples.
n
Esta IDE foi desenvolvida em JAVA e roda em Windows, Mac
Download
n
O software de instalação do Arduino pode ser baixado de
diversos sites, mas o mais indicado é baixar no site oficial do
Arduino:
¨
http://arduino.cc/en/main/software
n
Versões anteriores do software:
Download
n
A versão 1.8.1 para Windows pode ser baixada através de
Windows Installer
(89,4MB),
mais fácil de ser instalada para
usuários iniciantes
, ou na versão compactada (ZIP 158 MB).
n
Em ambas as versões, basta clicar no link indicado para fazer o
Instalação
n
Windows Installer (89,4MB MB).
¨
Basta
executar o arquivo baixado
e seguir as opções indicadas no
instalador.
¨
Terminada a instalação será criado um ícone na área de trabalho e o
Instalação
n
Compactada (ZIP).
¨
Basta descompactar o arquivo em uma pasta qualquer. Após isto você
Instalação do Driver
n
Em geral, ao se instalar o software através do pacote Windows
Instalação do Driver
n
Para fazer a
instalação manual do driver
, basta conectar o
Utilizando a IDE
n
Para iniciar a utilização da IDE basta
conectar o Arduino ao
computador através do cabo USB
e abrir o Software.
n
Ele estabelecerá a conexão com o Arduino automaticamente
IDE Arduino – Estrutura do Código
Usado para configurações
Pois ao ligar roda apenas 1x
Usado para toda a programação
Pois ao ligar, fica em loop,
executando repetidamente o código
IDE Arduino – Estrutura do Código
Usado para configurações
Pois ao ligar roda apenas 1x
Usado para toda a programação
Pois ao ligar, fica em loop,
executando repetidamente o código
Boa prática
Primeiro Exemplo
n
LED Blink:
n
Este é o exemplo mais simples a ser feito com o Arduino pois
só necessita do próprio Arduino e de seu Cabo USB.
¨
O Arduino tem um
LED ligado à porta 13
que pode ser controlado via
LED Blink Código
#define LED 13
//Define a constante LED com valor 13
void setup()
{
pinMode(LED, OUTPUT);
//Define o pino 13(LED) como saída
}
void loop()
{
digitalWrite(LED, HIGH);
//Liga o LED
delay(2000);
//Aguarda 1 segundo
digitalWrite(LED, LOW);
//Apaga o LED
Compilando e Enviando o Código à Placa
n
Após a digitação do código podemos salvá-lo através do
menu ou do botão salvar da barra de ferramentas e
testar se o código está correto através do
botão
Compilar, ou Verify.
n
Estando o código sem erros, podemos
enviar o código
Porta COM
n
No
caso
deste
Exemplo,
o
Arduino
Alterar a Porta COM
n
Algumas vezes a IDE vem pré-definida com o Arduino
ligado à porta de comunicação COM1 e nem sempre o
Sistema Operacional instala o Arduino nesta porta.
n
Para alterar a porta, basta entrar no menu
¨
Ferramentas (Tools)
¨
opção Porta Serial (Serial Port)
Referências Bibliográficas
n
JORDÃO,
F.
Arduino:
a
plataforma
open
source
que
vai
automatizar
a
sua
vida.
Tecmundo. Disponível em:
<http://www.tecmundo.com.br/android/10098-arduino-a-
plataforma-open-source-que-vai-automatizar-a-sua-vida.htm>. Acesso em 25 de setembro
de 2014.
n
LEMOS, M.
Arduino: conheça esta plataforma de hardware livre e suas aplicações.
iMasters.
Disponível
em:
<http://imasters.com.br/desenvolvimento/arduino-conheca-esta-plataforma-de-hardware-livre-e-suas-aplicacoes/>. Acesso em 25 de setembro de 2014.
n
MASSIMO, Banzi.
Primeiros passos com o Arduino.
1.ed. São Paulo. Novatec, 2011.
n
SOARES, K
. O que é um Arduino e o que pode ser feito com ele
. Tecmundo. Disponível
em:
<http://www.techtudo.com.br/noticias/noticia/2013/10/o-que-e-um-arduino-e-o-que-pode-
ser-feito-com-ele.html>. Acesso em 26 de setembro de 2014.
n