técnicas de prototipação ii - physical computing - aula 01

Post on 19-May-2015

1.149 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

computação física, prototipação, conceitos básicos de eletricidade e eletronica, plataforma arduino.

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