prototipacao para computacao fisica

Download Prototipacao para Computacao Fisica

If you can't read please download the document

Upload: andre-junqueira

Post on 18-May-2015

2.501 views

Category:

Technology


1 download

DESCRIPTION

Andre VelosoNovembro 2010 www.interactionsource.com

TRANSCRIPT

  • 1. Prototipao para Computao Fsica Andr Veloso

2. Interfaces Sistemas Digitais Mundo FsicoInterfaces 3. Interfaces Clssicas 4. Novos Paradigmas Populares - Sensores 5. Vrias possibilidades 6. Aquisio de dados Transduo Transformao de uma forma de energia em outra Geralmente realizada por sensores eletrnicos sinais eltricos como resposta a estmulos fsicos 7. Estmulos fsicos - SensoresSom- Microfone Vibracao: Sismgrafo Luz - Foto resistor 8. Estmulos fsicos - Sensores Fora Acelermetro Presso barmetro, sensor de presso 9. Estmulos fsicos - Sensores Velocidade Eletricidade - voltmetro Distancia Sonar 10. Estmulos fsicos - Sensores Temperatura Umidade Botes 11. Estmulos fsicos - Sensores Cameras (sensores CCDs e CMOS) 12. Resposta Fsica - Atuadores LEDs e Iluminao em geral Alto-falantes 13. Resposta Fsica - Atuadores Motores Rels 14. Resposta Fsica - Atuadores Chaves Pneumticas 15. Prototipao em Hardware - Aquisio de dados e atuao Microcontroladores pequenos computadores que realizam operaes por meio de programas armazenados em sua pequena memoria interna Operam sobre valores de entradas (aquisio) e geram dados de sada (atuao) Utilizam pouca energia e tem tamanho reduzido 16. Microcontroladores - Integrao CPU (4 a 32bits) Conjunto de pinos de entrada e sada de uso geral (GPIO) RAM ROM ou Flash Comunicao Serial 17. Hardware de aquisio de dados Microcontroladores forma prtica de interfacear sensores e atuadores eletrnicos (mundo fsico) com sistemas digitais Leitura de dados e atuao analgicos e digitais 18. Dados analgicos e digitais Dados eletrnicos analgicos expressos em nveis contnuos de voltagem. Ex: 0 a 5V registrados na leitura de um sensor de distncia Leitura e converso realizada por ADC Ex: potenciometros, sensores de distncia, sonar, pressao 19. Dados analgicos e digitais Dados digitais ou Discreto expressos como ligado ou desligado Ex: interruptor de luz, chaves, botes liga-desliga 20. Arduino - www.arduino.cc 21. Arduino - Benefcios Baixo Custo Hardware Livre Linguagem de Programao simplificada Ampla base de usurios Capacidade de expanso via shields Processador simples, mas poderoso Simplicidade de montagem pinagem bem definida Boa documentao Facilidade de carregamento de programas 22. Arduino - Limitaes Memria Pequena 14kB utilizveis Clock baixo - 16MHz Quantidade Limitada de portas 23. Arduino - Pinout USB Power 24. Arduino Nano 25. Arduino Mini 26. Arduino LilyPad Video 27. Arduino como interface de dados 28. Arduino Bluetooth 29. Arduino Shields Ethernet Shield e Card Reader 30. Arduino Shields GSM Shield 31. Arduino Shields MIDI Shield 32. Arduino Shields Xbee Shield 33. Arduino Stand Alone 34. Interao entre softwares MIDI e OSC 35. OSC Comunicao entre softwares na mesma mquina ou em maquinas em rede (via TCP-UDP/IP) 36. Arduino - Programao Linguagem com sintaxe prxima ao C++ e Java Carregamento fcil dos programas IDE simplificada, com cdigos de exemplo 37. Arduino - Programao #define LED_PIN 13 void setup () { pinMode (LED_PIN, OUTPUT); // enable pin 13 for digital output } void loop () { digitalWrite (LED_PIN, HIGH); // turn on the LED delay (1000); // wait one second (1000 milliseconds) digitalWrite (LED_PIN, LOW); // turn off the LED delay (1000); // wait one second } 38. Prototipao em Software Ambientes simplificados de programao: Processing - www.processing.org Derivado do Java Sintaxe simples Otimizado para criao de aplicaes grficas interativas 39. Processing - Exemplos Objetivo: Bola segue a posio do mouse Caso a posio do mouse seja menor do que 400 bola desenhada na cor vermelha Caso posio do mouse seja maior do que 400 Bola desenhada na cor azul 40. Processing - Exemplos Pseudo-cdigo: se posio_da_bola for menor do que 400 cor_da_bola = vermelha seno cor_da_bola = azul desenha bola na posio do mouse com cor_da_bola 41. Processing - Exemplos void setup() { size(800,600); } void draw () { background(0); if ( mouseX < 400 ) { fill(255, 0, 0); } else { fill(0, 0, 255); } ellipse(mouseX, mouseY, 50, 50); } 42. Prototipao em Software Ambientes simplificados de programao: Pure Data - Programao Dataflow: Modela um programa como um grafo direcionado, com o dado movendo-se entre os operadores Geralmente utilizado em processamento de sinais Programao consiste em caixas pretas com entradas e sadas de sinais 43. Pure Data - Exemplos Sinewave Amplitude Frequency 44. Prototipao com Arduino Multmetro Fios Resistores Protoboard 45. Arduino, Processing e PD Exemplos Sensor de luz Controle de sons por luz 46. Arduino, Processing e PD ExemplosSensor de luz Controle de sons por luz Fluxo de dados Arduino Processing Pure Data Serial OSC Sensor 47. Arduino e Processing Exemplos Sensor de distancia Sonar Atuao em projeo via Processing Arduino Processing Serial Sensor 48. Arduino Video 49. Outros hardwares de aquisio de dados e atuao 50. Hardware com sensores embutidos Computao fsica em dispositivos portteis 51. Smartphones X ComputadoresAcelermetro Giroscpio Cmeras Microfone Sensor de proximidade Sensor de iluminao Sensores Multi-touch Alto-Falantes Tela USB Wi-Fi Bluetooth 3G/GSM Teclado Mouse Camera Alto-Falantes Tela Ethernet Bluetooth Wi-Fi 52. Acelermetros Dispositivo que mede acelerao prpria ou seja a acelerao sentida por pessoas e objetos Medida de acelerao por fora aplicada Medidas em Forca-G - m/s2 1D, 2D e 3D 53. Acelermetros 54. Acelermetros MMA7260QT 3-Axis Accelerometer 1.5/2/4/6g 55. Giroscpios Mecnica do Giroscpio 56. Acelerometros e Gyros - Wiimote 57. Acelerometros e Gyros - Wiimote Captura de movimentos a partir de acelermetro e giroscpio interface fsica Comunicao sem fio via Bluetooth Soluo integrada de sensores + transmisso de dados Preo Baixo - U$50 58. Wiimote - Acessrios Wii MotionPlus Wii Remote Plus 59. Wii MotionPlus Adciona um giroscpio MEMS de 2 eixos ao Wiimote Permite uma melhor captura de movimentos Posio e orientao 60. Wiimote - Aplicaes Reconhecimento de gestos movimentos fsicos 61. Wiimote Comunicao: Apesar de ser Bluetooth, o Wiimote no se conecta no sistema como dispositivo HID padro Necessita de aplicativos especiais para a leitura de seus dados Driver Bluetooh especial 62. Exemplos - Wiimote Conexo Wiimote ao computador Pareamento Bluetooth Aquisio de dados em PD Visualizao dos valores de entrada - DarwinRemote Acelermetro 3D Wiimote em Processing Visualizao dos vetores de fora Aplicao musical com Wiimote Sampler Ring modulation, Diff tone, FM spectrum Swepable FM 63. Exemplo Wiigee Demo GUI Implementao Gesture Prototype 64. Acelerometros e Gyros - Smartphones Necessrio softwares de aquisio de dados Transmisso de dados via OSC/TUIO por Wi-Fi IOS TouchOSC, MSARemote Android TouchOSC, andOSC 65. Multi-touch - Smartphones Necessrio softwares de aquisio de dados Transmisso de dados via OSC/TUIO por Wi-Fi IOS TouchOSC, MSARemote 66. Viso computacional Mquinas que enxergam Teoria por trs de sistemas artificiais que extraem informaes de imagens, estticas ou em sequncias (movimento) 67. Viso computacional - Usos Controle (robs ou veculos autnomos) Deteco de eventos (segurana, deteco de faces, deteco de placas) Organizar informao (ordenao visual) Modelagem de objetos ou ambientes (tomografias, topografias, inspeo industrial) Compresso de dados de imagens (Ex: MPEG) Interao (Interao homem-mquina Input de dados) 68. Viso computacional Popularizao se tornou possvel com os computadores modernos alto poder de processamento Operaes de processamento e extrao de informaes de imagens em tempo real so operaes de alto uso de processamento (especialmente vdeo) 69. Viso computacional - Tarefas Reconhecimento: Reconhecimento de objetos Identificao Deteco Anlise de movimento Reconstruo 3D de Cena Reconstruo de imagem (principalmente em Vdeo) 70. Fluxo de Processamento Passos do processamento de imagens Aquisio de imagens Eliminao de ruido Ajustes de intensidade Contraste, Brilho e operaes de correo de histograma Eliminao de elementos no desejados Extrao de caractersticas - Deteco de bordas, Blobs, cantos Deteco de caractersticas Segmentao Faces, Gestos, Formas complexas 71. Imagens Digitais - Captao Estticas: Scanners Cmeras fotogrficas digitais Em sequncia: Cmeras de vdeo Domnio de imagens pticas e no pticas Luz visvel, infra-vermelho, ultravioleta, eletromagnticas Sensores de profundidade imagens representam a distancia do objeto ao dispositivo de captao Ressonncia magntica, ultra-som, tomografias 72. Imagens Digitais - Captao 73. Viso computacional - Interao Aquisio de imagens: Cmeras de 30FPS mnimo Webcams baixo custo e facilidade de modificao 74. Viso computacional - Interao Aquisio de imagens: Espectro de luz visvel ou infra-vermelho Infra-vermelho Possibilidade de utilizao conjunta de projees de vdeo 75. OpenCV Desenvolvida pela Intel Biblioteca Open Source Multi-Plataforma Altamente otimizada Boa performance Desenvolvida e C e C++ Integra-se a: Processing, OpenFrameworks e outros ambientes 76. OpenCV - Capacidades Funes prontas para: Reconhecimento de faces Reconhecimento e interpretao de gestos Identificao de objetos Segmentao e reconhecimento Reconstruo 3D Stereo Deteco de movimento 77. ExemploOpenCV e OpenFrameworks Teste opencv camera e video CCV Mesa Multitoque Reactvision Reactable (video) Outros Exemplos: Minin Processing 78. Wiimote e Viso Computacional Camera de IR Capta at 4 pontos de IR Envia via Bluetooth posio XY de cada ponto Sistema de viso computacional embutido Video 79. Viso computacional - Kinect Driver Open Source para PC j disponvel Imagem RGB e de profundidade Poder ser usado em conjunto com bibliotecas de viso computacional (OpenCV) 80. Viso computacional - Kinect 81. Referencias Make Magazine - www.makezine.com 82. Referencias Getting Started with Arduino - O`Reilly 83. Referencias Physical Computing: Sensing and Controlling the Physical World with Computers 84. Referencias Processing: A Programming Handbook for Visual Designers and Artists 85. Referencias Processing: Creative Coding and Computational Art (Foundation) 86. www.interactionsource.com [email protected] www.softwarebending.blogspot.com