SlideShare uma empresa Scribd logo
+ Palestrante: Adauto Silva Email: Adauttosilva@gmail.com
O QUE É PROCESSING?
O QUE É PROCESSING? É um ambiente de programação. Open-source. Resultado da simplificação de Java com C++. Utilizada na aprendizagem, prototipagem e produção. http://diegovics.blogspot.com/2011/04/processing.html/
HISTÓRICO Iniciou em 2001 Casey Reas  Benjamin Fry http://90.146.8.18/en/archives/picture_ausgabe_02_new.asp?iAreaID=274&showAreaID=292&page=16&pagesize=20&order=source
VANTAGENS DO PROCESSING Bem documentado (apesar da maioria esmagadora do material ser em inglês). Com várias API’s (Interface de Programação de Aplicativos). Download grátis e código aberto. Permite a construção de programas interativos usando saída 2D, 3D ou PDF. OpenGL para aceleração 3D. Disponível  para Linux, Windows e Mac. Projetos rodam on-line ou com executáveis. Mais de 100 bibliotecas que estendem o software em termos de som, vídeo, visão computacional, entre outros.
VANTAGENS DO PROCESSING Bem documentado (apesar da maioria esmagadora do material ser em inglês). Com várias API’s (Interface de Programação de Aplicativos). Download grátis e código aberto. Permite a construção de programas interativos usando saída 2D, 3D ou PDF. OpenGL para aceleração 3D. Disponível  para Linux, Windows e Mac. Projetos rodam on-line ou com executáveis. Mais de 100 bibliotecas que estendem o software em termos de som, vídeo, visão computacional, entre outros.
INTERFACE PROCESSING http://processing.org/about/
Bloco Principal Void Setup() Void draw()
EXEMPLO DE PROGRAMAÇÃO int  x=255, y=0, troca, ativo=0; //declaração de variáveis globais. void setup()  //tudo que vai ser carregado no inico do programa. { size  (200,200); //dimensiona tamanho da tela. background  (255); //determina cor de fundo principal. } void draw()  //loop que desenha as interações. { background  (255); //determina a cor periodicamente, //limpando as interações da tela. println  ( mouseX ); //escreve a posição do mouse em X. println  ( mouseY ); //escreve a posição do mouse em Y. FORMAS PARTE 1
EXEMPLO DE PROGRAMAÇÃO stroke  (2); //cor do traçado. strokeWeight  (3); //largura do traçado. fill  (x); //muda a cor dos objetos seguintes. rect  (50,50,50,50); //desenha um quadrado de inicio em 50,50 //e de tamanho 50x50. fill  (0); line  (50,50,100,100); //desenha uma linha (x,y) //de inicio em 50,50 e termino em 100,100. line  (100,50,150,100); line  (50,100,100,150); fill  (y); rect  (100,100,50,50);  fill  (0); line  (100,100,150,150); FORMAS PARTE 2
EXEMPLO DE PROGRAMAÇÃO if  ( mousePressed ) //se mouse pressionado. { fill  (150); ellipse  ( mouseX , mouseY ,30,30); //cria uma elipse. fill  (0); } } void   mouseClicked () //se mouse clicado. { if  ( mouseX >100 &&  mouseX <150 &&  mouseY >100 &&  mouseY <150 && ativo==0) { troca=x; FORMAS PARTE 3
EXEMPLO DE PROGRAMAÇÃO x=y; y=troca; ativo=1; } if ( mouseX >50 &&  mouseX <100 &&  mouseY >50 &&  mouseY <100 && ativo==1) { troca=x; x=y; y=troca; ativo=0; } } FORMAS PARTE 4
EXEMPLO DE PROGRAMAÇÃO RESULTADO Imagem própria
EXEMPLOS COM PROCESSING http://australianrobotics.com.au/products/getting-started-with-processing http://www.randomtype.com/?p=55 http://createdigitalmotion.com/2008/02/processing-class-in-new-york-online-art-from-code-for-non-coders/ http://twr.cs.kuleuven.be/researchTopics.html http://nomada.blogs.com/jfreire/2006/04/software_art_ca.html
LIVROS Processing: A programming Handbook for visual Designers and Artists, Casey Reas and Ben Fry, 2007 Processing: Creative Coding and Computational Art, Ira Greenberg, 2007
Arduino – USO E APLICAÇÕES
COMPUTAÇÃO FISICA
HISTÓRICO Local Ivrea, Itália  Ano 2005 Comunidades Digitais em 2006 Pris Arm Eletronicas 50.000 Placas
HISTÓRICO Gianluca Martino David Mellis. David Cuartielles Tom Igoe Massimo Banzi http://pt.wikipedia.org/wiki/Arduino http://pt.wikipedia.org/wiki/Arduino
O QUE È ARDUINO? http://www.arduinobrasil.com/2011/01/uno/,
O QUE É ARDUINO? É uma placa Open-source Microcontrolador Atmel  Suporte a  entradas e saidas Linguagem de programação Wiring C/C++
ARDUINO UNO http://www.arduinobrasil.com/2011/01/uno/,
PWM http://www.arduino.cc/en/Tutorial/PWM http://pt.wikipedia.org/wiki/Arduino
MODELOS DE ARDUINOS ' http://www.arduino.cc/en/Tutorial/PWM http://leomar.com.br http://leomar.com.br http://leomar.com.br http://pt.wikipedia.org/wiki/Arduino http://www.arduino.cc/en/Tutorial/PWM
MODELOS DE SHIELD http://www.jarenhavell.com/Projects/projects/arduino/ http://nicegear.co.nz/arduino-shields/gsm-cellular-shield-with-sm5100b/ http://www.robotshop.com/ProductInfo.aspx?pc=RB-Ard- 05
MODELOS CLONES http://www.solarbotics.com/products/28920 / http://brasuino.holoscopio.com/
MODELOS USANDO OUTRO MICROCONTROLADOR http://www.bugblat.com/products/cor.html http://www.zeitounian.com.br/pinguino/
VANTAGENS DO ARDUINO Fácil programação. Inúmeras aplicações. Bastante material documentado. Prático. Possui vários Shields (Rede, Bluetooth, GSM...) Barato. http://technabob.com/blog/2008/10/27/arduino-gamepack-make-your-own-open-source-gameboy/ http://hacknmod.com/hack/top-40-arduino-projects-of-the-web/
INTERFACE DE PROGRAMAÇAO http://www.openframeworks.cc/ http://pyserial.sourceforge.net/ http://www.openframeworks.cc/ http://pyserial.sourceforge.net/
IDE ARDUINO http://www.arduino.cc/en/Main/Software Fonte Própria
Bloco Principal Void Setup() Void loop()
Instrunções básicas pinMode(pino, nível  logico); digitalRead(pino); digitalWrite(pino, nível  logico); analogRead(pino); delay(ms);
Liga led void setup(){  pinMode(13,OUTPUT); // define que o pino 13 é saida } void loop(){ digitalWrite(13,HIGH); // coloco o pino 13 em nivel logico alto }
Polaridade do LED http://lusorobotica.com/index.php?topic=1768 .0
Tabela de Cores http://www.eletrica.info/tabela-de-resistores/
Tabela de Cores http://www.eletrica.info/tabela-de-resistores/
Liga led http://makebits.net/arduino-de-principiante-a-utilizador-avancado-aula-1/ http://makebits.net/arduino-de-principiante-a-utilizador-avancado-aula-1/
Pisca led // Programa para pisca um led. void setup(){ pinMode(13,OUTPUT); // define que a porta 13 vai ser saida } void loop(){ digitalWrite(13,HIGH); // colocao nivel da porta 13 alto =5V delay(1000); // gera um atraso de 1 segundo. digitalWrite(13,LOW); // coloca o nivel da porta 13 baixo =0V delay(1000); // gera um atraso de 1 segundo. }
Leitura analógica // Controlar a velocidade do pulso das bobinas do motor de passo int temp; // cria uma variavel. void setup() {  pinMode(13,OUTPUT); // define que a porta 13 vai ser saida pinMode(12,OUTPUT); // define que a porta 12 vai ser saida pinMode(11,OUTPUT); // define que a porta 11 vai ser saida pinMode(10,OUTPUT); // define que a porta 10 vai ser saida } void loop() { temp=analogRead(A0); // temp recebe o valor lido na porta analogica digitalWrite(13, HIGH); // colocao nivel da porta 13 alto =5V delay(temp);  //atraso em ms.  digitalWrite(13, LOW); // coloca o nivel da porta 13 baixo =0V  delay(temp); //atraso em ms.  digitalWrite(12, HIGH); // colocao nivel da porta 12 alto =5V  delay(temp); //atraso em ms.  digitalWrite(12, LOW); // coloca o nivel da porta 12 baixo =0V  delay(temp); //atraso em ms.  digitalWrite(11, HIGH); // colocao nivel da porta 11 alto =5V  delay(temp);  digitalWrite(11, LOW); // coloca o nivel da porta 11 baixo =0V  delay(temp); digitalWrite(10, HIGH); // colocao nivel da porta 10 alto =5V delay(temp);  digitalWrite(10, LOW); // coloca o nivel da porta 10 baixo =0V  delay(temp); }
EXEMPLOS COM ARDUINO http://andyplekhanov.narod.ru/hard/arduino/arduino.htm http://technabob.com/blog/2008/10/27/arduino-gamepack-make-your-own-open-source-gameboy/ http://blog.bricogeek.com/noticias/electronica/video-osciloscopio-con-arduino-y-pantalla-grafica-lcd/ http://artduino.wordpress.com/ http://www.hardwaresphere.com/2010/05/19/arduimu-quascopter-the-diy-arduino-helicopter-that-can-avoid-obstacles/
ARM 500 – EQUIPE TECH HUNTERS Imagem própria http://www.equipetechhunters.blogspot.com
PROCESSING + ARDUINO http://www.arduino.com.br/blog/
OBJETIVO Criar uma interface no Processing constituida de um botão que acenderá e apagará um led no Arduino. Além de um botão fisico no Arduino que apagará o led quando pressionado, tendo que a interface Processing demonstrará o ocorrido. LED desligado LED ligado Imagem própria.
http://www.arduino.cc/
PROGRAMANDO ARDUINO int  dados, entra=0, val; //declaração de variáveis.   void setup()  //configurações padrão de seu programa que são      //executadas uma vez. {  Serial.begin (9600); //defino que a porta seria vai ter uma taxa //de transferencia de dados de 9600bps. pinMode (13,  OUTPUT ); // defino que o pino 13 é saida. pinMode (12,  INPUT ); // defino que o pino 12 é entrada. } PARTE 1
PROGRAMANDO ARDUINO void loop()  //vai ser um loop infinito. { if  (  Serial.available()  > 0) //quando a serial tiver dados. {  dados =  Serial.read() ; //dados assume o valor lido da serial. if  (dados=='l') digitalWrite (13,  HIGH ); //ativa a saida do pino 13 ligando o led. if  (dados=='d') digitalWrite (13,  LOW ); //desativa a saida do pino 13 desligando o led. } PARTE 2
PROGRAMANDO ARDUINO val =  digitalRead(12 ) ; //val assume valor lido do pino 12. if  (val== HIGH  && entra==0) { Serial.print ( 'q' ) ; //escreve na serial uma variável. entra=1; }  if  (val== LOW  && entra==1) { Serial.print ( 'w ') ; entra=0; } } PARTE 3
http://tutoriais01.blogspot.com/2011/03/programacao-c-aula-1.html
INTERFACE PROCESSING import processing.serial.* ; //importa a biblioteca para comunicação    //serial. Serial  porta; //declara porta.   int  button1=0; //declara as variáveis. int  entrada=0;   void setup()  //tudo que vai ser carregado no inico do programa. { size  (200,200); //tamanho da tela. background  (255); //cor do fundo preta. porta =  new Serial(this, Serial.list() [0], 9600); //cria objeto serial. } PARTE 1
INTERFACE PROCESSING   void mouseClicked() { //quando o mouse é clicado. if  ( mouseX >50 &&  mouseX <150 &&  mouseY >50 &&  mouseY <150 && button1==0 && entrada==0) //condição para acontecer a ação. { button1=1; rect  (50, 50, 100, 100); //desenha um quadrado. fil l  (255,0,0); //muda a cor dos objetos seguintes. porta.write ('l'); //envia para porta serial um valor. } else if  ( mouseX >50 &&  mouseX <150 &&  mouseY >50 &&  mouseY <150 && button1==1) { button1=0; PARTE 2
INTERFACE PROCESSING    rect  (50, 50, 100, 100); fill  (255,255,255); porta.write ('d'); } } void draw()  //loop que desenha as interações. {  rect  (50, 50, 100, 100); if  ( porta.available()  > 0) //quando a serial tiver dados. { entrada =  porta.read() ; //lê a porta serial. println  (entrada); //imprime o valor da variável no 'text area' do programa. } PARTE 3
INTERFACE PROCESSING     if  (entrada==113) //113 é a representação em ascii de 'q'. { fill  (255,255,255); porta.write ('d'); entrada=67; //numero qualquer só para dar efeito a rotina. } if  (entrada==119) //119 é a representação em ascii de 'w'. { entrada=0; } } PARTE 4
REFERÊNCIAS           http://processing.org/ http://arduino.cc/ http://equipetechhunters.blogspot.com/ http://www.arduino.com.br/blog/ http://pt.wikipedia.org/wiki/Arduino/

Mais conteúdo relacionado

PPTX
Introdução à Programacao em Processing
PDF
Processing e Arduino
PDF
Introdução à Programação Gráfica com Processing
PDF
Processing-introducao
PDF
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
PDF
Conceitos fundamentais de_programacao
PPT
Linguagem C clecioamerico
PDF
Linguagem c
Introdução à Programacao em Processing
Processing e Arduino
Introdução à Programação Gráfica com Processing
Processing-introducao
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Conceitos fundamentais de_programacao
Linguagem C clecioamerico
Linguagem c

Mais procurados (17)

PDF
Cartilhado arduino ed10
PDF
Arduino e Python: Do It Yourself
PPT
Conceitos Fundamentais de Programacao
PDF
Introdução a linguagem c karen lowhany
PPTX
TDC2014 SP - C/C++ - Modularização de Código C
PPT
Interfaces fisicas para dispositivos moveis
PPTX
O compilador dev c++
PPTX
PDF
Linguagem assembly
PDF
Aula09 traducaosin110
ODP
Linguagem C e Dev-C++ Algumas Explicações
PDF
Linguagem C (UFRPE)
PDF
Introdução à Linguagem de Programação C
PDF
5423 c ou c++
PPT
Biblioteca Allegro
PDF
PHP - Strings
PDF
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Cartilhado arduino ed10
Arduino e Python: Do It Yourself
Conceitos Fundamentais de Programacao
Introdução a linguagem c karen lowhany
TDC2014 SP - C/C++ - Modularização de Código C
Interfaces fisicas para dispositivos moveis
O compilador dev c++
Linguagem assembly
Aula09 traducaosin110
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C (UFRPE)
Introdução à Linguagem de Programação C
5423 c ou c++
Biblioteca Allegro
PHP - Strings
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Anúncio

Destaque (10)

PDF
Passeio virtual pelo LHC
PDF
Coleta de configurações com o KORUJA OpenCMDB
PPT
Astrofotografando o céu parte 2 - fábio plocos carvalho e josé carlos diniz
PDF
2011 01-18 ecommerce
PDF
Realidade Aumentada
PDF
Social games
PPTX
Linha do Tempo
PDF
Uma visão do mundo rails campus party 2011 - fabio akita
PDF
Asp Net 4 0 Para Iniciantes Cp 2010
PDF
oficinaProcessingI
Passeio virtual pelo LHC
Coleta de configurações com o KORUJA OpenCMDB
Astrofotografando o céu parte 2 - fábio plocos carvalho e josé carlos diniz
2011 01-18 ecommerce
Realidade Aumentada
Social games
Linha do Tempo
Uma visão do mundo rails campus party 2011 - fabio akita
Asp Net 4 0 Para Iniciantes Cp 2010
oficinaProcessingI
Anúncio

Semelhante a Compus Party - processing e arduino (20)

PPTX
Introdução a plataforma arduino
PPTX
Treinamento arduino (1).pptx
PDF
Minicurso arduino eeep aurora
PDF
Python Para Maemo
PDF
Flutter do zero a publicacao
PPT
Invocação Remota de Procedimentos (RPC)
PPTX
Introdução a arduino, oficina para iniciantes
PPSX
Flutter do zero a publicacao
PDF
Instalacao roip
PDF
Flutter do zero a publicacao
PDF
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
PDF
Minicurso arduino
PDF
Arduino genius com display lcd 16x2 usando i2 c
PDF
Cartao referencia ccs
DOCX
Relatório multiplexadores e decodificadores
PDF
Programando Melhor - Flisol
PDF
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
PPTX
Tutorial JavaFX simples
Introdução a plataforma arduino
Treinamento arduino (1).pptx
Minicurso arduino eeep aurora
Python Para Maemo
Flutter do zero a publicacao
Invocação Remota de Procedimentos (RPC)
Introdução a arduino, oficina para iniciantes
Flutter do zero a publicacao
Instalacao roip
Flutter do zero a publicacao
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
Minicurso arduino
Arduino genius com display lcd 16x2 usando i2 c
Cartao referencia ccs
Relatório multiplexadores e decodificadores
Programando Melhor - Flisol
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Tutorial JavaFX simples

Mais de Campus Party Brasil (20)

PDF
ODP
Buracos negros
PDF
Programação para Atari 2600
PDF
Desenvolvimento de aplicações para o Google App Engine
PDF
Técnicas forenses para a recuperação de arquivos
PPTX
Como ganhar dinheiro no mundo mobile?
ODP
Tempestades solares: mitos e verdades
PDF
A busca por planetas além do sistema solar
PPT
Construção de uma luneta a baixo custo
ODP
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
PPTX
Robótica e educação inclusiva
PDF
Fazendo do jeito certo: criando jogos sofisticados com DirectX
PDF
PDF
Linux para iniciantes
PPTX
Robótica e educação inclusiva
PDF
Gestão e monitoramento de redes e dispositivos com Software Livre
ODP
Confecção de Circuito Impresso
PDF
Vida de Programador
PPTX
Virtualização, cloud computig e suas tendencias
ODP
Desafio Robótica Livre
Buracos negros
Programação para Atari 2600
Desenvolvimento de aplicações para o Google App Engine
Técnicas forenses para a recuperação de arquivos
Como ganhar dinheiro no mundo mobile?
Tempestades solares: mitos e verdades
A busca por planetas além do sistema solar
Construção de uma luneta a baixo custo
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
Robótica e educação inclusiva
Fazendo do jeito certo: criando jogos sofisticados com DirectX
Linux para iniciantes
Robótica e educação inclusiva
Gestão e monitoramento de redes e dispositivos com Software Livre
Confecção de Circuito Impresso
Vida de Programador
Virtualização, cloud computig e suas tendencias
Desafio Robótica Livre

Compus Party - processing e arduino

  • 1. + Palestrante: Adauto Silva Email: Adauttosilva@gmail.com
  • 2. O QUE É PROCESSING?
  • 3. O QUE É PROCESSING? É um ambiente de programação. Open-source. Resultado da simplificação de Java com C++. Utilizada na aprendizagem, prototipagem e produção. http://diegovics.blogspot.com/2011/04/processing.html/
  • 4. HISTÓRICO Iniciou em 2001 Casey Reas Benjamin Fry http://90.146.8.18/en/archives/picture_ausgabe_02_new.asp?iAreaID=274&showAreaID=292&page=16&pagesize=20&order=source
  • 5. VANTAGENS DO PROCESSING Bem documentado (apesar da maioria esmagadora do material ser em inglês). Com várias API’s (Interface de Programação de Aplicativos). Download grátis e código aberto. Permite a construção de programas interativos usando saída 2D, 3D ou PDF. OpenGL para aceleração 3D. Disponível para Linux, Windows e Mac. Projetos rodam on-line ou com executáveis. Mais de 100 bibliotecas que estendem o software em termos de som, vídeo, visão computacional, entre outros.
  • 6. VANTAGENS DO PROCESSING Bem documentado (apesar da maioria esmagadora do material ser em inglês). Com várias API’s (Interface de Programação de Aplicativos). Download grátis e código aberto. Permite a construção de programas interativos usando saída 2D, 3D ou PDF. OpenGL para aceleração 3D. Disponível para Linux, Windows e Mac. Projetos rodam on-line ou com executáveis. Mais de 100 bibliotecas que estendem o software em termos de som, vídeo, visão computacional, entre outros.
  • 8. Bloco Principal Void Setup() Void draw()
  • 9. EXEMPLO DE PROGRAMAÇÃO int x=255, y=0, troca, ativo=0; //declaração de variáveis globais. void setup() //tudo que vai ser carregado no inico do programa. { size (200,200); //dimensiona tamanho da tela. background (255); //determina cor de fundo principal. } void draw() //loop que desenha as interações. { background (255); //determina a cor periodicamente, //limpando as interações da tela. println ( mouseX ); //escreve a posição do mouse em X. println ( mouseY ); //escreve a posição do mouse em Y. FORMAS PARTE 1
  • 10. EXEMPLO DE PROGRAMAÇÃO stroke (2); //cor do traçado. strokeWeight (3); //largura do traçado. fill (x); //muda a cor dos objetos seguintes. rect (50,50,50,50); //desenha um quadrado de inicio em 50,50 //e de tamanho 50x50. fill (0); line (50,50,100,100); //desenha uma linha (x,y) //de inicio em 50,50 e termino em 100,100. line (100,50,150,100); line (50,100,100,150); fill (y); rect (100,100,50,50); fill (0); line (100,100,150,150); FORMAS PARTE 2
  • 11. EXEMPLO DE PROGRAMAÇÃO if ( mousePressed ) //se mouse pressionado. { fill (150); ellipse ( mouseX , mouseY ,30,30); //cria uma elipse. fill (0); } } void mouseClicked () //se mouse clicado. { if ( mouseX >100 && mouseX <150 && mouseY >100 && mouseY <150 && ativo==0) { troca=x; FORMAS PARTE 3
  • 12. EXEMPLO DE PROGRAMAÇÃO x=y; y=troca; ativo=1; } if ( mouseX >50 && mouseX <100 && mouseY >50 && mouseY <100 && ativo==1) { troca=x; x=y; y=troca; ativo=0; } } FORMAS PARTE 4
  • 13. EXEMPLO DE PROGRAMAÇÃO RESULTADO Imagem própria
  • 14. EXEMPLOS COM PROCESSING http://australianrobotics.com.au/products/getting-started-with-processing http://www.randomtype.com/?p=55 http://createdigitalmotion.com/2008/02/processing-class-in-new-york-online-art-from-code-for-non-coders/ http://twr.cs.kuleuven.be/researchTopics.html http://nomada.blogs.com/jfreire/2006/04/software_art_ca.html
  • 15. LIVROS Processing: A programming Handbook for visual Designers and Artists, Casey Reas and Ben Fry, 2007 Processing: Creative Coding and Computational Art, Ira Greenberg, 2007
  • 16. Arduino – USO E APLICAÇÕES
  • 18. HISTÓRICO Local Ivrea, Itália Ano 2005 Comunidades Digitais em 2006 Pris Arm Eletronicas 50.000 Placas
  • 19. HISTÓRICO Gianluca Martino David Mellis. David Cuartielles Tom Igoe Massimo Banzi http://pt.wikipedia.org/wiki/Arduino http://pt.wikipedia.org/wiki/Arduino
  • 20. O QUE È ARDUINO? http://www.arduinobrasil.com/2011/01/uno/,
  • 21. O QUE É ARDUINO? É uma placa Open-source Microcontrolador Atmel Suporte a entradas e saidas Linguagem de programação Wiring C/C++
  • 24. MODELOS DE ARDUINOS ' http://www.arduino.cc/en/Tutorial/PWM http://leomar.com.br http://leomar.com.br http://leomar.com.br http://pt.wikipedia.org/wiki/Arduino http://www.arduino.cc/en/Tutorial/PWM
  • 25. MODELOS DE SHIELD http://www.jarenhavell.com/Projects/projects/arduino/ http://nicegear.co.nz/arduino-shields/gsm-cellular-shield-with-sm5100b/ http://www.robotshop.com/ProductInfo.aspx?pc=RB-Ard- 05
  • 26. MODELOS CLONES http://www.solarbotics.com/products/28920 / http://brasuino.holoscopio.com/
  • 27. MODELOS USANDO OUTRO MICROCONTROLADOR http://www.bugblat.com/products/cor.html http://www.zeitounian.com.br/pinguino/
  • 28. VANTAGENS DO ARDUINO Fácil programação. Inúmeras aplicações. Bastante material documentado. Prático. Possui vários Shields (Rede, Bluetooth, GSM...) Barato. http://technabob.com/blog/2008/10/27/arduino-gamepack-make-your-own-open-source-gameboy/ http://hacknmod.com/hack/top-40-arduino-projects-of-the-web/
  • 29. INTERFACE DE PROGRAMAÇAO http://www.openframeworks.cc/ http://pyserial.sourceforge.net/ http://www.openframeworks.cc/ http://pyserial.sourceforge.net/
  • 31. Bloco Principal Void Setup() Void loop()
  • 32. Instrunções básicas pinMode(pino, nível logico); digitalRead(pino); digitalWrite(pino, nível logico); analogRead(pino); delay(ms);
  • 33. Liga led void setup(){ pinMode(13,OUTPUT); // define que o pino 13 é saida } void loop(){ digitalWrite(13,HIGH); // coloco o pino 13 em nivel logico alto }
  • 34. Polaridade do LED http://lusorobotica.com/index.php?topic=1768 .0
  • 35. Tabela de Cores http://www.eletrica.info/tabela-de-resistores/
  • 36. Tabela de Cores http://www.eletrica.info/tabela-de-resistores/
  • 37. Liga led http://makebits.net/arduino-de-principiante-a-utilizador-avancado-aula-1/ http://makebits.net/arduino-de-principiante-a-utilizador-avancado-aula-1/
  • 38. Pisca led // Programa para pisca um led. void setup(){ pinMode(13,OUTPUT); // define que a porta 13 vai ser saida } void loop(){ digitalWrite(13,HIGH); // colocao nivel da porta 13 alto =5V delay(1000); // gera um atraso de 1 segundo. digitalWrite(13,LOW); // coloca o nivel da porta 13 baixo =0V delay(1000); // gera um atraso de 1 segundo. }
  • 39. Leitura analógica // Controlar a velocidade do pulso das bobinas do motor de passo int temp; // cria uma variavel. void setup() { pinMode(13,OUTPUT); // define que a porta 13 vai ser saida pinMode(12,OUTPUT); // define que a porta 12 vai ser saida pinMode(11,OUTPUT); // define que a porta 11 vai ser saida pinMode(10,OUTPUT); // define que a porta 10 vai ser saida } void loop() { temp=analogRead(A0); // temp recebe o valor lido na porta analogica digitalWrite(13, HIGH); // colocao nivel da porta 13 alto =5V delay(temp); //atraso em ms. digitalWrite(13, LOW); // coloca o nivel da porta 13 baixo =0V delay(temp); //atraso em ms. digitalWrite(12, HIGH); // colocao nivel da porta 12 alto =5V delay(temp); //atraso em ms. digitalWrite(12, LOW); // coloca o nivel da porta 12 baixo =0V delay(temp); //atraso em ms. digitalWrite(11, HIGH); // colocao nivel da porta 11 alto =5V delay(temp); digitalWrite(11, LOW); // coloca o nivel da porta 11 baixo =0V delay(temp); digitalWrite(10, HIGH); // colocao nivel da porta 10 alto =5V delay(temp); digitalWrite(10, LOW); // coloca o nivel da porta 10 baixo =0V delay(temp); }
  • 40. EXEMPLOS COM ARDUINO http://andyplekhanov.narod.ru/hard/arduino/arduino.htm http://technabob.com/blog/2008/10/27/arduino-gamepack-make-your-own-open-source-gameboy/ http://blog.bricogeek.com/noticias/electronica/video-osciloscopio-con-arduino-y-pantalla-grafica-lcd/ http://artduino.wordpress.com/ http://www.hardwaresphere.com/2010/05/19/arduimu-quascopter-the-diy-arduino-helicopter-that-can-avoid-obstacles/
  • 41. ARM 500 – EQUIPE TECH HUNTERS Imagem própria http://www.equipetechhunters.blogspot.com
  • 42. PROCESSING + ARDUINO http://www.arduino.com.br/blog/
  • 43. OBJETIVO Criar uma interface no Processing constituida de um botão que acenderá e apagará um led no Arduino. Além de um botão fisico no Arduino que apagará o led quando pressionado, tendo que a interface Processing demonstrará o ocorrido. LED desligado LED ligado Imagem própria.
  • 45. PROGRAMANDO ARDUINO int dados, entra=0, val; //declaração de variáveis.   void setup() //configurações padrão de seu programa que são //executadas uma vez. { Serial.begin (9600); //defino que a porta seria vai ter uma taxa //de transferencia de dados de 9600bps. pinMode (13, OUTPUT ); // defino que o pino 13 é saida. pinMode (12, INPUT ); // defino que o pino 12 é entrada. } PARTE 1
  • 46. PROGRAMANDO ARDUINO void loop() //vai ser um loop infinito. { if ( Serial.available() > 0) //quando a serial tiver dados. { dados = Serial.read() ; //dados assume o valor lido da serial. if (dados=='l') digitalWrite (13, HIGH ); //ativa a saida do pino 13 ligando o led. if (dados=='d') digitalWrite (13, LOW ); //desativa a saida do pino 13 desligando o led. } PARTE 2
  • 47. PROGRAMANDO ARDUINO val = digitalRead(12 ) ; //val assume valor lido do pino 12. if (val== HIGH && entra==0) { Serial.print ( 'q' ) ; //escreve na serial uma variável. entra=1; } if (val== LOW && entra==1) { Serial.print ( 'w ') ; entra=0; } } PARTE 3
  • 49. INTERFACE PROCESSING import processing.serial.* ; //importa a biblioteca para comunicação //serial. Serial porta; //declara porta.   int button1=0; //declara as variáveis. int entrada=0;   void setup() //tudo que vai ser carregado no inico do programa. { size (200,200); //tamanho da tela. background (255); //cor do fundo preta. porta = new Serial(this, Serial.list() [0], 9600); //cria objeto serial. } PARTE 1
  • 50. INTERFACE PROCESSING   void mouseClicked() { //quando o mouse é clicado. if ( mouseX >50 && mouseX <150 && mouseY >50 && mouseY <150 && button1==0 && entrada==0) //condição para acontecer a ação. { button1=1; rect (50, 50, 100, 100); //desenha um quadrado. fil l (255,0,0); //muda a cor dos objetos seguintes. porta.write ('l'); //envia para porta serial um valor. } else if ( mouseX >50 && mouseX <150 && mouseY >50 && mouseY <150 && button1==1) { button1=0; PARTE 2
  • 51. INTERFACE PROCESSING   rect (50, 50, 100, 100); fill (255,255,255); porta.write ('d'); } } void draw() //loop que desenha as interações. { rect (50, 50, 100, 100); if ( porta.available() > 0) //quando a serial tiver dados. { entrada = porta.read() ; //lê a porta serial. println (entrada); //imprime o valor da variável no 'text area' do programa. } PARTE 3
  • 52. INTERFACE PROCESSING   if (entrada==113) //113 é a representação em ascii de 'q'. { fill (255,255,255); porta.write ('d'); entrada=67; //numero qualquer só para dar efeito a rotina. } if (entrada==119) //119 é a representação em ascii de 'w'. { entrada=0; } } PARTE 4
  • 53. REFERÊNCIAS       http://processing.org/ http://arduino.cc/ http://equipetechhunters.blogspot.com/ http://www.arduino.com.br/blog/ http://pt.wikipedia.org/wiki/Arduino/