I-Sigatec 
Simpósio Internacional de Games, Mundos Virtuais e Tecnologias na Educação 
Simpósio de Artes, Mídias Locativas e Tecnologias na Educação 
Processing e Arduino 
Daniel Paz de Araújo Hermes Renato Hildebrand
Processing 
Introdução
O que é? 
● Criado em 2001 
● Promove o aprendizado de desenvolvimento de 
software 
● Linguagem de programação 
● Ambiente de desenvolvimento 
● Comunidade online
Aplicações 
Usado por: 
Artistas 
Designers 
Hobbistas 
● Para criar interatividade em ambientes
Como funciona 
● Open Source: gratuito para uso e alteração 
● Programação interativa com saída 2d, 3d, PDF. 
● Integração com OpenGL para aceleração gráfica 
● Para GNU/Linux, Windows e MacOS 
● Mais de 100 bibliotecas extendidas
PDE 
● Processing Development Environment 
● Um programa é chamado de sketch 
● Sketches podem criar desenhos em 2 ou 3 dimensões 
● Existem bibliotecas para tratar entrada e saída de 
áudio e vídeo. 
● Os sketches são armazenados no Sketchbook que é um 
diretório no computador
PDE 
Executar 
Parar 
Novo 
Abrir 
Salvar 
Exportar
Métodos básicos 
● setup: executado ao inicializar 
void setup(){ 
} 
● draw: executado para “desenhar” 
void draw(){ 
}
Arduino 
Introdução
O que é? 
● Criado por Massimo Banzi na Itália 
● Plataforma de prototipagem com hardware e software 
open source 
● Permite "sentir" e "controlar" objetos e ambientes 
● Busca complementar o ensino de programação, 
computação física e gráfica 
● O hardware pode ser construído ou comprado 
● Download em: www.arduino.cc
Aplicações 
● Usado por: 
○ Artistas 
○ Designers 
○ Hobbistas 
● Para criar interatividade em: 
○ Objetos 
○ Ambientes
Como funciona? 
● Plataforma baseada em Atmel 
● IDE baseada em Processing 
● Linguagem Arduino baseada em Wiring 
● Oferece bibliotecas de alto nível 
● Transferência de firmware via USB 
● Microcontrolador com Bootloader
MCU AtMega328 
● Plataforma RISC 
● 20 MIPS (Milhões de instruções por segundo) 
● 32kb flash (2kb para bootloader) 
● 1kb EEPROM 
● Clock 16MHz 
● 14 portas digitais (6 PWM) 
● 6 portas analógicas 
● Voltagem de entrada: 7 - 12 V
Arduino UNO 
USB 
Energia 
Entradas e saídas digitais 
Microcontrolador 
Pinos de Alimentação Entradas analógicas 
Reset
Arduino 
Protoboard
Protoboard 
● Matriz de contato ou placa de ensaio 
● Placa com furos e conexões condutoras 
● substitui a soldagem 
● Variam de 80 a 6000 furos 
● Possui conexões verticais e horizontais.
Protoboard
Protoboard 
Conexões 
horizontais 
Conexões 
verticais 
Conexões 
verticais 
Conexões 
horizontais
Arduino 
Programação
IDE Arduino 
● Para Windows, MacOS e Linux 
● Necessita Java para executar (JVM) 
● Transferência via USB pelo IDE 
● Download em: www.arduino.cc
IDE Arduino 
Verificar 
Carregar 
Novo 
Abrir 
Salvar
Métodos básicos 
● setup: executado ao ligar a placa 
void setup(){ 
} 
● loop: executado infinitamente 
void loop(){ 
}
Portas 
● Os componentes são conectados nas portas digitais e 
analógicas 
● As portas são manipuladas por: 
○ pinMode(<porta>, <modo>) 
○ digitalWrite(<porta>), 0 ou 1) 
○ digitalRead(<porta>) 
○ analogRead(<porta>) 
○ analogWrite(<porta>, <valor>)
piMode(<porta>, <modo>) 
● Normalmente fica no método setup() 
● Configura uma porta digital para ENTRADA ou SAÍDA 
● Exemplos: 
pinMode(11, INPUT); 
pinMode(12, OUTPUT);
digitalWrite(<porta>, 0 ou 1) 
● Escreve 0 ou 1 na porta digital 
● Exemplos: 
digitalWrite(11, 1); // ~5V 
digitalWrite(11, 0);
digitalRead(<porta>) 
● Lê 0 ou 1 na porta digital 
● Exemplo: 
int botao = digitalRead(11);
analogRead(<porta>) 
● Lê de 0 a 1023 na porta analógica 
● Exemplo: 
int luz = analogRead(0);
analogWrite(<porta>, <valor>) 
● Escreve de 0 a 255 (~5V) na porta PWM (digital que 
pode ser usada como analógica) 
● Exemplo: 
analogWrite(11,200);
Arduino 
Dispositivos
LED 
● LED: Light Emitting Diode = Diodo Emissor de Luz 
● Permite ou impede a passagem de corrente elétrica 
● Os pólos podem ser identificados visualmente
LED 
● Sua voltagem varia de acordo com a cor: 
○ Vermelho: 1.6 V 
○ Verde: 2.1 V 
○ Amarelo: 2.1 V 
○ Laranja: 2.2 V 
○ Azul: 4 - 5 V
Resistor 
● Resistência elétrica 
○ oposição à passagem de corrente elétrica 
○ medida em ohms: Ω 
● Transforma energia elétrica em energia térmica 
● Limita a quantidade de corrente elétrica
Resistor 
● O valor da resistência de um resistor pode ser 
identificado de acordo com as cores de sua cápsula
Resistor
Arduino 
Experimento 1: LED
Experimento 1 
● Resitor: 
○ Saída Arduino: 5 V 
○ LED Vermelho: 1.6 V 
○ Corrente do LED: ~20 mA 
● Lei de Ohm: 
○ U = R * i 
○ R = U / i 
R = (5 - 1,6) / 0,02 
R = 3,4 / 0,02 
R = 170 ohms
Experimento 1 
● Objetivo: piscar um LED 
● Materiais: 
○ Arduino 
○ Protoboard 
○ Fios de conexão 
○ LED 
○ Resistor (>= 170 ohm)
Experimento 1
Experimento 1 
● Criar o programa 
● Compilar 
● Carregar 
http://w.index.etc.br/cursoarduino
Processing 
e Arduino 
Integração
Processing e Arduino 
Preparar Arduino: 
● Conectar a placa Arduino 
● Executar a IDE Arduino 
● Abrir: 
Examples > Firmata > StandardFirmata 
● Subir o StandardFirmadata para a placa Arduino
Processing e Arduino 
Preparar Processing: 
● Baixar a biblioteca Arduino para Processing: 
http://playground.arduino.cc/interfacing/processing 
● Instalar a biblioteca Arduino no Processing 
● Abrir o exemplo ARDUINO_INPUT
Processing e Arduino 
Executar Processing com o Arduino 
● Rodar exemplo ARDUINO_INPUT 
● Tocar com a mão na parte de trás das portas da placa 
Arduino 
● Verificar se os desenhos no Processing foram 
alterados
Processing 
e Arduino 
Experimento 2: LED com Mouse
Experimento 2 
● Objetivo: mudar a intensidade do LED pelo Mouse 
● Materiais: 
○ Processing 
○ Arduino 
○ Protoboard 
○ Fios de conexão 
○ LED 
○ Resistor (>= 170 ohm)
Experimento 2
Experimento 2 
● Arduino: 
○ Criar o programa 
○ Compilar 
○ Carregar 
● Processing: 
○ Criar o programa 
○ Executar 
http://w.index.etc.br/processingearduino
Processing 
e Arduino 
Experimento 3: Potenciômetro com Gráfico
Experimento 3 
● Objetivo: desenhar no Processing com potenciômetro 
● Materiais: 
○ Processing 
○ Arduino 
○ Protoboard 
○ Fios de conexão 
○ Potenciômetro
Experimento 3
Experimento 3 
● Arduino: 
○ Criar o programa 
○ Compilar 
○ Carregar 
● Processing: 
○ Criar o programa 
○ Executar 
http://w.index.etc.br/processingearduino
Processing 
e Arduino 
Experimento 4: Potenciômetro com Video
Experimento 4 
● Objetivo: dividir vídeo no Processing com 
potenciômetro 
● Materiais: 
○ Processing 
○ Arduino 
○ Protoboard 
○ Fios de conexão 
○ Potenciômetro
Experimento 4
Experimento 4 
● Arduino: 
○ Criar o programa 
○ Compilar 
○ Carregar 
● Processing: 
○ Criar o programa 
○ Executar 
http://w.index.etc.br/processingearduino
Referências 
● Arduino.cc 
● Circuits.io 
● OpenProcessing.org 
● LearningProcessing.com 
● Processing.org
Obrigado! 
● www.danielpaz.net 
● www.hrenatoh.net 
● www.index.etc.br

Processing e Arduino

  • 1.
    I-Sigatec Simpósio Internacionalde Games, Mundos Virtuais e Tecnologias na Educação Simpósio de Artes, Mídias Locativas e Tecnologias na Educação Processing e Arduino Daniel Paz de Araújo Hermes Renato Hildebrand
  • 2.
  • 3.
    O que é? ● Criado em 2001 ● Promove o aprendizado de desenvolvimento de software ● Linguagem de programação ● Ambiente de desenvolvimento ● Comunidade online
  • 4.
    Aplicações Usado por: Artistas Designers Hobbistas ● Para criar interatividade em ambientes
  • 5.
    Como funciona ●Open Source: gratuito para uso e alteração ● Programação interativa com saída 2d, 3d, PDF. ● Integração com OpenGL para aceleração gráfica ● Para GNU/Linux, Windows e MacOS ● Mais de 100 bibliotecas extendidas
  • 6.
    PDE ● ProcessingDevelopment Environment ● Um programa é chamado de sketch ● Sketches podem criar desenhos em 2 ou 3 dimensões ● Existem bibliotecas para tratar entrada e saída de áudio e vídeo. ● Os sketches são armazenados no Sketchbook que é um diretório no computador
  • 7.
    PDE Executar Parar Novo Abrir Salvar Exportar
  • 8.
    Métodos básicos ●setup: executado ao inicializar void setup(){ } ● draw: executado para “desenhar” void draw(){ }
  • 9.
  • 10.
    O que é? ● Criado por Massimo Banzi na Itália ● Plataforma de prototipagem com hardware e software open source ● Permite "sentir" e "controlar" objetos e ambientes ● Busca complementar o ensino de programação, computação física e gráfica ● O hardware pode ser construído ou comprado ● Download em: www.arduino.cc
  • 11.
    Aplicações ● Usadopor: ○ Artistas ○ Designers ○ Hobbistas ● Para criar interatividade em: ○ Objetos ○ Ambientes
  • 12.
    Como funciona? ●Plataforma baseada em Atmel ● IDE baseada em Processing ● Linguagem Arduino baseada em Wiring ● Oferece bibliotecas de alto nível ● Transferência de firmware via USB ● Microcontrolador com Bootloader
  • 13.
    MCU AtMega328 ●Plataforma RISC ● 20 MIPS (Milhões de instruções por segundo) ● 32kb flash (2kb para bootloader) ● 1kb EEPROM ● Clock 16MHz ● 14 portas digitais (6 PWM) ● 6 portas analógicas ● Voltagem de entrada: 7 - 12 V
  • 14.
    Arduino UNO USB Energia Entradas e saídas digitais Microcontrolador Pinos de Alimentação Entradas analógicas Reset
  • 15.
  • 16.
    Protoboard ● Matrizde contato ou placa de ensaio ● Placa com furos e conexões condutoras ● substitui a soldagem ● Variam de 80 a 6000 furos ● Possui conexões verticais e horizontais.
  • 17.
  • 18.
    Protoboard Conexões horizontais Conexões verticais Conexões verticais Conexões horizontais
  • 19.
  • 20.
    IDE Arduino ●Para Windows, MacOS e Linux ● Necessita Java para executar (JVM) ● Transferência via USB pelo IDE ● Download em: www.arduino.cc
  • 21.
    IDE Arduino Verificar Carregar Novo Abrir Salvar
  • 22.
    Métodos básicos ●setup: executado ao ligar a placa void setup(){ } ● loop: executado infinitamente void loop(){ }
  • 23.
    Portas ● Oscomponentes são conectados nas portas digitais e analógicas ● As portas são manipuladas por: ○ pinMode(<porta>, <modo>) ○ digitalWrite(<porta>), 0 ou 1) ○ digitalRead(<porta>) ○ analogRead(<porta>) ○ analogWrite(<porta>, <valor>)
  • 24.
    piMode(<porta>, <modo>) ●Normalmente fica no método setup() ● Configura uma porta digital para ENTRADA ou SAÍDA ● Exemplos: pinMode(11, INPUT); pinMode(12, OUTPUT);
  • 25.
    digitalWrite(<porta>, 0 ou1) ● Escreve 0 ou 1 na porta digital ● Exemplos: digitalWrite(11, 1); // ~5V digitalWrite(11, 0);
  • 26.
    digitalRead(<porta>) ● Lê0 ou 1 na porta digital ● Exemplo: int botao = digitalRead(11);
  • 27.
    analogRead(<porta>) ● Lêde 0 a 1023 na porta analógica ● Exemplo: int luz = analogRead(0);
  • 28.
    analogWrite(<porta>, <valor>) ●Escreve de 0 a 255 (~5V) na porta PWM (digital que pode ser usada como analógica) ● Exemplo: analogWrite(11,200);
  • 29.
  • 30.
    LED ● LED:Light Emitting Diode = Diodo Emissor de Luz ● Permite ou impede a passagem de corrente elétrica ● Os pólos podem ser identificados visualmente
  • 31.
    LED ● Suavoltagem varia de acordo com a cor: ○ Vermelho: 1.6 V ○ Verde: 2.1 V ○ Amarelo: 2.1 V ○ Laranja: 2.2 V ○ Azul: 4 - 5 V
  • 32.
    Resistor ● Resistênciaelétrica ○ oposição à passagem de corrente elétrica ○ medida em ohms: Ω ● Transforma energia elétrica em energia térmica ● Limita a quantidade de corrente elétrica
  • 33.
    Resistor ● Ovalor da resistência de um resistor pode ser identificado de acordo com as cores de sua cápsula
  • 34.
  • 35.
  • 36.
    Experimento 1 ●Resitor: ○ Saída Arduino: 5 V ○ LED Vermelho: 1.6 V ○ Corrente do LED: ~20 mA ● Lei de Ohm: ○ U = R * i ○ R = U / i R = (5 - 1,6) / 0,02 R = 3,4 / 0,02 R = 170 ohms
  • 37.
    Experimento 1 ●Objetivo: piscar um LED ● Materiais: ○ Arduino ○ Protoboard ○ Fios de conexão ○ LED ○ Resistor (>= 170 ohm)
  • 38.
  • 39.
    Experimento 1 ●Criar o programa ● Compilar ● Carregar http://w.index.etc.br/cursoarduino
  • 40.
    Processing e Arduino Integração
  • 41.
    Processing e Arduino Preparar Arduino: ● Conectar a placa Arduino ● Executar a IDE Arduino ● Abrir: Examples > Firmata > StandardFirmata ● Subir o StandardFirmadata para a placa Arduino
  • 42.
    Processing e Arduino Preparar Processing: ● Baixar a biblioteca Arduino para Processing: http://playground.arduino.cc/interfacing/processing ● Instalar a biblioteca Arduino no Processing ● Abrir o exemplo ARDUINO_INPUT
  • 43.
    Processing e Arduino Executar Processing com o Arduino ● Rodar exemplo ARDUINO_INPUT ● Tocar com a mão na parte de trás das portas da placa Arduino ● Verificar se os desenhos no Processing foram alterados
  • 44.
    Processing e Arduino Experimento 2: LED com Mouse
  • 45.
    Experimento 2 ●Objetivo: mudar a intensidade do LED pelo Mouse ● Materiais: ○ Processing ○ Arduino ○ Protoboard ○ Fios de conexão ○ LED ○ Resistor (>= 170 ohm)
  • 46.
  • 47.
    Experimento 2 ●Arduino: ○ Criar o programa ○ Compilar ○ Carregar ● Processing: ○ Criar o programa ○ Executar http://w.index.etc.br/processingearduino
  • 48.
    Processing e Arduino Experimento 3: Potenciômetro com Gráfico
  • 49.
    Experimento 3 ●Objetivo: desenhar no Processing com potenciômetro ● Materiais: ○ Processing ○ Arduino ○ Protoboard ○ Fios de conexão ○ Potenciômetro
  • 50.
  • 51.
    Experimento 3 ●Arduino: ○ Criar o programa ○ Compilar ○ Carregar ● Processing: ○ Criar o programa ○ Executar http://w.index.etc.br/processingearduino
  • 52.
    Processing e Arduino Experimento 4: Potenciômetro com Video
  • 53.
    Experimento 4 ●Objetivo: dividir vídeo no Processing com potenciômetro ● Materiais: ○ Processing ○ Arduino ○ Protoboard ○ Fios de conexão ○ Potenciômetro
  • 54.
  • 55.
    Experimento 4 ●Arduino: ○ Criar o programa ○ Compilar ○ Carregar ● Processing: ○ Criar o programa ○ Executar http://w.index.etc.br/processingearduino
  • 56.
    Referências ● Arduino.cc ● Circuits.io ● OpenProcessing.org ● LearningProcessing.com ● Processing.org
  • 57.
    Obrigado! ● www.danielpaz.net ● www.hrenatoh.net ● www.index.etc.br