técnicas de prototipação ii - physical computing - aula 01
Post on 19-May-2015
1.149 Views
Preview:
DESCRIPTION
TRANSCRIPT
técnicas de prototipação II computação física – Aula 01
Tiago Barros | tiago@tiagobarros.org
2
técnicas de prototipação IIcomputação física – Aula 01
• computação física
• interação• suporte computacional
3
técnicas de prototipação IIcomputação física – Aula 01
• conceitos básicos de eletricidade
• condutores e isolantes• corrente elétrica• tensão elétrica• resistência• lei de ohm• circuito elétrico
4
técnicas de prototipação IIcomputação física – Aula 01
• sistemas computacionais• plataforma arduino• conceitos básicos de eletrônica• componentes eletrônicos • sensores e atuadores
computação física
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
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
8
computação física - filosofia
em vez de aprender a tecnologia, aprender a usar a tecnologia
como meio…
9
computação física
como vemos oscomputadores?
10
computação física
• teclado
• mouse
• monitor
• CPU
• caixas de som
como vemos os computadores?
11
computação física
como os computadores nos veem?
12
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?
13
computação física
“mudar a forma que os computadores nos
veem mudará como eles interagem
conosco”Tom Igoe – Physical Computing
14
computação física
...através de elementos físicos de interação mais adequados às interfaces humanas
15
computação física
o que precisamos para isso:
aprender sobre computadores?
aprender a usar computadores?
aprender a usar computação para prototipar interações
16
Perguntas
17
mas antes da computação..
.
conceitos básicos de eletricidade
19
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
20
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”
21
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
22
eletricidade – condutores e isolantes
isolante – evita a passagem de elétrons
condutor – permite o fluxo de elétrons
23
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
24
eletricidade – corrente elétrica (i)
quanto maior a corrente, maior a “quantidade” de
elétrons
fluxo de elétrons em um condutor
25
eletricidade – tipos de corrente elétrica
corrente contínua
corrente alternada
26
eletricidade – tipos de corrente elétrica
inversão de polaridade no tempo
mesma polaridade no tempo (sentido continuo)
27
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)
28
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
29
eletricidade – circuito elétrico
+
–
V
i
Rgerador[fonte]
condutor[caminho]
carga[consumidor]
30
e agora, computação..
.
sistemas computacionais reativos
44
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.
plataforma Arduino
46
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
47
plataforma arduino - hardware
Duemilanovemini
lilypad
boarduino
paperduino megapro
48
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
49
plataforma arduino – hardware
50
plataforma arduino - instalação
• driver windows: FTDI Serial USB linux: não precisa instalar nada :-)
• software é só descompactar e executar
51
plataforma arduino - instalação
• Selecionando a placa e a porta serial
52
plataforma arduino – ambiente
área de código
área de status e saída serial
compilar (verif. programa)
parar execução
novo
abrir
salvar
enviar programa para placa
exibir serial
53
plataforma arduino – ciclo de vida
escrever
compilar
enviar para placa
verificar execução
corrigir erros
corrigir erros
atuadores
55
plataforma arduino – estrutura do sketch
56
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
57
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);
58
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
59
atividade prática!
60
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 :-)
61
plataforma arduino – hello arduino
62
Perguntas
63
plataforma arduino – linguagem
• comandos básicos
• analogWrite() – escreve um valor analógico no pino
• analogWrite(num_pino, valor); valor entre 0 e 255
64
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 pulto permanecer em nível alto, maior é a “tensão média” da saída
65
plataforma arduino - linguagem
• variáveis• Espaço reservado na memória para
armazenamento de valores • Variáveis são declaradas de acordo com o tipo
de dado a ser armazenado (int, long, char, etc…)
tipo nome = valor;
Exemplo:int x = 10;int y = 20;int resultado;char vogal = ‘a’;
Resultado = x + y;
66
plataforma arduino – linguagem
• for
for (inicialização; condição; incremento) { //comando(s); }
for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i); delay(10); }
67
mais prática!
68
eletrônica – protoboard
• antes disso: • Protoboard
69
eletrônica – protoboard
• jumpers
70
antes dissomais um pouco de eletrônica...
71
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
72
eletrônica – resistores
valores expressos em ohms
o corpo dos resistores possui um código de cores para identificar o valor
73
agora sim, prática!
74
prática
• modificar o programa hello arduino para acender o led com efeito de “fading” (acender gradativamente)
• dica: use analogWrite() em vez de digitalWrite(), variando os valores escritos, de 0 a 255
75
prática
• circuito
Figura retirada de http://arduino.cc/
76
prática
• esquemático
Figura retirada de http://arduino.cc/
77
prática
• protoboard
Figura retirada de http://www.multilogica-shop.com/Aprendendo/Exemplos/Fading
78
prática
• Mãos à obra!
• modificar o programa hello arduino para acender o led com efeito de “fading” (acender gradativamente)
• dica: use analogWrite() em vez de digitalWrite(), variando os valores escritos, de 0 a 255
79
Perguntas
sensores
81
sensores – chave (switch/button)
• interrompe a passagem da corrente elétrica• liga/desliga o circuito• sensor de toque
esquemático
82
plataforma arduino – linguagem
• Comandos• digitalRead() – le um pino de entrada
• Exemplo:• int chave = 0;• chave = digitalRead(num_do_pino);
83
plataforma arduino – linguagem
• ifif (variavel == 0) { // faça alguma coisa }
• if … elseif (variavel == 1){ // acao A } else { // acao B
}
84
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)
85
atividade prática!
86
sensores - prática
• fazer o circuito e o programa para acender o led 13 de acordo com sinal de entrada do pino 2
87
sensores - prática
• esquemático
Figura retirada de http://arduino.cc/
88
sensores - prática
• protoboard
Figura retirada de http://arduino.cc/
89
sensores - prática
90
atividade prática!
91
sensores - prática
• chave no pino 2 seleciona a saída do LED – “fade” ou “blink”
92
Perguntas
93
voltando à eletrônica...
94
eletrônica – sinais analógicos e digitais
sinal com variação contínua no tempo
sinal com variação discreta (valores pré-definidos)
95
eletrônica – conversão de sinais
valor é lido em intervalos regulares de tempo e transformado em um número digital
96
eletrônica – conversão de sinais
vários valores, não só HIGH e LOW. quantiade de valores é a resolução.
97
eletrônica – conversão de sinais
resolução de 8 bits = 256 valoresresolução de 16 bits = 65536 valores
98
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
99
atividade prática!
100
sensores analógicos – prática
• ler o valor do resistor variável e ligar um LED se esse valor passar de um determinado limite.
101
sensores analógicos – prática
• esquemático
Figura retirada de http://arduino.cc/
102
sensores analógicos – prática
• circuito
Figura retirada de http://arduino.cc/
103
entrada analógica – prática
104
eletrônica – resistores LDR
• resistor variável sensível à luz
105
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
106
atividade prática!
107
entrada analógica – prática
• fazer uma “escala de leds” que acendem de acordo com o aumento do valor lido do LDR na entrada analógica.
108
Perguntas
109
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
top related