Gabriel Vasiljevi c Felipe Fernandes January 28,...
Transcript of Gabriel Vasiljevi c Felipe Fernandes January 28,...
Minicurso de Arduino
Gabriel VasiljevicFelipe Fernandes
January 28, 2013
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 1 / 34
Sobre
Sobre o minicurso:
Duracao de 20 horasCertificado ao final (com 80% de presenca)
Sobre as aulas:
As aulas serao divididas entre a parte pratica e teoricaIntervalo de 20min
Objetivos:
Introduzir ao desenvolvimento de circuitos e dispositivos eletronicossimplesCapacitar o aluno a projetar sistemas mais complexos
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 2 / 34
Roteiro do curso
Introducao ao Arduino
Revisao de eletricidade
Componentes eletronicos
Desenvolvimento com Arduino
LinguagemMontagem do circuitoExemplos e exercıcios
Acessorios e Shields
Projetos
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 3 / 34
Roteiro da aula
Introducao
O que e Arduino
Tipos de ArduinoHardwareO que podemos fazer com Arduino
Mas antes...
Revisao de eletricidadeCircuitos eletronicosInstalacao da IDE
Introducao a linguagem do Arduino
Primeiros conceitosPrincipais funcoes e comandos basicosPrimeiro exemplo
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 4 / 34
Introducao
Antes de mais nada, o que e Arduino?
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 5 / 34
O que e Arduino
Plataforma de prototipacao baseada em hardware livreTotalmente open-sourceNao ha nenhum custo alem da compra da placaComunidade ativa
Criada para ser de facil utilizacao e aprendizado
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 6 / 34
Tipos de Arduino
Existem diferentes Arduinos para diferentes projetos
Cada um se adapta melhor para determinadas situacoes
Exemplos:
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 7 / 34
Tipos de Arduino
Arduino Nano
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 8 / 34
Tipos de Arduino
Arduino Mega
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 9 / 34
Tipos de Arduino
LilyPad Arduino
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 10 / 34
Tipos de Arduino
Arduino Uno
E este que iremos utilizar!
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 11 / 34
O que podemos fazer com Arduino?
As aplicacoes do Arduino sao inumeras
Podemos fazer praticamente qualquer coisa! :)
Site com diversos projetos explicados passo-a-passo:www.instructables.com
Alguns exemplos:
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 12 / 34
E por ultimo...
LANCA-CHAMAS!! OH YEAH!!!
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 17 / 34
Mas antes...
E preciso ter nocoes basicas de eletricidade e eletronica
Evitar acidentes e pecas queimadas :)
Conhecer o funcionamento dos componentes que iremos utilizar
LEDs, resistores, sensores etc.
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 18 / 34
Revisao (rapida) de eletricidade
Atomos possuem protons (carga positiva), eletrons (carga negativa) eneutrons (carga nulas)
Cargas opostas se atraem e cargas iguais se repelem
Eletrons livres se movimentam de forma aleatoria
Mas, quando submetidos a uma DDP ou a um campo magnetico,passam a se mover ordenadamente
Corrente eletrica
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 19 / 34
Revisao (rapida) de eletricidade
Atomos possuem protons (carga positiva), eletrons (carga negativa) eneutrons (carga nulas)
Cargas opostas se atraem e cargas iguais se repelem
Eletrons livres se movimentam de forma aleatoria
Mas, quando submetidos a uma DDP ou a um campo magnetico,passam a se mover ordenadamente
Corrente eletrica
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 19 / 34
Revisao (rapida) de eletricidade
Atomos possuem protons (carga positiva), eletrons (carga negativa) eneutrons (carga nulas)
Cargas opostas se atraem e cargas iguais se repelem
Eletrons livres se movimentam de forma aleatoria
Mas, quando submetidos a uma DDP ou a um campo magnetico,passam a se mover ordenadamente
Corrente eletrica
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 19 / 34
Revisao (rapida) de eletricidade
DDP - Diferenca De Potencial - Tensao
Quando dois pontos possuem potenciais diferentes
Eletrons se movem do maior potencial para o menor potencial
Exemplo: Tomadas
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 20 / 34
Circuitos
Circuito e a juncao de componentes eletronicos de forma quepermitam a passagem de corrente eletrica
Um componente eletronico sao tais quais permites a passagem decorrente atraves de elementos condutores
Durante o minicurso, estaremos criando diversos circuitos,controlados pelo Arduino :)
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 21 / 34
Comecando...
Entendendo estes conceitos, podemos comecar a trabalhar com oArduino
Basta te-lo em maos junto com um cabo USB!
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 22 / 34
Instalacao da IDE
No Windows
Baixar os arquivos no site oficial (www.arduino.cc)
Descompactar
Conectar o Arduino
Instalar os drivers (localizados na pasta extraıda)
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 23 / 34
Instalacao da IDE
No Linux
sudo add-apt-repository ppa:arduino-ubuntu-team/ppa
sudo apti-tude update
sudo aptitude install arduino
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 24 / 34
Introducao a linguagem do Arduino
Linguagem do Arduino e basicamente C e C++
Podemos usar qualquer funcao destas linguagens para manipular osdados de nosso projetos
Possui funcoes especıficas para manipulacao do circuito
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 25 / 34
Principais funcoes
Todo codigo do Arduino possui duas funcoes principais:
setup()
E onde a execucao comecaResponsavel por inicializar as portas e atribuı-las como entradas ousaıdas
loop()
E onde todos os comandos sao dados ao ArduinoSua execucao e repetida ate o programa terminar
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 26 / 34
Primeiros conceitos
O Arduino controla o circuito atraves de suas portas
Cada porta fornece ou recebe uma tensao (entrada ou saıda)
As portas podem trabalhar com tensoes binarias (digitais) oucontınuas (analogicas)
O Arduino Uno possui 28 portas, divididas entre:
DigitaisPWMAnalogicasGround (terra)Power (Reset, 3.3V e 5V)
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 27 / 34
Primeiro exemplo
Exercitar os conceitos: acender o LED do Arduino
O LED piscara a cada segundo
Por padrao, o LED e conectado a saıda 13
O que precisamos fazer?
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 28 / 34
Primeiro passo
Criar um novo arquivo no IDE
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 29 / 34
Segundo passo
Criar a funcao setup()
Inicializar a porta
Para isso, utilizamos a funcao pinMode(porta, modo)modo pode ser INPUT (entrada) ou OUTPUT (saıda)Exemplo:
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 30 / 34
Segundo passo
Criar a funcao setup()
Inicializar a porta
Para isso, utilizamos a funcao pinMode(porta, modo)modo pode ser INPUT (entrada) ou OUTPUT (saıda)Exemplo:
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 30 / 34
Terceiro passo
Criar a funcao loop()
E nela que iremos controlar o LED
Como?
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 31 / 34
Terceiro passo
Criar a funcao loop()
E nela que iremos controlar o LED
Como?
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 31 / 34
Terceiro passo
A funcao digitalWrite(pino, estado) nos permite mudar o estado dopino para HIGH (ligado) ou LOW (desligado)
A funcao delay(tempo) da uma pausa de tempo milisegundos naexecucao do codigo
Ja temos tudo o que precisamos! :)
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 32 / 34
Terceiro passo
A funcao digitalWrite(pino, estado) nos permite mudar o estado dopino para HIGH (ligado) ou LOW (desligado)
A funcao delay(tempo) da uma pausa de tempo milisegundos naexecucao do codigo
Ja temos tudo o que precisamos! :)
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 32 / 34
Terceiro passo
A funcao digitalWrite(pino, estado) nos permite mudar o estado dopino para HIGH (ligado) ou LOW (desligado)
A funcao delay(tempo) da uma pausa de tempo milisegundos naexecucao do codigo
Ja temos tudo o que precisamos! :)
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 32 / 34
Terceiro passo
Com a funcao loop() escrita, o codigo final ficara parecido com este:
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 33 / 34
Quarto passo
Agora basta conectar o Arduino ao computador e fazer o upload do codigo!
Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 34 / 34