gabriel vasiljevi c felipe fernandes january 28,...

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

Upload: doanquynh

Post on 11-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

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

Exemplos

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

Exemplos

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

Exemplos

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

Exemplos

Gabriel Vasiljevic Felipe Fernandes Minicurso de Arduino January 28, 2013 16 / 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

Na proxima aula...

Portas Digitais

Componentes eletronicos

LEDsResistoresCapacitoresProtoboardPrimeiro exemplo melhoradoBotoesBuzzers

Exercıcios

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