Processing e Arduino

57
Processing e Arduino 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 Daniel Paz de Araújo Hermes Renato Hildebrand

Transcript of Processing e Arduino

Processing e Arduino

I-SigatecSimpósio Internacional de Games, Mundos Virtuais e Tecnologias na Educação

Simpósio de Artes, Mídias Locativas e Tecnologias na Educação

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

Entradas analógicasPinos de Alimentação

Microcontrolador

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 horizontais

Conexões verticais

Conexões verticais

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,02R = 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

Processinge 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

Processinge 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

Executarhttp://w.index.etc.br/processingearduino

Processinge 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

Executarhttp://w.index.etc.br/processingearduino

Processinge 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

Executarhttp://w.index.etc.br/processingearduino