interfaces fisicas para dispositivos moveis
DESCRIPTION
Curso de interfaces fisicas para dispositivos moveis com arduino.TRANSCRIPT
![Page 2: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/2.jpg)
2
Apresentação
Tiago Barros - @tgfb
Mestre em Ciência da Computação, UFPE / 2007B.Sc. Ciência da Computação, UFPE / 2003Tec. Eletrônica, ETFPE / 1998
Engenheiro de Sistemas Sênior do C.E.S.A.REspecialista em tecnologia, Grupo de Inovação
Professor de pós-graduação e especialização em diversos cursos: C.E.S.A.R(Recife), Cin/UFPE/Motorola(Recife), Universidade Positivo (Curitiba), Instituto FaberLudens/FISAM/UnC (Curitiba).
![Page 3: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/3.jpg)
3
Conteúdo
• computação física• alternativas de interfaces físicas para
dispositivos móveis• plataforma Arduino• protocolo de comunicação serial • plataforma Amarino• introdução à eletricidade e eletrônica• sinais analógicos e digitais• sensores e atuadores
![Page 4: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/4.jpg)
4
Pré-requisitos
• desenvolvimento de aplicativos Android
![Page 5: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/5.jpg)
computação física
![Page 6: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/6.jpg)
6
computação física
• uso de computação e eletrônica [sensores e atuadores] na prototipação de objetos físicos para interação com seres humanos
• comportamento implementado por software
• utilização de microcontroladores
![Page 7: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/7.jpg)
7
computação física
• o objetivo é interligar o mundo físico com o mundo virtual
• usar a computação e a interação com a tecnologia para o desenvolvimento das suas atividades
• meio para comunicação e interação entre pessoas
![Page 8: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/8.jpg)
8
computação física
como vemos oscomputadores?
![Page 9: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/9.jpg)
9
computação física
• teclado
• mouse
• monitor
• CPU
• caixas de som
como vemos os computadores?
![Page 10: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/10.jpg)
10
computação física
como os computadores nos veem?
![Page 11: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/11.jpg)
11
computação física
• dedos [teclado/mouse]
• olho [monitor]
• duas orelhas [caixas de som]
reflexo das entradas e saídas do computador
como os computadores nos veem?
![Page 12: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/12.jpg)
12
computação física
“mudar a forma que os computadores nos
veem mudará como eles interagem
conosco”Tom Igoe – Physical Computing
![Page 13: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/13.jpg)
13
Perguntas
![Page 14: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/14.jpg)
sistemas computacionais reativos
![Page 15: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/15.jpg)
15
sistemas computacionais reativos
percepção do ambiente, recebendo estímulos atavés de sensores;
e reação aos estímulos, de acordo com o seu comportamento (software), através de atuadores.
![Page 16: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/16.jpg)
16
sistemas computacionais reativos
comunicação entre redes de sensores e atuadores para formar um ambiente dinâmico e interativo
interação de sensores e atuadores com dispositivos móveis
![Page 17: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/17.jpg)
interfaces físicas para dispositivos móveis
![Page 18: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/18.jpg)
18
interfaces físicas para dispositivos móveis
micro-controlador
sensor
atuador
sensor
comunicação
![Page 19: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/19.jpg)
19
interfaces físicas para dispositivos móveis
android
![Page 20: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/20.jpg)
20
interfaces físicas para dispositivos móveis
micro-controlador
sensor
atuador
sensor
comunicação
![Page 21: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/21.jpg)
21
interfaces físicas para dispositivos móveis
micro-controlador
sensor
atuador
sensor
arduino
![Page 22: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/22.jpg)
22
interfaces físicas para dispositivos móveis
micro-controlador
sensor
atuador
sensor
comunicação
![Page 23: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/23.jpg)
23
interfaces físicas para dispositivos móveis
comunicação
amarino = +
![Page 24: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/24.jpg)
plataforma arduino
![Page 25: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/25.jpg)
25
plataforma arduino
• microcontrolador Atmel
• programação usando Wiring (subconjunto de processing, baseado em C/C++)
• open-source: evolução da plataforma através de contribuições dos usuários
![Page 26: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/26.jpg)
26
plataforma arduino - hardware
unomini
lilypad
boarduino
paperduino megapro
![Page 27: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/27.jpg)
27
plataforma arduino - hardware
• portas• 14 entradas/saídas digitais • 6 entradas analógicas
• memória• RAM: 1K• Flash (programa): 16k – 2k (bootloader)
• velocidade de processamento: 16MHz
![Page 28: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/28.jpg)
28
plataforma arduino – hardware
![Page 29: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/29.jpg)
29
plataforma arduino - instalação
• driver windows: FTDI Serial USB linux: não precisa instalar nada :-)
• software é só descompactar e executar
![Page 30: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/30.jpg)
30
plataforma arduino - instalação
• Selecionando a placa e a porta serial
![Page 31: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/31.jpg)
31
plataforma arduino – ambiente
área de código
área de status
compilar (verif. programa)
parar execução
novo
abrir
salvar
enviar programa para placa
exibir serial
![Page 32: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/32.jpg)
32
plataforma arduino – ciclo de vida
escrever
compilar
enviar para placa
verificar execução
corrigir erros
corrigir erros
![Page 33: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/33.jpg)
atuadores
![Page 34: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/34.jpg)
34
plataforma arduino – estrutura do sketch
![Page 35: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/35.jpg)
35
plataforma arduino – linguagem
• linguagem baseada em C (mas bem mais fácil)
• comandos básicos
• pinMode() – define um pino com entrada ou saída
• digitalWrite() – liga ou desliga uma saída digital
• delay() – “espera” um determinado tempo
![Page 36: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/36.jpg)
36
plataforma arduino – linguagem
• Exemplos
• pinMode(num_do_pino, OUTPUT);
• digitalWrite(num_do_pino, valor); valor é LOW ou HIGH (0 ou 1, 0V ou 5V)
• delay(milisegundos);
![Page 37: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/37.jpg)
37
plataforma arduino – linguagem
• constantes
LOW | HIGH – indica nível baixo (0V) e alto (5V) nos pinos INPUT | OUTPUT – define se um pino vai ser pino de entrada ou
de saída
![Page 38: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/38.jpg)
38
atividade prática!
![Page 39: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/39.jpg)
39
prática
• fazer o programa hello arduino, que pisca um led
• use o pino 13 de saída digital, a placa já possui um led ligado a ele :-)
![Page 40: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/40.jpg)
40
plataforma arduino – hello arduino
![Page 41: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/41.jpg)
41
Perguntas
![Page 42: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/42.jpg)
protocolos de comunicação
![Page 43: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/43.jpg)
43
comunicação serial – RS232
• chip ATMEGA 328 só tem interface serial, não tem USB
• nossa placa arduino possui um chip que converte Serial para USB
• usamos o mesmo cabo USB pra enviar dados pro PC via serial
![Page 44: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/44.jpg)
44
comunicação serial – RS232
• o arduino possui uma biblioteca que implementa comunicação serial
• Serial.begin();
• Serial.print();
• Serial.read();
![Page 45: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/45.jpg)
45
comunicação serial – RS232
• Leds• TX: dados
enviados para o PC
• RX: dados recebidos do PC
![Page 46: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/46.jpg)
46
atividade prática!
![Page 47: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/47.jpg)
47
comunicação serial - prática
“Hello Arduino” via serial
![Page 48: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/48.jpg)
48
comunicação serial - prática
![Page 49: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/49.jpg)
49
Perguntas
![Page 50: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/50.jpg)
bibliotecas do arduino
![Page 51: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/51.jpg)
51
bibliotecas do arduino
• é possível estender a plataforma Arduino com adição de componentes de código, para controlar sensores e atuadores específicos.
• estes componentes são chamados de bibliotecas (libraries)
![Page 52: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/52.jpg)
52
bibliotecas do arduino
• as bibliotecas são geralmente disponibilizadas como um zip que deve ser descompactado dentro da pasta libraries do Arduino.
![Page 53: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/53.jpg)
53
bibliotecas do arduino
• após reiniciar a IDE do Arduino, a biblioteca estará disponível no menu Sketch->Import Library
• a maioria das bibliotecas para o Arduino pode ser encontrada em http://arduino.cc/en/Reference/Libraries
![Page 54: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/54.jpg)
plataforma amarino
![Page 55: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/55.jpg)
55
plataforma amarino
• toolkit constituído de uma aplicação android e uma biblioteca arduino que permite envio de mensagens entre os dois dispositivos
• utilização de serial sobre bluetooth
• MIT Media Lab
• http://www.amarino-toolkit.net/
![Page 56: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/56.jpg)
56
plataforma amarino
• Instalação• Baixar e descompactar a biblioteca
MeetAndroid (http://code.google.com/p/amarino/downloads/detail?name=MeetAndroid_3.zip)
• Baixar a biblioteca Amarino para Android(http://code.google.com/p/amarino/downloads/detail?name=AmarinoLibrary_v0_55.jar)
![Page 57: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/57.jpg)
57
plataforma amarino
• Instalação• Instalar a aplicação amarino e o plugin
bundle no dispositivo android, para os primeiros testes
Amarino Plugin bundle
![Page 58: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/58.jpg)
58
mais prática!
![Page 59: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/59.jpg)
59
eletrônica – protoboard
• antes disso: • Protoboard
![Page 60: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/60.jpg)
60
eletrônica – jumpers
• jumpers
![Page 61: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/61.jpg)
61
atividade prática!
![Page 62: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/62.jpg)
62
prática
• Testando a comunicação
![Page 63: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/63.jpg)
63
prática – código exemplo
![Page 64: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/64.jpg)
64
prática
• aplicação Amarino 2.0
![Page 65: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/65.jpg)
65
prática
• aplicação Amarino 2.0
![Page 66: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/66.jpg)
66
prática
• aplicação Amarino 2.0
![Page 67: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/67.jpg)
67
prática
• aplicação Amarino 2.0
![Page 68: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/68.jpg)
68
prática
• aplicação Amarino 2.0
![Page 69: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/69.jpg)
69
Perguntas
![Page 70: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/70.jpg)
70
API MeetAndroid
MeetAndroid meetAndroid; — cria um objeto do tipo MeetAndroid
meetAndroid.registerFunction (f, c);— registra uma função f para o determinado comando c,
que pode ser um número de ‘0’ a ‘9’ ou uma letra, de ‘a’ a ‘z’ e de ‘A’ a ‘Z’.
meetAndroid.unregisterFunction (c);— desregistra a função previamente registrada para o
comando c.
![Page 71: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/71.jpg)
71
API MeetAndroid
meetAndroid.receive();— Verifica se existem comandos a serem recebidos e
chama a função registrada caso receba algum comando.
meetAndroid.bufferLength();— Retorna o tamanho do buffer de dados recebidos.
meetAndroid.getString(char[]);— Copia a string recebida para o array de char passado
como parâmetro.
![Page 72: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/72.jpg)
72
API MeetAndroid
meetAndroid.getInt();— Retorna o valor do buffer como inteiro.
meetAndroid.getLong();— Retorna o valor do buffer como long int.
meetAndroid.getFloat();— Retorna o valor do buffer como float.
![Page 73: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/73.jpg)
73
API MeetAndroid
meetAndroid.getIntValues(int[]);— Retorna o valor do buffer como um array de inteiros que
foram enviados separados por ‘;’. A quantidade de valores é passada para a função registrada através da variável numOfValues (argumento 2 da função);
meetAndroid.getFloatValues(float[]);— Retorna o valor do buffer como um array de floats, da
mesma forma que a anterior.
meetAndroid.send(value);— Envia um valor (numérico ou string) para o dispositivo
android.
![Page 74: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/74.jpg)
74
atividade prática!
![Page 75: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/75.jpg)
75
prática
Modificar o exemplo para enviar “OK” ao dispositivo android para cada comando recebido
Verificar o recebimento do “OK” no monitoring da aplicação Amarino 2.0
![Page 76: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/76.jpg)
76
Perguntas
![Page 77: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/77.jpg)
77
voltando ao arduino...
![Page 78: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/78.jpg)
conceitos básicos de eletricidade
![Page 79: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/79.jpg)
79
eletricidade
eletricidade - interação entre partículas atômicas
universo formado de átomos
partículas atômicas:
prótons: cargas positivas
elétrons: cargas negativas
![Page 80: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/80.jpg)
80
eletricidade
Atomos com mais elétrons que prótons estão carregados negativamente (íon negativo)
Atomos com menos elétrons que prótons estão carregados positivamente (íon positivo)
“buraco”
“elétron extra”
![Page 81: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/81.jpg)
81
eletricidade
cargas iguais se repelem
cargas opostas se atraem
cargas em movimento geram campo magnético
campo magnético em movimento gera corrente elétrica
NS
![Page 82: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/82.jpg)
82
eletricidade – condutores e isolantes
isolante – evita a passagem de elétrons
condutor – permite o fluxo de elétrons
![Page 83: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/83.jpg)
83
eletricidade – diferença de potencial (v)
cargas negativas
quanto maior a tensão, mais “força” teem os elétrons
diferença de potencial ou tensão.
cargas positivas
V
![Page 84: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/84.jpg)
84
eletricidade – corrente elétrica (i)
quanto maior a corrente, maior a “quantidade” de
elétrons
fluxo de elétrons em um condutor
![Page 85: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/85.jpg)
85
eletricidade – tipos de corrente elétrica
corrente contínua
corrente alternada
![Page 86: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/86.jpg)
86
eletricidade – tipos de corrente elétrica
inversão de polaridade no tempo
mesma polaridade no tempo (sentido continuo)
![Page 87: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/87.jpg)
87
eletricidade – resistência elétrica (r)
propriedade do material condutor em reduzir
a passagem dos elétrons
elétrons “se acumulam e batem” no condutor, “dissipando” sua
energia(gerando calor)
![Page 88: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/88.jpg)
88
eletricidade – lei de ohm
V = R x I
a diferença de potencial (V) entre dois pontos de um
condutor é proporcional à corrente elétrica (I) que o
percorre e à sua resistência (R)
V
R I R = V/I
I = V/R
![Page 89: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/89.jpg)
89
eletricidade – circuito elétrico
+
–
V
i
Rgerador[fonte]
condutor[caminho]
carga[consumidor]
![Page 90: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/90.jpg)
90
Perguntas
![Page 91: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/91.jpg)
atuadores
![Page 92: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/92.jpg)
92
plataforma arduino – linguagem
• comandos básicos
• analogWrite() – escreve um valor analógico no pino
• analogWrite(num_pino, valor); valor entre 0 e 255
![Page 93: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/93.jpg)
93
eletrônica – modulação PWM
a função analogWrite() escreve “pulsos” muito rápidos no pino digital (só funciona nos pinos marcados com PWM).
o valor a ser escrito representa o tempo que o pulso fica em nível alto e varia de 0 a 255.
quanto mais tempo o pulso permanecer em nível alto, maior é a “tensão média” da saída
![Page 94: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/94.jpg)
94
atividade prática!
![Page 95: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/95.jpg)
95
antes dissomais um pouco de eletrônica...
![Page 96: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/96.jpg)
96
eletrônica – resistores
oferecem resistência à passagem da corrente elétrica
transformam energia elétrica em energia térmica[pode ser usado como atuador]
tipos:
carvão [carbono]
filmefio
resistência:
fixovariável
![Page 97: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/97.jpg)
97
eletrônica – resistores
valores expressos em ohms
o corpo dos resistores possui um código de cores para identificar o valor
![Page 98: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/98.jpg)
98
agora sim, prática!
![Page 99: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/99.jpg)
99
prática
• acender o LED com a intensidade de brilho correspondente ao valor enviado pelo evento de teste do android
![Page 100: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/100.jpg)
100
prática
• circuito
Figura retirada de http://arduino.cc/
![Page 101: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/101.jpg)
101
prática
• esquemático
Figura retirada de http://arduino.cc/
![Page 102: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/102.jpg)
102
prática
• protoboard
Figura retirada de http://www.multilogica-shop.com/Aprendendo/Exemplos/Fading
![Page 103: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/103.jpg)
103
Perguntas
![Page 104: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/104.jpg)
sensores
![Page 105: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/105.jpg)
105
sensores – chave (switch/button)
• interrompe a passagem da corrente elétrica• liga/desliga o circuito• sensor de toque
esquemático
![Page 106: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/106.jpg)
106
plataforma arduino – linguagem
• Comandos• digitalRead() – le um pino de entrada
• Exemplo:• int chave = 0;• chave = digitalRead(num_do_pino);
![Page 107: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/107.jpg)
107
sensores
arduino lê tensões de
entrada (e não valores 0 e 1)
5 volts == HIGH (1)0 volts == LOW (0)
sem conexão em umpino, a entrada flutuaentre 0 e 5 volts (HIGH e LOW) este resistor é necessário
para que o pino seja levado para 0 quando não estiver conectado (chave aberta)
![Page 108: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/108.jpg)
108
atividade prática!
![Page 109: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/109.jpg)
109
sensores - prática
• fazer o circuito e o programa para enviar ao dispositivo android o valor do sensor lido
![Page 110: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/110.jpg)
110
sensores - prática
• esquemático
Figura retirada de http://arduino.cc/
![Page 111: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/111.jpg)
111
sensores - prática
• protoboard
![Page 112: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/112.jpg)
112
Perguntas
![Page 113: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/113.jpg)
113
voltando à eletrônica...
![Page 114: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/114.jpg)
114
eletrônica – sinais analógicos e digitais
sinal com variação contínua no tempo
sinal com variação discreta (valores pré-definidos)
![Page 115: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/115.jpg)
115
eletrônica – conversão de sinais
valor é lido em intervalos regulares de tempo e transformado em um número digital
![Page 116: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/116.jpg)
116
eletrônica – conversão de sinais
vários valores, não só HIGH e LOW. quantiade de valores é a resolução.
![Page 117: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/117.jpg)
117
eletrônica – conversão de sinais
resolução de 8 bits = 256 valoresresolução de 16 bits = 65536 valores
![Page 118: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/118.jpg)
118
eletrônica - resistores
• Como funciona um resistor variável?
• no arduino, o valor da tensão é transformado em um valor digital entre 0 e 1023
![Page 119: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/119.jpg)
119
atividade prática!
![Page 120: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/120.jpg)
120
sensores analógicos – prática
• ler o valor do resistor variável e ligar um LED se esse valor passar de um determinado limite. Ao acender o LED, informar o dispositivo android.
![Page 121: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/121.jpg)
121
sensores analógicos – prática
• esquemático
Figura retirada de http://arduino.cc/
![Page 122: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/122.jpg)
122
sensores analógicos – prática
• circuito
Figura retirada de http://arduino.cc/
![Page 123: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/123.jpg)
124
Perguntas
![Page 124: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/124.jpg)
biblioteca amarino para android
![Page 125: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/125.jpg)
126
Classe Amarino
• conexão• Amarino.connect(context, address);• Amarino.disconnect(context, address);
• Intents• AmarinoIntent.ACTION_CONNECTED• AmarinoIntent.ACTION_DISCONNECTED• AmarinoIntent.ACTION_CONNECTION_FAILED• AmarinoIntent.ACTION_PAIRING_REQUESTED
• Devemos registrar um BroadcastReceiver para receber os intents desejados
![Page 126: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/126.jpg)
127
Classe Amarino
• comunicação• Amarino. sendDataToArduino(context, address,
command, data)
• Intents• AmarinoIntent.ACTION_SEND• AmarinoIntent.ACTION_RECEIVED
• Devemos registrar um BroadcastReceiver para receber os intents desejados
• API completa em: http://www.amarino-toolkit.net/tl_files/doc/index.html
![Page 127: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/127.jpg)
128
atividade prática!
![Page 128: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/128.jpg)
129
biblioteca amarino - prática
• fazer uma aplicação que mostre um gráfico de linha no android, com o valor do sensor lido pelo arduino.
• fazer uma aplicação que exiba um gradiente na tela e altere o brilho de um LED de acordo com a área do gradiente tocada
![Page 129: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/129.jpg)
130
Perguntas
![Page 130: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/130.jpg)
131
eletrônica – resistores LDR
• resistor variável sensível à luz
![Page 131: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/131.jpg)
132
eletrônica – resistores LDR
• resistor variável sensível à luz
circuito para arduino
porque o resistor de 1k? - para limitar a corrente se o LDR assumir valores muito baixos
![Page 132: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/132.jpg)
133
atividade prática!
![Page 133: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/133.jpg)
134
entrada analógica - prática
ler valores do LDR e enviar para o dispositivo android
![Page 134: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/134.jpg)
135
Perguntas
![Page 135: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/135.jpg)
atuadores sonoros
![Page 136: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/136.jpg)
137
atuadores sonoros
• Buzzer piezoelétrico• formado por
cerâmica piezoelétrica e disco metálico
• ao receber uma tensão a cerâmica se expande, quando removemos a tensão ele volta
![Page 137: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/137.jpg)
138
atuadores sonoros
• Buzzer piezoelétrico• 2 polos: um é ligado
no GND e outro no pino de saída desejado
• aplicando uma tensão variável produz vibração que é traduzida em som
![Page 138: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/138.jpg)
139
atuadores sonoros
• como programar o arduino para tocar uma nota musical?
• uma nota musical é um som em uma determinada frequência
• a frequência de uma nota significa quantas vezes o atuador sonoro vibra em 1 segundo
![Page 139: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/139.jpg)
140
atuadores sonoros
• para fazer o atuador vibrar, escrevemos no pino uma sequência de valores HIGH e LOW, tantas vezes por segundo quanto for a frequência da nota
• o tempo de cada variação HIGH e LOW é chamada de período e é o inverso da frequência
baixa frequência
alta frequência
período
período
1 segundo
• para fazer o atuador vibrar, escrevemos no pino uma sequência de valores HIGH e LOW, tantas vezes por segundo quanto for a frequência da nota
• o tempo de cada variação HIGH e LOW é chamada de período e é o inverso da frequência
![Page 140: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/140.jpg)
141
atuadores sonoros
• programar o arduino para tocar uma nota musical
void playTone(int period, int duration) { for (long i = 0; i < duration * 1000L; i += period* 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(period); digitalWrite(speakerPin, LOW); delayMicroseconds(period); }}
![Page 141: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/141.jpg)
142
atuadores sonoros
•como tocar uma nota musical?
timeHigh = periodo / 2 = 1 / (2 * frequência)
* nota frequência periodo tempo em nivel alto* c (dó) 261 Hz 3830 1915 * d (ré) 294 Hz 3400 1700 * e (mi) 329 Hz 3038 1519 * f (fá) 349 Hz 2864 1432 * g (sol) 392 Hz 2550 1275 * a (lá) 440 Hz 2272 1136 * b (si) 493 Hz 2028 1014 * C (dó) 523 Hz 1912 956
Não é necessário escrever essas frequências, podemos incluir o arquivo notes.h
![Page 142: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/142.jpg)
143
atuadores sonoros
•como tocar uma nota musical?
notes.h#define NOTE_B0 31#define NOTE_C1 33#define NOTE_CS1 35#define NOTE_D1 37#define NOTE_DS1 39#define NOTE_E1 41#define NOTE_F1 44#define NOTE_FS1 46#define NOTE_G1 49#define NOTE_GS1 52...
![Page 143: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/143.jpg)
144
função tone
• Arduino já possui uma função para tocar notas
tone(pin, frequency); // emite uma determinada nota (representada pela // frequência) no pino ocrrespondente
noTone(pin);// para de emitir a frequência definida por tone() // no pino correspondente
tone(pin, frequency, duration);// emite uma determinada nota (representada pela // frequência) no pino ocrrespondente durante uma // determinada duração
![Page 144: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/144.jpg)
145
atividade prática!
![Page 145: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/145.jpg)
146
atuadores sonoros - prática
• Tocar uma nota ao receber um evento do android
![Page 146: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/146.jpg)
147
perguntas?
![Page 147: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/147.jpg)
148
arduino - referencias
• Lista dos comandos da linguagem em:
http://arduino.cc/en/Reference/HomePage
• Lista dos tutoriais em:
http://www.arduino.cc/en/Tutorial/HomePage
![Page 148: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/148.jpg)
149
projeto
![Page 149: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/149.jpg)
150
projeto da disciplina
• desenvolver um dispositivo interativo que utilize os conceitos aprendidos.
![Page 150: Interfaces fisicas para dispositivos moveis](https://reader037.vdocuments.site/reader037/viewer/2022102902/5590b2321a28abf5058b4729/html5/thumbnails/150.jpg)
Obrigado!