Introdução ao Arduino

Vitor Fernandes

Baseado na apresentação de
Leandro M. Lima 22 abril de 2013
Introdução ao Arduino
O que veremos nessa apresentação:
O que é o Arduino.
Uso e interações.
Como programá-lo.
Hackerspaces.
Introdução ao Arduino

O que é o Arduino?
O Arduino é uma plataforma de
prototipagem eletrônica open-source
que se baseia em hardware e
software flexível e fácil de usar.
Seu hardware é baseado em um
microcontrolador Atmel AVR de 8-bit a
maioria dos modelos usam um
ATmega328 rodando a 16Mhz.
Introdução ao Arduino
Especificaçoes tecnicas:
Tamanho:

5,3cm x 6,8cm x 1,0cm

Microcontrolador: ATmega328
Tensão de operação: 5V
Memória Flash: 32KB (0,5KB são usados pelo bootloader)
SRAM: 2KB
EEPROM: 1KB
Velocidade de Clock: 16MHz
Temperatura de operação: de 10º a 60º

Por encrivel que pareça o ATMega328
tem quase o mesmo clock(16Mhz),desse
i386 da intel(20Mhz) muito usado nos
computadores pessoais da decada de 80,
inclusive esse é o processador principal
do Telescópio Espacial Hubble.
Introdução ao Arduino

Como ele se comunica?

Ele possui uma interface USB-Serial
embutida controlada pelo chip FTDI
Led Serial: 0 (RX) e 1 (TX). Usado para
indicar recebimento (RX) e transmissão
(TX) dados seriais via TTL.
Possui 14 pinos de I/O digitais, 4
entradas analogicas e 5 saidas
analogicas
Introdução ao Arduino

O que ele faz?
Recebe, Gera e Interpreta Dados.

O que eu posso fazer?
Controle/automação
residencial
Robótica
Gadgets
Quase tudo que sonhar esta
ferramenta pode tornar
realidade.
Introdução ao Arduino

Tipos de placas
Introdução ao Arduino

LilyPad Arduino

Arduino Mega- 126k (Flash Memory)
54 Pinos de I/O
Introdução ao Arduino

Arduino Pro

Arduino BT (Bluetooth)

Arduino Mini
Introdução ao Arduino

Arduino Yun
Arduino Nano V3
Arduino Leonardo
Introdução ao Arduino

O que são os Shields?
“Escudos”,são placas modulares,
extenções do arduino que
permitem interagir com
tecnologias diversas com
facilidade.

Ethernet shield
Xbee shield
Introdução ao Arduino
SD card shield

O que são os Shields?
“Escudos”,são placas modulares,
extenções do arduino que permitem
interagir com tecnologias diversas
com facilidade.

LCD shield

Motor shield
Introdução ao Arduino

Como usar as Shields?
• Basta conecta-los sobre o
Arduino quantos quiser*.
Introdução ao Arduino

Coisas importantes no
Arduino:
Saida com PWM(Pulse Width
Modulation):
Usa-se pinos: 3, 5, 6, 9, 10, e 11.
Função analogWrite()
Introdução ao Arduino

Como usar?
•Esta é a IDE .
•E os botões para comando.

Verify: Para Verificar se o
programa está sem erros.
Upload: Carrega o programa no
Microcontrolador.
Serial Monitor: Ativa a leitura
da porta serial. Mostra
valores.
Introdução ao Arduino
Introdução ao Arduino
Introdução ao Arduino

O Programa.
Escrito em C/C++ .
Funções especificas préprogramadas em bibliotecas
modulares.

Após compilar temos os dados na
tela preta abaixo:
Introdução ao Arduino

Estrutura básica de um firmware do Arduino
int main()
{
init();
setup();
While(1)
{
loop();
}
}

return 0;

Os métodos main e init ficam ocultos no propio bootloader, então nós só
devemos nos preocupar como programaremos os métodos setup e loop.
Introdução ao Arduino

Entendendo o Programa.

void loop()
{

delay(1000);

}

digitalWrite(ledPin, HIGH);

// Função onde tudo acontece. Chama-se Loop
//porque está executando repetidas vezes.
// Temos HIGH= LIGADO e LOW=DESLIGADO
// E o nome do pino é LedPIN, que é o mesmo Pino 13
// Atraso de 1 segundo

digitalWrite(ledPin, LOW);
delay(1000);

// Temos LOW=DESLIGADO
// Atraso de 1 segundo
Introdução ao Arduino

Entendendo o Programa.
O programa que vocês acabaram de
ver é o equivalente da eletrônica ao
nosso famoso “Hello World!”
Porem um pouco mais caro, ele faz
que o LED conectado no pino 13
pisque a cada 1 segundo, alternando
um segundo acesso e um segundo
apagado.
Introdução ao Arduino

Entendendo o Programa.
Funções digitais
Gera e recebe valores LIGADO(HIGH) e
DESLIGADO(LOW), alem do
comportamento do pino como
ENTRADA(INPUT) ou SAIDA(OUTPUT).
pinMode()
• Diz se o comportamento será INPUT
ou OUTPUT
digitalWrite()
• Gera HIGH ou LOW no pino
digitalRead()
• Recebe HIGH ou LOW do pino
Introdução ao Arduino

Entendendo o Programa.
Funções analógicas.
Gera e recebe valores de 0 a 1023.
Permitindo medir além do LIGADO e
DESLIGADO.
AnalogRead()
• Faz leitura do pino analógico. Valor
entre 0 a 1023
AnalogWrite()
• Gera valor analógico entre 0 e 1023.
Onda PWM.
Introdução ao Arduino

Comunicação serial.
É a forma de se comunicar o computador com Arduino em tempo real.
Serial.begin(9600);
Inicia a comunicção e ajusta velocidade em 9600 bits/s
Serial.println("TEXTO");
Envia para a porta serial uma string.
Introdução ao Arduino
Serial Monitor

void setup()
{
Serial.begin(9600);
Serial.println("Olá! Sou um Arduino!");
}
void loop()
{
}
Introdução ao Arduino
Serial Monitor

void setup()
// função de inicialização
{
Serial.begin(9600);
// inicia a serial port a 9600 bps
Serial.println("Olá! Sou um Arduino!"); //envia a string
}
void loop()
{
}

// loop main
// faz nada!
Introdução ao Arduino

Serial Monitor

void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("Olá! Sou um Arduino!");
delay(1000);
}
Introdução ao Arduino

Como eu compilo isso?
Conecte o USB ao PC e ao Arduino
É preciso indicar o modelo de arduino e
a porta USB que ele está conectado.
Vá em TOOLs > Board> “Modelo”
TOOLs > Serial PORT> “porta usada”
Introdução a Hackerspaces
Hackerspaces

Um hackerspace é um laboratório comunitário, aberto e colaborativo que propicia
a troca de conhecimento através de uma infraestrutura para que entusiastas de
tecnologia realizem projetos em diversas áreas, como eletrônica, software,
robótica, segurança, espaçomodelismo, biologia, culinária, audiovisual e artes ou o que mais a criatividade permitir.
Qualquer pessoa pode frequentar o Garoa gratuitamente, sendo associado ou
não.
Hackerspaces

http://www.google.com/imgres?client=firefoxa&rls=org.mozilla:ptBR:official&channel=fflb&biw=1920&bih=960&tb
m=isch&tbnid=a7LKhpY3Hecr5M:&imgrefurl=ht
tp://onibushacker.org/2011/12/02/primeiraviagem/&docid=e8iZnCBBtVV2QM&imgurl=http
://onibushacker.org/wpcontent/uploads/2011/12/MG_69221.jpg&w=12
00&h=800&ei=r90UqflH5bLsATD6oDIAw&zoom=1&ved=1t:358
8,r:8,s:0,i:101&iact=rc&page=1&tbnh=179&tbn
w=269&start=0&ndsp=41&tx=189&ty=77
Hackerspaces
Hackerspaces
Hackerspaces
Hackerspaces
Arduino & hackerspace

Referências:
Garoa Hacker Clube.
Adafruit. Disponível em <http://www.adafruit.com/>
Arduino.cc. Disponível em <www.arduino.cc/>
Banco de imagens google. Disponível em <www.google.com.br/imghp?hl=pt-BR&tab=wi/>
McRoberts, Michael. Beginning Arduino. Apress,EUA.
Oxer,Jonathan e Blemings, Hugh. Practical Arduino. Apress,EUA.

Introdução ao arduino palestra