41
Minicurso de Arduino Gabriel Vasiljevi´ c Felipe Fernandes January 28, 2013 Gabriel Vasiljevi´ c Felipe Fernandes Minicurso de Arduino January 28, 2013 1 / 34

Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Minicurso de Arduino

Gabriel VasiljevicFelipe Fernandes

January 28, 2013

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 1 / 34

Page 2: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 3: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 4: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 5: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Introducao

Antes de mais nada, o que e Arduino?

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 5 / 34

Page 6: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 7: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 8: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Tipos de Arduino

Arduino Nano

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 8 / 34

Page 9: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Tipos de Arduino

Arduino Mega

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 9 / 34

Page 10: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Tipos de Arduino

LilyPad Arduino

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 10 / 34

Page 11: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Tipos de Arduino

Arduino Uno

E este que iremos utilizar!

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 11 / 34

Page 12: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 13: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Exemplos

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 13 / 34

Page 14: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Exemplos

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 14 / 34

Page 15: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Exemplos

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 15 / 34

Page 16: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Exemplos

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 16 / 34

Page 17: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

E por ultimo...

LANCA-CHAMAS!! OH YEAH!!!

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 17 / 34

Page 18: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 19: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 20: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 21: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 22: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 23: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 24: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 25: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 26: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 27: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 28: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 29: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 30: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 31: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Primeiro passo

Criar um novo arquivo no IDE

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 29 / 34

Page 32: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 33: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 34: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 35: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 36: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 37: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 38: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 39: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 40: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

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

Page 41: Gabriel Vasiljevi c Felipe Fernandes January 28, 2013petcc.weebly.com/uploads/5/0/3/7/5037808/aula_1.pdfTipos de Arduino Existem diferentes Arduinos para diferentes projetos Cada um

Na proxima aula...

Portas Digitais

Componentes eletronicos

LEDsResistoresCapacitoresProtoboardPrimeiro exemplo melhoradoBotoesBuzzers

Exercıcios

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 35 / 34