Escolar Documentos
Profissional Documentos
Cultura Documentos
A PLATAFORMA
ABERTA DE
HARDWARE
ARDUINO 1
Professor
Paulo Alexandre S. C. da
Fonseca
Tecnólogo em Eletrônica
Apresentando o Arduino
Mestre em Ciência da
Computação
ARDUINO 2
Sumário
• Computação Física
• Sistemas Embarcados
• Microcontroladores
• Plataforma de prototipação Arduino
– História do Arduino
– Porque usar o Arduino
– O que eu consigo fazer?
– O que é um Arduino?
Apresentando o Arduino
– Arduino Shields
– Software do Arduino
– KIT Arduino
– Projetos simples
• Referências
ARDUINO 3
Computação Física
O que é Computação Física ?
“Physical computing is about creating a conversation
between the physical world and the virtual world of
the computer.” – Igoe
Utilização de sensores, atuadores e
microcontroladores;
Interligar o mundo físico com o mundo
virtual.
Perceber e responder a eventos no mundo
Apresentando o Arduino
ARDUINO 4
Computação Física
Como os computadores nos veem ?
Saída: interação
com teclado e
mouse;
Entrada: interação
com o monitor;
Entrada: interação
Apresentando o Arduino
com caixas de
som.
ARDUINO 6
Sistemas embarcados
Apresentando o Arduino
ARDUINO 7
Sistemas embarcados
Apresentando o Arduino
ARDUINO 8
Microcontroladores
• Componentes que formam um
microcomputador agrupados em um
único chip de silício.
• Dos 9 bilhões de processadores
fabricados em 2005, menos de 2%
foram para PCs. Os outros 8,8 bilhões
foram para sistemas embarcados;
Apresentando o Arduino
ARDUINO 9
Microcontroladores
• Formam a ponte entre hardware e
software;
• Dispositivos discretos que podem
interagir com os diversos componentes
de um circuito;
• Podem variar em 8-bit, 16-bit ou 32-
bit, o que se refere ao tamanho dos
Apresentando o Arduino
registradores internos e do
acumulador.
ARDUINO 10
Microcontroladores
Apresentando o Arduino
ARDUINO 11
Microcontroladores
Apresentando o Arduino
ARDUINO 12
Plataforma Arduino
● O que é o Arduino : “Projeto opensource que consiste em
hardware e software.” - Schimidt;
● Inicialmente criado para designers e artistas como
plataforma de prototipação para os cursos de design de
interação.
● Atualmente utilizada como plataforma de prototipação por
amadores e especialistas em todo o mundo.
Concebida para ser fácil de usar por iniciantes que possuem
pouca experiência com software e eletrônica;
● A combinação do hardware e do software permite
Apresentando o Arduino
ARDUINO 13
História do Arduino
O Arduino surgiu em 2005, na Itália, com o
Professor Massimo Banzi, que queria ensinar
eletrônica e programação de computadores a
alunos de design. Porém, ensinar eletrônica e
programação para pessoas que não são da área
não era uma tarefa simples.
Foi pensando nisso que Massimo e David
Cuartielles decidiram criar sua placa própria, com a
ajuda do aluno David Mellis, que criou a linguagem
Apresentando o Arduino
ARDUINO 14
Por que usar Arduino?
• Baixo custo;
• Software para várias plataformas;
• Linguagem simples fácil de usar para iniciantes
e flexível o bastante para usuários avançados;
• Software livre;
• Web site oficial do Arduino;
• Código e exemplos são compartilhados
livremente;
Apresentando o Arduino
ARDUINO 15
O que eu consigo fazer ?
• Ler valores provenientes de
sensores:
Digitais, Analógicos, Acelerômetros,
Potenciômetros, Ultra-sons, LDR,
etc.
Apresentando o Arduino
ARDUINO 18
Apresentando o Arduino
ARDUINO
168 / 328
19
Apresentando o Arduino
ARDUINO
20
Diagrama em Blocos Uno
Apresentando o Arduino
ARDUINO 21
Apresentando o Arduino
ARDUINO
22
Apresentando o Arduino
ARDUINO
23
Digital Input/Output Pins
Pins with ~ are PWM
[Analog Output] Transmitter/Receiver
GND Serial Connection
7-12 v 3v 5v
Analog Input Pins
ARDUINO 24
Arduino UNO
Entradas e saídas digitais (I/O) 14 (6 com saída PWM)
Entradas analógicas 6
Clock de operação 16MHz
Processador Atmega328 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
4 timers de 16 bits
USB)
Corrente DC máxima por pino de 40mA
I/O
Memória Flash 32kB (armazenar código)
Memória SRAM 2kB (rodar programa)
Memória EEPROM 1 kB (gravar dados)
ARDUINO 25
Apresentando o Arduino
ARDUINO
Arduino Mega
26
Arduino MEGA
Entradas e saídas digitais (I/O) 54 (15 com saída PWM)
Entradas analógicas 16
Clock de operação 16MHz
Processador Atmega2560 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação Gravação via USB;
4 portas RS-232
Alimentação recomendada 7-12V (pode ser alimentado pela
Apresentando o Arduino
USB)
Corrente DC máxima por pino de 40mA
I/O
Memória Flash 256kB (armazenar código)
Memória SRAM 8kB (rodar programa)
Memória EEPROM 4kB (gravar dados)
ARDUINO 27
Apresentando o Arduino
ARDUINO
Arduino Mini
28
Arduino MINI
Entradas e saídas digitais (I/O) 14 (6 com saída PWM)
Entradas analógicas 8
Clock de operação 16MHz
Processador Atmega168 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação Gravação via RS-232
Alimentação recomendada 7-9V (pode ser alimentado pela
USB)
Apresentando o Arduino
ARDUINO 29
Apresentando o Arduino
ARDUINO
Arduino Nano
30
Arduino NANO
ARDUINO 32
Arduino Lilypad
Entradas e saídas digitais (I/O) 14 (6 com saída PWM)
Entradas analógicas 6
Clock de operação 16MHz
Processador Atmega328 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação USB e RS-232
Alimentação recomendada 7-12V (pode ser alimentado pela
USB)
Apresentando o Arduino
ARDUINO 33
Memória Flash
• Memória do tipo EEPROM, re-
gravável que, ao contrário de uma
memória RAM convencional,
preserva o seu conteúdo sem a
necessidade de fonte de
alimentação.
• Armazena o código do programa
que gravamos no Arduino, assim ao
Apresentando o Arduino
ARDUINO 37
Arduino Shields
• O conceito de shields permite
empilhar placas com diferentes
funcionalidades.
• Dá flexibilidade ao Arduino para se
adequar a diferentes projetos de
forma rápida, basta comprar o
shield desejado e empilhar.
• Não encontrou um shield?! Você
Apresentando o Arduino
Controle de Motor
Ponte H – 1A
Controle de Motor
Ponte H – 2A
ARDUINO 39
Arduino Shields
Display de 7 segmentos
Apresentando o Arduino
Display colorido
Display 16x2
ARDUINO 40
Arduino Shields
Apresentando o Arduino
GameDuino
Saida VGA
Audio Stereo
joystick
ARDUINO 41
Arduino Shields
Apresentando o Arduino
Ethernet
Wi-Fi
ARDUINO 42
Arduino Shields
Apresentando o Arduino
microSD
SDCard
ARDUINO 43
Arduino Shields
Apresentando o Arduino
ARDUINO 44
Apresentando o Arduino
ARDUINO
Software
45
Software
• O microcontrolador pode ser
programado utilizando a
linguagem de programação C
para Arduino.
•O desenvolvimento dos
aplicativos é feito no ambiente de
Apresentando o Arduino
programação do próprio do
Arduino.
ARDUINO 46
Estrutura
void setup()
{
Código aqui dentro executa uma vez
}
void loop()
{
Apresentando o Arduino
void loop()
{
digitalWrite(13, HIGH); // coloca saída 13 em
Apresentando o Arduino
nível alto
delay(1000); // aguarda 1 segundo
digitalWrite(13, LOW);
delay(1000);
}
ARDUINO 48
Comentários
// comentários começam com 2
barras por linha
/* as vezes comentários
podem aparecer assim, com
Apresentando o Arduino
ARDUINO 49
Outras regras
Sensível à Caixa : LETRAS MAIÚSCULAS são
diferentes de minúsculas
ARDUINO 50
Funções básicas
• pinMode (10, INPUT); // define 10 como entrada
• pinMode (13, OUTPUT); // define 13 como saída
• pinMode (2, INPUT_PULLUP); /* define pino 2
entrada e habilita resistor interno */
ARDUINO 51
Variáveis
• Tipo – Caixa do tamanho certo é como uma
variável do tipo certo
• Escopo – Depende de onde a variável foi
declarada, variável não Existe fora do
escopo.
• char ‘A’
• byte 0 ~ 255
• int -32.768 ~ 32.768
• string “ vários caracteres “
Apresentando o Arduino
ARDUINO 53
String e laços(loops)
Strings – São utilizados na comunicação
serial, Display LCD, etc.
se ( condição verdadeira ) // if
{ faça isso }
senão // else
{faça aquilo}
Apresentando o Arduino
ARDUINO 55
Comando while, for
while( ) { } – Utilizado para fazer o
Arduino esperar algum evento.
enquanto (condição) {faça isso}
• analogWrite(9)
Apresentando o Arduino
ARDUINO
IDE
58
Arduino-Digital Output-LED
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
Apresentando o Arduino
delay(1000);
}
ARDUINO 59
Arduino-Analog Output-LED_Flash
Apresentando o Arduino
ARDUINO 60
Arduino-Analog Output-LED_Dimming Using
Loop Structure
Apresentando o Arduino
ARDUINO 61
KITS Arduino
Normalmente constituído por:
•Placa Arduino
•Cabo USB - Para conectar o Arduino ao seu computador.
•Protoboard - Para testar seus primeiros circuitos conectando
os outros componentes do kit sem soldas
•Display LCD 2x16 com conector soldado e backlight (preto
sobre verde ou branco sobre azul)
•Motor CC 6V com jumpers soldados
•Sensor de temperatura
•Sensor de luminosidade
•potenciômetro
•chaves momentâneas (botão)
Apresentando o Arduino
•LEDs diversos
•Resistores de diversos valores
•Sensor/atuador piezoelétrico
•Jumpers
•Relê de uso geral
•Caixa organizadora
ARDUINO 62
Apresentando o Arduino
ARDUINO
KITS Arduino
63
Projetos simples
1. Básico:
Piscar (blink): acender e apagar um LED ou ligar e desligar o relê do kit.
Fading: usar uma saída analógica (pino PWM) para apagar um LED em fade.
Laço (loop): controlar múltiplos LEDs com loop e com um array.
2. Digital:
Piscar sem delay (blink without delay): acender e apagar um LED ou ligar e
desligar o relê do kit sem usar a função delay.
Botão (button): usar um botão para controlar um LED ou o relê do kit.
Filtrar o ruído (Debounce): ler um botão filtrando o ruído.
Melodia (Melody): tocar melodias com um atuador Piezo.
3. Analógico:
Entrada Analógica (Analog Input): usar um potenciômetro para controlar o piscar
Apresentando o Arduino
ARDUINO 64
Referências
• Arduino; www.arduino.cc
• Hackaday; www.hackaday.com
• Makezine; blog.makezine.com
• Physical Computing: Sensing and Controlling the
Physical World with Computers.
• Igoe; Thomson; (2004).
• Embedded System Design: A Unified
Hardware/Software Approach. Vahid; (1999).
• Embedded Systems Architecture: A
Apresentando o Arduino
ARDUINO 65
Apresentando o Arduino
ARDUINO
66
Apresentando o Arduino
ARDUINO
67