Processing PPTX

21
Introducción al lenguaje PROCESSING para ARDUINO

description

Presentación PROSERQUISA

Transcript of Processing PPTX

Introduccin al lenguaje PROCESSING para ARDUINO

Declaracin de variablesLas variables se declaran por lo general al principio de un programa. Las variables se pueden utilizar para darle nombre a datos obtenidos o para asignarle un nombre fcil de recordar a ciertos datos. Estas se declarar poniendo primero el tipo de variable(Puede ser decimal, entera, booleana, binaria, caracter, texto, servo, etc) luego el nombre y por ultimo su valor numrico (si lo tiene) seguido de un fin de lnea ( o sea ;)Estructura bsica de programas arduinoTodos los programas arduino deben contener dos rutinas, que son setup() y loop() (significan instalacin y bucle respectivamente) la rutina setup() se usa para definir pines como entradas o salidas, o para hacer cualquier otra cosa que solo se tenga que hacer al iniciar el programa, luego la rutina loop() repite el cdigo que contenga una y otra vez infinitamenteEjemplo 1intTipo de variable (en este caso es una variable entera)La variable se llama calienteEste es el valor numrico de la variable, en este caso es igual a 39, seguido de un fin de lineacaliente= 39;

Ejemplo 2servoTipo de variable (en este caso es un servo)El servo se llama codoAqu debera haber un valor, pero ya que no podemos definir un servo como un nmero, no escribimos nada y solo ponemos el fin de lnea, de ahora en adelante podremos utilizar la variable codo para manejar ese servocodo;

Ejemplo 3intTipo de variable (en este caso es una variable entera)La variable se llama temperaturaEste es el valor numrico de la variable queda en blanco, lo podemos modificar mas adelante en el programatemperatura;

Ejemploint led = 13;Declaramos la variable led con el valor del entero 13Declaramos el pin led (13) como salida (OUTPUT)Esta rutina se repite infinitamente, no hay nada que la detenga, primero escribe un uno lgico(estado alto, 5v ) en el pin led, luego hay un delay (retraso o pausa) de 1000ms ( 1 segundo), luego escribe un cero lgico (estado bajo,0v) y luego hay un retraso de 1000ms otra vez, al final del programa vuelve al principio de la rutina loop, por lo que vuelve a escribir un uno lgico y as sucesivamentevoid setup() {pinMode(led,OUTPUT); } void loop() {digitalWrite(led,HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }Escribir los pines del ARDUINOLos pines del ARDUINO pueden ser escritos de manera digital (previamente declarados como salidas) con 0 y 1 lgico o sea valores de 0 y 5v (3.3 para el ARDUINO DUE) y escritos de manera casi anloga mediante los pines que soporten PWM (modulacin por ancho de pulsos).Los pines se pueden escribir de acuerdo a lo que programemos, puede ser como un valor fijo o que cambie mediante estructuras condicionales (if else). Se pueden escribir todos los pines de E/S incluyendo los pines de entrada anloga.Ejemplo 1digitalWriteEl comando digitalWrite() implica escribir digitalmente (con cero o uno lgicos)Se define que se va a escribir con estructura: ( numero de pin, estado)

Fin de linea(3, HIGH);

Ejemplo 2analogWriteEl comando analogWrite() implica escribir anlogamente (o casi anlogamente por que se trata de PWM) con valores entre 0v y 5v con una resolucin de 8 bits o sea que puede ser cualquier valor entre 0 y 255 (2^8=256 valores posibles)Se define que se va a escribir con estructura: ( numero de pin, valor )

Fin de linea(3, 125);

Leyendo pines del ARDUINOLos pines pueden ser ledos para tomarse como variables (previamente declarados como entradas en la rutina setup con pinMode()).Los pines digitales ( 0 13) pueden leer estados digitales (alto o bajo) y nicamente los pines anlogos pueden ser usados para leer voltajes con una resolucin de 10 bits ( 1024 valores posibles entre 0v y 5v)Ejemplo 2digitalReadEl comando digitalRead() lee el estado digital de una de las entradasEnte parentesis debemos poner el numero del pin del que queremos tomar la entradaFin de linea(11);

Lectura =Si queremos para no escribir el comando digitalRead() para el mismo pin podemos declarar la lectura del pin como una variable dentro del programa en nuestro caso, el valor que obtenemos del pin 11 se llama Lectura y lo podemos usar con ese nombre cuando queramosEjemplo 1analogReadEl comando analogRead() lee el estado digital de una de las entradasEnte parentesis debemos poner el numero del pin del que queremos tomar la entrada para los pines analogos ponemos una A antes del numero del pin analogoFin de linea(A0);

eanaloga0 =Si queremos para no escribir el comando analogRead() para el mismo pin podemos declarar la lectura del pin como una variable dentro del programa en nuestro caso, el valor que obtenemos del pin A0 se llama eanaloga0 y lo podemos usar con ese nombre cuando queramosEstructuras condicionalesLas estructuras condicionales permiten establecer un Qu pasa si?/Y sino? esto es til cuando queremos evaluar una condicin y que pase algo si es cierta o falsa, las hay de varios tipos la mas comn es la if que evala una condicin y hace algo si es cierta, luego las if else que hacen algo si la condicin es cierta y hacen otra cosa si no es cierta, tambin existe la estructura switch case que evala mltiples resultados para mltiples condiciones respecto a una variable.Operadores lgicos en las estructurasPara establecer nuestra condicion podemos usar operadores lgicos matmaticos y booleanos como:MatemticosBooleanosigual a == AND &&distinto de != OR ||Menor que (||se escribe con Alt Gr+ 1)Menor o igual que = Ejemplo1 if(analogRead(A0)>=125){digitalWrite(3,HIGH)};

El comando if() evala una condicion y ejecuta una accion si se cumple, la condicin se escribe dentro del parentesis y la accin a ejecutar se escribe entre llavesLos fines de lnea se colocan solo en el cdigo dentro de las llaves, al cerrar corchetes no es necesario un fin de lineaPonemos lo que queremos que pase cuando la condicin sea cierta, en nuestro caso cuando el valor de A0 sea igual o mayor que 125, va a poner el pin 3 en estado alto, pero este no pasara a bajo cuando el valor sea menor a 125, para eso necesitamos usar una estructura if..else

Ejemplo 2if(analogRead(A0)>=125){digitalWrite(3,HIGH);}else {digitalWrite(3,LOW);}

Ponemos lo que queremos que pase cuando la condicion sea cierta, en nuestro caso cuando el valor de A0 sea igual o mayor que 125, va a poner el pin 3 en estado alto

El comando if() evala una condicin y ejecuta una accin si se cumple, la condicin se escribe dentro del parntesis y la accin a ejecutar se escribe entre llavesAhora cuando la condicin no sea verdadera , se escribir un estado bajo en el pin 3Ejemplo 3 digitalWrite (13,HIGH);break;

digitalWrite (13,LOW);break;

switch (LecturaA) {

}

Case 0 :

Case 128:

Usamos la estructura switch() para que haga algo segn el valor de la variable LecturaA que temos que declarar previemente, esta lectura viene de una entrada anloga que como sabemos puede tomar valores entre 0 y 255Case indica el valor de la variable que tomara como condicion y luego de los dos puntos lo que queremos hacer cuando el caso se cumpla, en este ejemplo solo son 2 casos, pero se pueden agregar todos los que se necesitenLuego de los dos puntos de ponen las lneas de cdigo a ejecutar en caso de que la condicin se cumpla, se pone un break; al final para que solo ejecute la accin una vez y siga con el resto del programa Comunicacin serialLa placa ARDUINO puede comunicarse por medio de pulsos, cuando estos se organizan segn un protocolo podemos transmitir mas que solo estados altos y bajos y podemos comenzar a transmitir datos por el puerto serial, esto se hace con los pines RX y TX (para recibir datos y transmitir datos), podemos enviar datos a otras placas ARDUINO o a otros dispositivos que soporten comunicacin serial. SI tenemos la placa arduino conectada por USB, todo lo que imprimamos en el puerto serial aparecer en el monitor serial del ARDUINO IDE.Ejemplo Void setup (){Serial.begin(9600);}

Void loop (){

Serial.println( );delay(1000);}Hola mundoLos mensajes de texto siempre van entre comillas (entindase texto por letras y nmeros que cuyo unico objetivo sea darnos un mensaje), en caso de que se quiera escribir el valor contenido en una variable solo se pone el nombre de la variable sin comillasEl comando Serial.begin () inicia el puerto serial, el numero 9600 el numero de baudios que manejaremos en la transmision (numero de caracteres por segundo)Usamos el comando Serial.println()Para imprimir en el puerto serial un dato y luego saltar una lnea, si lo queremos mandar de corrido usamos el comando Serial.print()Esto se puede visualizar en el monitor serial del ARDUINO IDE.El delay se coloca para no imprimir el Hola mundo tantas veces como pueda el arduino (unas miles de veces por segundo)