Taller Processing Arduino i i

download Taller Processing Arduino i i

of 21

Transcript of Taller Processing Arduino i i

  • CRFP EDUCACIN CASTILLA LA MANCAManuel Hidalgo DazNoviembre 2013

  • *Contenido

    1 Sesin: 14-11-13Processing como lenguaje de programacin.Entorno de programacin.Elementos, modos y recurso de programacin.2 Sesin: 21-11-13Dibujar en Processing 2DInteractuar con el mundo fsico.Arduino y sensores.3 Sesin: 28-11-13Comunicacin entre Arduino y Processing.Aplicaciones.*TALLER PROCESSING-ARDUINO. II

  • ENTORNO DE PROGRAMACIN (IDE)

    **TALLER PROCESSING-ARDUINO. II

  • ENTORNO DE PROGRAMACIN (IDE)Ejemplo: prog01_prueba.pdeVamos a escribir un programa y lo vamos a guardar con el nombre prog01_prueba.

    ellipse(50, 50, 80, 80);//ellipse(x,y,a,h);

    http://processing.org/reference/ellipse_.htmlEs un programa con una sola instruccin.Otras primitivas bsicas de dibujo- Punto- Lnea**TALLER PROCESSING-ARDUINO. II

  • ENTORNO DE PROGRAMACIN (IDE)Ejemplo: prog02_prueba.pde Vamos a escribir un programa y lo vamos a guardar con el nombre prog02_prueba.*void setup() { size(480, 120); }void draw() { if (mousePressed) { fill(0); } else { fill(255); } ellipse(mouseX, mouseY, 80, 80);}*TALLER PROCESSING-ARDUINO. II

  • ELEMENTOS DE PROGRAMACIN. SETUP()Partes fundamentales de la estructura del programa, son dos funciones: setup() y draw(). 1.- La funcin setup(). Esta funcin slo se ejecuta una vez*void setup() { size(480, 120); }Esta funcin sirve para inicializar la aplicacin:Definir el tamao del marco.El color de fondo.El color de relleno.*TALLER PROCESSING-ARDUINO. II

  • ELEMENTOS DE PROGRAMACIN. DRAW()2.- La funcin draw(). Esta funcin se ejecuta continuamente hasta que se produzca una parada. La habitual es pulsar el icono de stop.14/11/13TALLER PROCESSING-ARDUINO. II*void draw() { if (mousePressed) { fill(0); } else { fill(255); } ellipse(mouseX, mouseY, 80, 80);}*

  • ELEMENTOS DE UN PROGRAMA. ResumenTIPOS DE DATOS (variables):int, long, float, char, boolean,array

    OPERADORES.Aritmticos, relacionales, lgicos,

    14/11/13**TALLER PROCESSING-ARDUINO. II

  • ELEMENTOS DE UN PROGRAMA. ResumenESTRUCTURAS DE CONTROL. Delimitadores de bloque: { instrucciones; }

    while:while ( expr ) { instrucciones }Ejemplodo { instrucciones } while ( expr )

    forfor ( begin; end; inc ) {instrucciones }Ejemplo

    if/elseif ( expr ) {instrucciones }if ( expr ) {instrucciones } else { instrucciones }Ejemplo

    switchswitch ( var ) { case val: instrucciones default: } Ejemplo Saltos: break, continue, return

    **TALLER PROCESSING-ARDUINO. II

  • ELEMENTOS DE UN PROGRAMA. ResumenESTRUCTURAS DE CONTROL. Delimitadores de bloque: { instrucciones; }

    while:while ( test ) { instrucciones }Ejemplodo { instrucciones } while ( test )

    forfor ( begin; test; inc ) {instrucciones }Ejemplo

    if/elseif ( test ) {instrucciones }if ( test ) {instrucciones } else { instrucciones }Ejemplo

    switchswitch ( val ) { case val_1: instrucciones default: } Ejemplo Saltos: break, continue, return

    **TALLER PROCESSING-ARDUINO. II

  • PROCESSING 2D.SISTEMA DE COORDENADAS 2D.El tamao de la ventana se establece con la funcin size(), instruccin que se escribe en la funcin setup(). El (0,0), origen, se encuentra situado en la esquina superior izquierda, donde las x son positivas hacia a la izquierda y las y son positivas hacia abajo.

    TALLER PROCESSING-ARDUINO. II**

  • PROCESSING 2D.COLOR Y RELLENO.

    El color de los trazos se determinan con la funcin stroke()stroke(255) => RGB(255, 255, 255) especifica un valor entre 0-256 niveles de gris. stroke(128, 0, 128) => Cualquier valor RGB

    El grosor de los trazos se puede caracterizar con strokeWeight() strokeWeight(5) => Grosor 5

    El color de relleno de figuras 2D se especifica mediante la funcin fill() fill(128) => RGB(128, 128, 128) fill(200, 120, 90) => RGB(200, 120, 90)

    TALLER PROCESSING-ARDUINO. II**

  • PROCESSING 2D.background() Borra la ventana con el color especificado Ejemplos: background(0)background(128, 100, 128)

    noFill() Las figuras 2D se dibujaran sin relleno

    noStroke() Las figuras 2D se dibujaran sin trazo (especialmente til en figuras cerradas, pero afecta a todas, incluso a lneas)TALLER PROCESSING-ARDUINO. II**

  • PROCESSING 2D.EJEMPLO SOBRE UNA LNEAEscribimos un programa prog03_linea y vamos aadiendo el siguiente cdigo.

    TALLER PROCESSING-ARDUINO. II**size(100, 100);//tamao de la ventanabackground(0);//color de fondostroke(255);//color del trazostrokeWeight(5);//grosor del trazoline(0, 0, 99, 99);

  • PROCESSING 2D.EJEMPLO SOBRE UNA LNEAEscribimos un programa prog04_linea y vamos aadiendo el siguiente cdigo.

    TALLER PROCESSING-ARDUINO. II**size(200, 200);background(0);

    //utilizamos una estructura de control repetitivafor (int i=0; i

  • PROCESSING 2D.ELIPSE Y CRCULOS

    ellipse(x, y, ancho, alto) Dibuja una elipse en las coordenadas (x, y) y el ancho y alto suministrados

    ellipseMode() Cambia el modo en el que los parmetros de la elipse son interpretados

    ellipseMode(CENTER) => (x, y) es el centro de la elipse (es elmodo por defecto). ellipseMode(RADIUS) => igual que el anterior, pero ancho y alto son radios y no dimetros ellipseMode(CORNER) => (x, y) hace referencia a la esquina superior izquierda del rectngulo envolvente de la elipse ellipseMode(CORNERS) => los cuatro parmetros de la elipse hacen referencia a dos puntos opuestos del rectngulo envolvente de la elipseTALLER PROCESSING-ARDUINO. II**

  • PROCESSING 2D.EJEMPLO DE ELIPSE Y CRCULOSEscribimos un programa prog05_elipse y vamos aadiendo el siguiente cdigo.

    TALLER PROCESSING-ARDUINO. II**size(200, 200);background(0);stroke(255, 0, 0);//color del trazostrokeWeight(5);//grosorfill(0, 255, 0);

    // (x, y) y dimetrosellipse(100, 100, 100, 50);

    // 2 esquinas opuestasellipseMode(CORNERS);ellipse(0, 0, 50, 50);

  • PROCESSING 2D.PRIMITIVAS DE 2DAdems de las primitivas que hemos visto estn tambin las siguientes: Arcos Rectngulos Tringulos Cuadrilteros Curvas (Bzier y Catmull-Rom) Shapes (formas libres)TALLER PROCESSING-ARDUINO. II**

  • MOVIMIENTO 2D.float x=0; // coordenadas float y=0;

    float vy = 1; // velocidad eje X float vx = 2; // velocidad eje y

    void setup(){ size(300,300); fill(255); }

    void draw(){ background(0); x = x + vx; y = y + vy; ellipse(x,y,10,10); }TALLER PROCESSING-ARDUINO. II**A continuacin vamos a realizar un programa prog06_pelotaSinRebote que realiza movimientos.

  • MOVIMIENTO 2D.

    // Movimiento de pelota con rebote

    void setup(){

    }

    void draw(){

    }TALLER PROCESSING-ARDUINO. II**A continuacin vamos a realizar un programa prog07_pelotaRebote mejorando el anterior.

  • INTERACTUAR CON EL MUNDO FSICO.TALLER PROCESSING-ARDUINO. II**www.arduino.cchttps://www.dropbox.com/s/7ymvgdy24r8z0aw/Practicas%20Arduino%2BProcessing.pdf

    PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACINPROCESSING COMO LENGUAJE DE PROGRAMACIN*PROCESSING COMO LENGUAJE DE PROGRAMACIN