SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ideHeider Lopes
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetSaymon Cristian Alves Oliveira
 
Programando robôs Lego com NXC
Programando robôs Lego com NXC Programando robôs Lego com NXC
Programando robôs Lego com NXC Isvaldo Souza
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoFátima Bernardes
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013Arthur Francisco Lorenzon
 
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Arthur Francisco Lorenzon
 
Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05Tiago Barros
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Fernando Passold
 
[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way
[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way
[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy WayVinícius Feitosa
 
Java.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com JavaJava.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com JavaNewton Gomes
 
A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlangelliando dias
 
Robot Lego programado em Java
Robot Lego programado em JavaRobot Lego programado em Java
Robot Lego programado em JavaJoao Alves
 
Grupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São PauloGrupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São PauloHenrique Dória
 
Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Tiago Barros
 
Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)guest14543db
 

Tendances (20)

Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ide
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Programando robôs Lego com NXC
Programando robôs Lego com NXC Programando robôs Lego com NXC
Programando robôs Lego com NXC
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013
 
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 
[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way
[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way
[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Java.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com JavaJava.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com Java
 
A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlang
 
Robot Lego programado em Java
Robot Lego programado em JavaRobot Lego programado em Java
Robot Lego programado em Java
 
Grupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São PauloGrupo de Robótica do Instituto Federal de São Paulo
Grupo de Robótica do Instituto Federal de São Paulo
 
Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02
 
Mini Curso Introdutório ao Arduino
Mini Curso Introdutório ao ArduinoMini Curso Introdutório ao Arduino
Mini Curso Introdutório ao Arduino
 
Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)
 

Similaire à Introdução ao Processing e Arduino para prototipagem interativa

Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfCliverRaimundo2
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & TruquesÁlvaro Justen
 
Open Hardware & Arduino
Open Hardware & ArduinoOpen Hardware & Arduino
Open Hardware & Arduinoelliando dias
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep auroraJuliete Souza
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014Fabio Souza
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoDomingosRodrigues16
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...PotiLivre Sobrenome
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 
Workshop Franzininho: um Arduino para todos
Workshop Franzininho: um Arduino para todosWorkshop Franzininho: um Arduino para todos
Workshop Franzininho: um Arduino para todosEronides Da Silva Neto
 

Similaire à Introdução ao Processing e Arduino para prototipagem interativa (20)

Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdf
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
Open Hardware & Arduino
Open Hardware & ArduinoOpen Hardware & Arduino
Open Hardware & Arduino
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep aurora
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
 
CURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptxCURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptx
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Apresentando o Arduino - UESPI
Apresentando o Arduino - UESPIApresentando o Arduino - UESPI
Apresentando o Arduino - UESPI
 
TDC2014 - Arduino Legacy
TDC2014 - Arduino LegacyTDC2014 - Arduino Legacy
TDC2014 - Arduino Legacy
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
nodeLHC #secomp2016
nodeLHC #secomp2016nodeLHC #secomp2016
nodeLHC #secomp2016
 
Guia AC mod 5
Guia AC mod 5Guia AC mod 5
Guia AC mod 5
 
Workshop Franzininho: um Arduino para todos
Workshop Franzininho: um Arduino para todosWorkshop Franzininho: um Arduino para todos
Workshop Franzininho: um Arduino para todos
 

Plus de Daniel Paz de Araújo

Transbordamentos da Arte Contemporânea
Transbordamentos da Arte ContemporâneaTransbordamentos da Arte Contemporânea
Transbordamentos da Arte ContemporâneaDaniel Paz de Araújo
 
AirCity Research - Apresentação #12.ART
AirCity Research - Apresentação #12.ARTAirCity Research - Apresentação #12.ART
AirCity Research - Apresentação #12.ARTDaniel Paz de Araújo
 
Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...
Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...
Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...Daniel Paz de Araújo
 
Mídias Locativas em Narrativas Artísticas e Culturais
Mídias Locativas em Narrativas Artísticas e CulturaisMídias Locativas em Narrativas Artísticas e Culturais
Mídias Locativas em Narrativas Artísticas e CulturaisDaniel Paz de Araújo
 
Interface Submersiva em Jogos de Treinamentos e Negócios
Interface Submersiva em Jogos de Treinamentos e NegóciosInterface Submersiva em Jogos de Treinamentos e Negócios
Interface Submersiva em Jogos de Treinamentos e NegóciosDaniel Paz de Araújo
 

Plus de Daniel Paz de Araújo (10)

Projeto de design editorial digital
Projeto de design editorial digitalProjeto de design editorial digital
Projeto de design editorial digital
 
Transbordamentos da Arte Contemporânea
Transbordamentos da Arte ContemporâneaTransbordamentos da Arte Contemporânea
Transbordamentos da Arte Contemporânea
 
User eXperience
User eXperienceUser eXperience
User eXperience
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
AirCity Research - Apresentação #12.ART
AirCity Research - Apresentação #12.ARTAirCity Research - Apresentação #12.ART
AirCity Research - Apresentação #12.ART
 
Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...
Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...
Hyperbuilder: uma ferramenta para autoria de material didático estruturado pa...
 
Mídias Locativas em Narrativas Artísticas e Culturais
Mídias Locativas em Narrativas Artísticas e CulturaisMídias Locativas em Narrativas Artísticas e Culturais
Mídias Locativas em Narrativas Artísticas e Culturais
 
Interface Submersiva em Jogos de Treinamentos e Negócios
Interface Submersiva em Jogos de Treinamentos e NegóciosInterface Submersiva em Jogos de Treinamentos e Negócios
Interface Submersiva em Jogos de Treinamentos e Negócios
 

Introdução ao Processing e Arduino para prototipagem interativa

  • 1. 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
  • 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 ● 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
  • 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(){ }
  • 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 ● Usado por: ○ 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
  • 16. 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.
  • 18. Protoboard Conexões horizontais Conexões verticais Conexões verticais Conexões horizontais
  • 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 ● 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>)
  • 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 ou 1) ● 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);
  • 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 ● 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
  • 32. 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
  • 33. Resistor ● O valor da resistência de um resistor pode ser identificado de acordo com as cores de sua cápsula
  • 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)
  • 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)
  • 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
  • 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
  • 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