280 likes | 429 Views
CRFP – EDUCACIÓN CASTILLA – LA MANCA Manuel Hidalgo Díaz Noviembre 2013. Nota aclaratoria y de uso. Ante la imposibilidad de desarrollo de taller describo como se puede seguir la presentación que había propuesta:
E N D
CRFP – EDUCACIÓN CASTILLA – LA MANCA Manuel Hidalgo Díaz Noviembre 2013
Nota aclaratoria y de uso. Ante la imposibilidad de desarrollo de taller describo como se puede seguir la presentación que había propuesta: • A partir de la diapositiva 15 hay palabras del lenguaje Processing con hipervínculo. • Estos hipervínculos son de la web de Processing relacionado con la referencia del lenguaje que se pueden analizar y, en algunos casos, compilar (copiar y pegar). http://www.processing.org/reference/ Si se quiere seguir la presentación y plantear dudas o preguntas pongo a vuestra disposición el email tallerprocessingarduino@gmail.com 14/11/13 TALLER PROCESSING-ARDUINO. I 2
Descripción Processing es un lenguaje de programación, de código abierto y libre, para aprender a programar desde cero y desarrollar proyectos. Este lenguaje, basado en Java, se utiliza para programar de manera fácil y crear aplicaciones visuales e interactivas. 14/11/13 TALLER PROCESSING-ARDUINO. I 3
Objetivos • Aprender a programar con el lenguaje Processing. • Desarrollar aplicaciones visuales interactivas. • Aprender a programar aplicaciones con Arduino. • Desarrollar aplicaciones interactivas con el mundo físico utilizando Arduino y Processing. 14/11/13 TALLER PROCESSING-ARDUINO. I 4
Contenido 1ª Sesión: 14-11-13 Processing como lenguaje de programación. Entorno de programación. Elementos, modos y recurso de programación. 2ª Sesión: 21-11-13 Dibujar en Processing 2D Interactuar con el mundo físico. Arduino y sensores. 3ª Sesión: 28-11-13 Comunicación entre Arduino y Processing. Aplicaciones. 14/11/13 TALLER PROCESSING-ARDUINO. I 5
PROCESSING COMO LENGUAJE DE PROGRAMACIÓN • Processing está basado en el lenguaje de programación Java diseñado para el desarrollo de aplicaciones visuales e interactivas. • Processing es software libre y multiplataforma al ejecutarse sobre la máquina virtual Java (Linux, Windows, Mac,…) • http://www.processing.org web oficial de Processing. 14/11/13 TALLER PROCESSING-ARDUINO. I 6
PROCESSING COMO LENGUAJE DE PROGRAMACIÓN ¿Por qué Proccesing? • Fácil de aprender… resultados inmediatos. • Dispone de IDE (Entorno de Desarrollo Integrado) propio. • Potente. Permite desarrollar aplicaciones desde muy sencillas a muy complejas. • Permite 3 formas de programar: básica, estructurada/procedural y orientada a objetos. • Escalable. Se puede combinar programación Processing con Java. • Permite conexión con dispositivos y prototipos electrónicos: en nuestro caso con proyectos Arduino. 14/11/13 TALLER PROCES,SING-ARDUINO. I 7
ENTORNO DE PROGRAMACIÓN (IDE) • INSTALACIÓN DEL IDE DE PROCESSING. • Archivo PDF adjunto 01_InstalacionProcessing.pdf 14/11/13 TALLER PROCESSING-ARDUINO. I 8
ENTORNO DE PROGRAMACIÓN (IDE) • El IDE de Processing se conoce como PDE (processing development environment). • Sencillo y fácil de manejar. Tiene panel de herramientas y ventanas desplegables con las opciones propias de cada herramienta • Cuando escribimos y guardamos el programa (Skecth), se genera un directorio con ese nombre y el fichero de la aplicación se almacena dentro con la extensión .pde • El directorio ‘Skecthbook’ es el directorio por defecto para el usuario pero se puede almacenar las aplicaciones en ualquier directorio. 14/11/13 TALLER PROCESSING-ARDUINO. I 9
ENTORNO DE PROGRAMACIÓN (IDE) 14/11/13 TALLER PROCESSING-ARDUINO. I 10
ENTORNO DE PROGRAMACIÓN (IDE) Programa Un programa es una serie de instrucciones que tiene que ejecutar el ordenador. El proceso es el siguiente: 14/11/13 TALLER PROCESSING-ARDUINO. I 11
ENTORNO DE PROGRAMACIÓN (IDE) • Ejemplo: prog01_prueba.pde Vamos a escribir un programa y lo vamos a guardar con el nombre prog01_prueba. ellipse(50, 50, 80, 80); Es un programa con una sóla instrucción 14/11/13 TALLER PROCESSING-ARDUINO. I 12
ENTORNO DE PROGRAMACIÓN (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); } 14/11/13 TALLER PROCESSING-ARDUINO. I 13
ELEMENTOS DE PROGRAMACIÓN. • Entre ellos tenemos: • Tipos de datos. • Operadores aritméticos, lógicos y relcionales. • Estructuras de control. • Funciones. • Comentarios. • Reglas de sintaxis básicas: • Se distingue entres mayúsculas y minúsculas. • Todas las instrucciones terminan con un ";". • Los bloques de código como funciones o estructuras, se encierran con llaves {}. • Los comentarios se señalan con /* */ para un bloque y // hasta fin de línea. 14/11/13 TALLER PROCESSING-ARDUINO. I 14
ELEMENTOS DE PROGRAMACIÓN. SETUP() • Partes fundamentales de la estructura del programa, son dos funciones: setup() y draw(). 1ª.- La función setup(). Esta función sólo se ejecuta una vez void setup() { size(480, 120); } • Esta función sirve para inicializar la aplicación: • Definir el tamaño del marco. • El color de fondo. • El color de relleno. • … 14/11/13 TALLER PROCESSING-ARDUINO. I 15
ELEMENTOS DE PROGRAMACIÓN. SETUP() • En la función setup(). - Es necesario siempre: size ( ancho, alto [, motor3D] ); tamaño de la ventana. frameRate ( fps); velocidad de frames. - Es recomendable: background( color); color de fondo. colorMode ( modo, rango);modo de interpretar el color. fill(color); color de relleno. stroke(color); color contorno. 14/11/13 TALLER PROCESSING-ARDUINO. I 16
ELEMENTOS DE PROGRAMACIÓN. DRAW() • 2ª.- La función draw(). Esta función se ejecuta continuamente hasta que se produzca una parada. La habitual es pulsar el icono de stop. void draw() { if (mousePressed) { fill(0); } else { fill(255); } ellipse(mouseX, mouseY, 80, 80); } 14/11/13 TALLER PROCESSING-ARDUINO. I 17
ELEMENTOS DE UN PROGRAMA. Tipo de dato • En processing tenemos que declarar cualquier variable que vayamos a utilizar. • La declaración empieza con el tipo de dato de la variable, el nombre y opcionalmente un valor inicial. • Cada variable tiene un tipo determinado, según el cual puede tener uno o otro rango de valores. • Por ejemplo una variables número puede contener números pero no literales. 14/11/13 TALLER PROCESSING-ARDUINO. I 18
ELEMENTOS DE UN PROGRAMA. Tipos de datos TIPOS DE DATOS Processing maneja los siguientes tipos: int Para números enteros entre 2,147,483,647 y -2,147,483,648. Por ejemplo: 212, 17, 87 float Un número que puede tener parte decimal como por ejemplo 3.1416, 2.718281, 2 (equivale a 2.0). En Processing se usa el punto para la coma decimal. 14/11/13 TALLER PROCESSING-ARDUINO. I 19
ELEMENTOS DE UN PROGRAMA. Tipos de datos char Almacena un único carácter o letra. Se delimitan con comilla simple. Por ejemplo 'a', 'b', etc string Cadena o secuencia de caracteres. Se delimitan con comilla doble: "loremipsum", "hellowordl" boolean Una variable boolean puede tomar valores: true (verdadero) o false (falso). Color Almacena un color como RGBA: rojo, verde, azul y alpha. 14/11/13 TALLER PROCESSING-ARDUINO. I 20
ELEMENTOS DE UN PROGRAMA. Operadores OPERADORES ARITMÉTICOS Con los operadores podemos realizar operaciones entres dos expresiones, devolviendo otro número. + - * / Suma, resta, multiplicación y división de números % modulo o resto de la división entera. Por ejemplo 7%3 = 1. ++variable Incremento en uno la variable y devuelve el nuevo valor. 14/11/13 TALLER PROCESSING-ARDUINO. I 21
ELEMENTOS DE UN PROGRAMA. Operadores --variable Decrementa en uno la variable y devuelve el nuevo valor. variable++ Incremento en uno la variable y devuelve el valor anterior. variable— Decrementa en uno la variable y devuelve el valor anterior. x = x + vy; y = x + 1; x++; 14/11/13 TALLER PROCESSING-ARDUINO. I 22
ELEMENTOS DE UN PROGRAMA. Operadores OPERADORES RELACIONALES Los operadores relacionales relaciona dos expresiones devolviendo verdadero o falso. > mayor >= mayor o igual < menor <= menor o igual == Igual. No confundir x=5 (asignación: asignar 5 a x) con x==5 (evaluación: ¿es x igual a 5?) != Desigual. 14/11/13 TALLER PROCESSING-ARDUINO. I 23
ELEMENTOS DE UN PROGRAMA. Operadores OPERADORES BOOLEANOS Un operador booleano combina una o mas expresiones booleanas. && y lógico. Las dos expresiones tiene que ser cierta. || o lógico. Al menos una de las expresiones tiene que ser cierta. ! negación lógico. Solo se aplica a una expresión, negándola: si es cierta devuelve falso, y si es falsa devuelve true. 14/11/13 TALLER PROCESSING-ARDUINO. I 24
ELEMENTOS DE UN PROGRAMA. Estructuras de control ITERACION FOR for( instruccionesInicio ; test; instruccionesActualización) { instruccionesFor; } Ejecución de un IF Se ejecutan las instruccionesInicio. Se comprueba el test. Si es falso se termina. Se ejecutan las instruccionesFor. Se ejectuan las instruccionesActualización Se vuelve al paso 2 Ejecutar el ejemplo 14/11/13 TALLER PROCESSING-ARDUINO. I 25
ELEMENTOS DE UN PROGRAMA. Estructuras de control ITERACIÓN WHILE while ( test ) { instruccionesWhile; } Ejecución de WHILE Se comprueba el test. Si es falso se termina. Se ejecuta lsinstruccionesWhile. Se vuelve al paso 1. Ejecutar el ejemplo 14/11/13 TALLER PROCESSING-ARDUINO. I 26
ELEMENTOS DE UN PROGRAMA. Estructuras de control CONDICIONAL IF if ( test ){ instruccionesCierto } [ else { instruccionesFalso}] Ejecución de un IF Se evalua el test. Si es verdadero se ejecuta instruccionesCierto. Si es falso se ejecuta instruccionesFalso. Ejecutar el ejemplo 14/11/13 TALLER PROCESSING-ARDUINO. I 27
ELEMENTOS DE UN PROGRAMA. Estructuras de control SWITCH switch ( expresion ) { case valorA : instrucciones [break]; case valor B: instrucciones [break];... ... default: } Ejecutar el ejemplo 14/11/13 TALLER PROCESSING-ARDUINO. I 28