You are on page 1of 22

Processing e Arduino

// uma introduo coleta de dados

Barbara Castro
Doutoranda em Artes Visuais EBA/UFRJ
Mestre em Artes Visuais EBA/UFRJ (2013)
www.barbaracastro.com.br
Objetivos do Workshop

> Apresentar as ferramentas de fonte aberta


(open-source) e suas plataformas de colaborao
> Incentivar a curiosidade por desenvolvimento de
projetos experimentais, interativos, dinmicos...
> Introduzir diversas formas de coleta de dados como a
etapa de pr-produo de uma visualizao

Processing e Arduino // uma introduo coleta de dados 2 /40


Metodologia

> Experimentao progressivas em exerccios


determinados
Dia 1 A > FORMAS
B > VARIVEIS
C > INTERAO
Dia 2 D > INTERFACE
E > TABELA
Dia 3 F > ARDUINO

Processing e Arduino // uma introduo coleta de dados 3 /40


Processing e Arduino
// uma introduo coleta de dados

Aula 1 - 24 de fevereiro de 2015


Introduo programao em Processing

Barbara Castro
Doutoranda em Artes Visuais EBA/UFRJ
Mestre em Artes Visuais EBA/UFRJ (2013)
www.barbaracastro.com.br
O que o Processing?

> Ben Fry e Casey Reas (2001) no MIT Media LAB


> Iniciao em Programao para artistas e designers
> Linguagem e Ambiente de Programao
tambm uma comunidade online (www.processing.org)
> De graa e de cdigo aberto
> Output visual

Processing e Arduino // uma introduo coleta de dados 5 /40


Projetos inspiradores

Silenc - by Manas Karambelkar, Momo Miyazaki and Kenneth A. Robertsen

Processing e Arduino // uma introduo coleta de dados 6 /40


Projetos inspiradores

Visualizing Empires Decline - Pedro Miguel Cruz

Processing e Arduino // uma introduo coleta de dados 7 /40


O ambiente do Processing

Menu
Aes Modos
Abas
Cdigo

Mensagens
Console - sada de texto
Barra de estado / linha

Processing e Arduino // uma introduo coleta de dados 8 /40


O ambiente do Processing

Processing e Arduino // uma introduo coleta de dados 9 /40


Algumas dicas antes de comear

> Procure explorar exemplos (File > Examples)


> Voc pode comentar o cdigo com barras ( // )
// este um lembrete de como funciona o sketch
> Mantenha seu cdigo organizado ( Edit > Auto-Format)
> Livros: Getting Started with Processing, Processing - A
programming Handbook, Processing Creative Coding
> A documentao muito boa! Help > Reference
> A comunidade ativa: forum.processing.org
> Inspire-se em openprocessing.org
> Estudar sempre!

Processing e Arduino // uma introduo coleta de dados 10 /40


Cor

> background (R, G, B)


> fill (R, G, B) ou fill (cinza) ou fill (R, G, B, A) ou fill (cinza, A)
> colorMode (HSB, 100, 100, 100); fill(H, S, B)
> stroke (R, G, B)
> strokeWeight (espessura)

Processing e Arduino // uma introduo coleta de dados 11 /40


Principais funes de desenho

> ellipse (coordenada x, coordenada y, largura, altura);


> rect (coordenada x, coordenada y, largura, altura);
> line (x do ponto1, y do ponto1, x do ponto2, y do ponto2);
> beginShape(); vertex(X, Y); curveVertex(X, Y); endShape();

Processing e Arduino // uma introduo coleta de dados 12 /40


TEMPO PARA EXPERIMENTAR
FORMAS

Processing e Arduino // uma introduo coleta de dados 13 /40


Variveis

> um dado que recebe um nome


> Precisam ser declaradas antes de usadas
tipo nome = valor;
Ex: int x = 200;

Tipos
> int nmeros inteiros Ex: 2, 174, 0, -7
> float nmeros fracionrios Ex: 1.5, 4.7
> String caracteres e textos Ex: A, Labvis, #carnaval2015
> boolean binrio Ex: true, false; HIGH, LOW

Especiais
width, height, mouseX, mouseY

Processing e Arduino // uma introduo coleta de dados 14 /40


Programa

void setup(){
// o setup roda apenas uma vez ao iniciar o programa
size(800, 600); // tamanho da janela
}

void draw(){
// o draw roda em loop, ininterruptamente, na ordem das linhas
background(0);
}

funo(parmetros);

Processing e Arduino // uma introduo coleta de dados 15 /40


Variveis no Programa

VARIVEIS int x;
GLOBAIS int y = 200;

void setup(){
size(800, 600); // tamanho da janela
x = width/2;
}

void draw(){
VARIVEIS int t = 10;
LOCAIS ellipse(x, y, t, t);
t++;
}

Processing e Arduino // uma introduo coleta de dados 16 /40


Condicional

if(condio){ // bloco de comandos } else


(A == B) A igual a B?
(A != B) A diferente de B?
(A > B) A maior que B?
(A < B) A menor que B?
(A >= B) A maior ou igual a B?
(A <= B) A menor ou igual a B?

Conectores
cond1 && cond 2 condio 1 E 2 so verdadeiras
cond1 II cond 2 condio 1 OU 2 so verdadeiras
!cond1 condio 1 falsa

Processing e Arduino // uma introduo coleta de dados 17 /40


Repetio

Inicializao (uma vez apenas)


Teste
Iterao // comandos
Atualizao

for(int i = 0; i < 10; i++){


// for auxilia na repetio de comandos
// declara uma varivel i = 0;
// se o i for menor do que 10 execute bloco de comandos
// aps executar os comandos, acrescente 1 no i
// o i continua menor do que 10? caso sim, rode denovo,
caso no, continue o programa }

Processing e Arduino // uma introduo coleta de dados 18 /40


TEMPO PARA EXPERIMENTAR
VARIVEIS

Processing e Arduino // uma introduo coleta de dados 19 /40


Interao com mouse
> Posio - variveis especiais
mouseX, mouseY, pmouseX, pmouseY

> Funes evento ocorrem toda vez que h uma ao


independente de serem chamadas
mouseClicked(); // apenas para o momento do clique
mousePressed(); // enquanto o boto estiver apertado
mouseDragged(); // enquanto apertado e movendo
mouseReleased(); // apenas para o momento que solta
mouseMoved(); // quando o mouse estiver em movimento

> Especificando o boto


if(mouseButton == LEFT){...

Processing e Arduino // uma introduo coleta de dados 20 /40


Interao com teclado
> Boolean if(keyPressed){
fill(150);
}

> Funo void keyPressed(){


if(key == s){
saveFrame(teste.jpg);
}
if(key == CODED){
if(keyCode == RIGHT){
x+=10;
}
}
}

Processing e Arduino // uma introduo coleta de dados 21 /40


TEMPO PARA EXPERIMENTAR
INTERAO

Processing e Arduino // uma introduo coleta de dados 22 /40

You might also like