Você está na página 1de 64

Curso de

ARDUINO
Automação e Robótica
Aula 01
Prof. Ms. Cássio Agnaldo Onodera
Realização:
O que é ARDUINO

• Projeto criado na Itália por Mássimo


Banzi
• Seu objetivo é complementar o ensino de
programação, computação física e gráfica
• Possui um Hardware e um Software
Open-Source
Introdução
• Plataforma baseada no Atmel da AVR
(AtMega168, 328, 1280, 2560)
• Oferece um IDE e bibliotecas de alto nível
• Hardware e Software Open-Source
• Ampla comunidade
• Programado em C/C++
• Transferência de firmware
via USB
• MCU com Bootloader
Simplificidade
Características

• Utiliza microcontrolador AtMEGA 128, 328,


1280
• RISC
• 20 MIPS (milhões de instruções por
segundo)
• Memória flash: 16kb, 32kb, 128kb
• 14 portas digitais
• 6 portas analógicas
Diversas Aplicações
• Robôs
• Roupas eletrônicas
• Máquinas CNC de baixo custo
• Alarme de segurança
• Instrumentos musicais
• Casas inteligentes
• Controle de lâmpadas e outros dispositivos
elétricos pelo computador
• etc
Vários tipos e fabricantes

• Arduino 2009
• Arduino Mega
• Arduino Uno
• Arduino BT
• LilyPad
• Program-ME
• Severino
AtMega328 – O coração

• Características:
– Plataforma RISC
– 20 MIPS (Milhões de instruções por segundo)
– 32kb flash (2kb p/ bootloader)
– 1kb EEPROM
– Clock 16mhz
– 14 portas digitais (6 PWM)
– 6 portas analógicas
– Voltagem de entrada: 7 – 12v
Conexões
Estrutura
Estrutura
Estrutura
Estrutura
Shields (Módulos)

• Arquitetura modular inteligente


Shields (Módulos)

• Xbee (wireless) • Protoboard


• Motor control • Game/Joystick
• Bluetooth • GPS
• Acelerometro • Bússola
• Auto pilot
• Internet
• Memória SD
• Expansor de saídas • LCD Color
• Navigation (p/ robos) • Wave – (música)
• Detector de gás • etc
Porta AnalógicaxDigital
• Digital
– Trabalha com 0 e 1 na lógica binária
– Segue padrão TTL onde:
• De 0 à 0,8 volts = 0
• De 2 à 5 volts = 1
• Analógica
– Valor lido é análogo à tensão
– 0 volts = 0
– 2,5 volts = 512
– 5 volts = 1023
– Conversor A/D de 10 bits: 0 à 1023
Porta Analógica x Digital

• Portas analógicas expressam valores de 0


à 1023 mas não são utilizadas para
transferência de informações precisas
• As portas digitais permitem que dados
seja transferidos em sequência através de
uma lógica ou protocolo binário
• Portas digitais não conseguem comandar
potência
Porta PWM
• Uma porta híbrida:
digital porém com
modularização de
zeros e uns de
forma que
consegue
expressar uma
idéia de potência
Na prática
• Ligamos componentes em portas digitais
comuns, pwm ou analógica

• Fazemos leitura e escrita nestas portas afim


de obter um dado ou um determinado
comportamento

• Processamos os dados no microcontrolador

• Alguns exemplos de componentes...


LED
Sensor de temperatura
Sensor de luminosidade - LDR
Sensor de distância
Bússola
Shield LCD Touch Screen
Wave Shield (Música)
Xbee Shield (Com. sem fio)
Ethernet Shield (rede)
Gás Metano Shield
Game Shield
GPS Shield
Acelerômetro
Teclado
Onde comprar
• www.parallax.com
• www.sparkfun.com
• www.makershed.com
• www.liquidware.com
• www.ladyada.net
• www.adafruit.com
• www.robocore.net (Brasil)
• http://www.multilogica-shop.com (Brasil)
PROTOBOARD
Protoboard
• Uma matriz de contato, ou placa de
ensaio (ou protoboard,
ou breadboard em inglês) é uma placa com
furos e conexões condutoras para montagem de
circuitos elétricos experimentais. A grande
vantagem do protoboard na montagem
de circuitos eletrônicos é a facilidade de
inserção de componentes, uma vez que não
necessita soldagem. As placas variam de 800
furos até 6000 furos, tendo conexões verticais e
horizontais.
Protoboard
Protoboard
• Exemplos
Protoboard
• Esquema
Protoboard
• Esquema
PROGRAMAÇÃO
Programação
• IDE pode ser baixada de www.arduino.cc
• A IDE foi desenvolvida com Java (necessita
JVM )
• Funciona em Windows. Mac OS X e Linux
(pode precisar de driver)
• Utiliza GCC + GCC Avr para compilação
• A transferência para a placa é feita via USB
pelo IDE (mas também pode ser feita com
gravadores ICSP!)
Partes básicas do programa

• Dois métodos são obrigatórios:


void setup()
{
}
void loop()
{
}
• setup() : será executado uma única vez ao
ligar a placa
• loop() : será executado infinitamente
Portas digitais e analógicas

• Na prática ligamos componentes em


portas digitais e analógicas e através do
código Arduino, manipulamos as portas:
– pinMode(<porta>, <modo>)
– digitalWrite(<porta>, 0 ou 1)
– digitalRead(<porta>)
– analogRead(<porta>)
– analogWrite(<porta>, <valor>)
Portas digitais e analógicas

• pinMode(<porta>, <modo>)

– configura uma porta digital para ser lida ou


para enviarmos dados

– Exemplos:
pinMode(13,OUTPUT);
pinMode(11,INPUT);
Portas digitais e analógicas

• digitalWrite(<porta>, 0 ou 1)

– envia 0 ou 1 para porta digital

– Exemplos:
digitalWrite(11,1);
digitalWrite(11,0);
Portas digitais e analógicas

• digitalRead(<porta>)

– retorna um 0 ou 1 lido da porta

– Exemplo:
int x;
x = digitalRead(11);
Portas digitais e analógicas

• analogRead(<porta>)

– retorna de 0 a 1023 com o valor da porta


analógica

– Exemplo:
int luz = analogRead(0);
Portas digitais e analógicas

• analogWrite(<porta>, <valor>)

– escreve em uma porta PWM um valor de 0 a


255

– Exemplo
analogWrite(11,200);
ARDUINO IDE
ARDUINO IDE

• O Arduino IDE é uma Aplicação multiplataforma


escrita em Java na qual é derivada dos
projetos Processing e Wiring
• Esquematizado para introduzir a programação a
artistas e a pessoas não familiarizadas com o
desenvolvimento de software
• Inclui um editor de código com recursos de realce
de sintaxe,parênteses correspondentes e identação
automática, sendo capaz de compilar e carregar
programas para a placa com um único clique
• Não há a necessidade de editar Makefiles ou rodar
programas em ambientes de linha de comando
• Capacidade de programar em C/C++
ARDUINO IDE
LED
LED

• O diodo emissor de luz


• Conhecido pela sigla
LED (Light EmittingDiode)
• Sua funcionalidade básica é a
emissão de luz
• Voltagem:
– Red 1.6 V
– Green 2.1 V
– Yellow 2.1 V
– Orange 2.2 V
– Blue 4-5 V
Resistor
Resistor

• Um resistor é um dispositivo elétrico muito


utilizado em eletrônica, ora com a
finalidade de transformar energia
elétrica em energia térmica,ora com a
finalidade de limitar a quantidade de
corrente elétrica em um circuito
• Resistores são componentes que têm por
finalidade oferecer uma oposição à
passagem de corrente elétrica, através de
seu material. A essa oposição damos o
nome de resistência elétrica, que possui
como unidade ohm.
Resistor

• O valor de um resistor de carbono pode


ser facilmente identificado de acordo
com as cores que apresenta na cápsula
que envolve o material resistivo
Resistor
Resistor

• Identifique a resistência dos resistores


abaixo:
Experiência 1
Pisca LED
Experiência 1 – Pisca LED

• Materiais necessários:
– Arduino
– Protoboard
– Fios de conexão
– LED
– Resistor de 220 ohm

• Função:
– Fazer um LED piscar
Experiência 1 – Pisca LED

• Esquema:
Experiência 1 – Pisca LED

• Programa (exp01.pde) :
void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); //HIGH = 1 : LIGA LED
delay(500);
digitalWrite(13, LOW); //LOW = 0 : DESLIGA LED
delay(500);
}

• Substitua “delay(500)” por “delay(1000)”


Proposto 1 – Luz rítmica

• Altere o programa anterior para piscar


seguindo um ritmo. Por exemplo: rápido,
rápido, lento, lento

Você também pode gostar