21
Introducción al lenguaje PROCESSING para ARDUINO

Introducción al lenguaje PROCESSING para ARDUINO

  • Upload
    janet

  • View
    38

  • Download
    2

Embed Size (px)

DESCRIPTION

Introducción al lenguaje PROCESSING para ARDUINO. Índice. Declaración de variables Estructura básica de programas ARDUINO Escribir los pines del ARDUINO Leyendo los pines del ARDUINO Estructuras condicionales Comunicación serial. Declaración de variables. - PowerPoint PPT Presentation

Citation preview

Page 1: Introducción al lenguaje PROCESSING para ARDUINO

Introducción al lenguaje PROCESSING para ARDUINO

Page 2: Introducción al lenguaje PROCESSING para ARDUINO

Índice

Declaración de variablesEstructura básica de programas ARDUIN

OEscribir los pines del ARDUINOLeyendo los pines del ARDUINOEstructuras condicionales Comunicación serial

Page 3: Introducción al lenguaje PROCESSING para ARDUINO

Declaración de variables

Las 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 fácil 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 numérico (si lo tiene) seguido de un fin de línea ( o sea «;»)

Page 4: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 1

int

Tipo de variable (en este caso es una variable entera)

La variable se llama calienteEste es el valor numérico de la variable, en este caso es

igual a 39, seguido de un fin de linea

caliente = 39;

Page 5: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 2

servo

Tipo de variable (en este caso es un servo)

El servo se llama codo

Aquí debería haber un valor, pero ya que no podemos definir un servo como un número, no escribimos nada y

solo ponemos el fin de línea, de ahora en adelante podremos utilizar la variable «codo» para manejar ese

servo

codo ;

Page 6: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 3

int

Tipo de variable (en este caso es una variable entera)

La variable se llama temperatura

Este es el valor numérico de la variable queda en blanco, lo

podemos modificar mas adelante en el programa

temperatura ;

Page 7: Introducción al lenguaje PROCESSING para ARDUINO

Estructura básica de programas arduinoTodos los programas arduino deben contener dos rutinas, que son setup() y loop() (significan instalación 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 código que contenga una y otra vez infinitamente

Page 8: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo

int led = 13;Declaramos la variable «led» con el valor del

entero 13

Declaramos el pin led (13) como

salida (OUTPUT)

Esta rutina se repite infinitamente, no hay nada que la detenga, primero escribe un

uno lógico(estado alto, 5v ) en el pin «led», luego hay un delay

(retraso o pausa) de 1000ms ( 1 segundo), luego escribe un cero lógico (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 lógico y así

sucesivamente

void setup() {pinMode(led,OUTPUT); }

void loop() {digitalWrite(led,HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Page 9: Introducción al lenguaje PROCESSING para ARDUINO

Escribir los pines del ARDUINOLos pines del ARDUINO pueden ser escritos de manera digital (previamente declarados como salidas) con 0 y 1 lógico o sea valores de 0 y 5v (3.3 para el ARDUINO DUE) y escritos de manera casi análoga mediante los pines que soporten PWM (modulación 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 análoga.

Page 10: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 1

digitalWrite

El comando digitalWrite() implica escribir

digitalmente (con cero o uno lógicos)

Se define que se va a escribir con estructura:

( numero de pin, estado) Fin de linea

(3, HIGH) ;

Page 11: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 2

analogWrite

El comando analogWrite() implica escribir análogamente (o casi análogamente por que se trata de PWM) con valores entre 0v y 5v con una resolución 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) ;

Page 12: Introducción al lenguaje PROCESSING para ARDUINO

Leyendo pines del ARDUINO

Los pines pueden ser leídos 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 análogos pueden ser usados para leer voltajes con una resolución de 10 bits ( 1024 valores posibles entre 0v y 5v)

Page 13: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 2

digitalRead

El comando digitalRead() lee el estado digital de una

de las entradas

Ente parentesis debemos poner el numero del pin del

que queremos tomar la entrada

Fin 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 queramos

Page 14: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 1

analogRead

El comando analogRead() lee el estado digital de una

de las entradas

Ente 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

analogo

Fin 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 queramos

Page 15: Introducción al lenguaje PROCESSING para ARDUINO

Estructuras condicionalesLas estructuras condicionales permiten establecer un «¿Qué pasa si?/¿Y sino?» esto es útil cuando queremos evaluar una condición y que pase algo si es cierta o falsa, las hay de varios tipos la mas común es la «if…» que evalúa una condición y hace algo si es cierta, luego las «if… else» que hacen algo si la condición es cierta y hacen otra cosa si no es cierta, también existe la estructura «switch case» que evalúa múltiples resultados para múltiples condiciones respecto a una variable.

Page 16: Introducción al lenguaje PROCESSING para ARDUINO

Operadores lógicos en las estructuras

Para establecer nuestra condicion podemos usar operadores lógicos matématicos y booleanos como:

Matemáticos Booleanos

igual a «==» AND «&&»

distinto de «!=» OR «||»

Menor que «<» NOT «!»

Mayor que «>» (||se escribe con Alt Gr+ 1)

Menor o igual que «<=»

Mayor o igual que «>=»

Page 17: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo1 if(analogRead(A0)>=125)

{digitalWrite(3,HIGH)}

;

El comando if() evalúa una

condicion y ejecuta una accion si se

cumple, la condición se escribe

dentro del parentesis y la

acción a ejecutar se escribe entre llaves

Los fines de línea se colocan solo en el código dentro de las llaves, al cerrar corchetes no es necesario un fin de linea

Ponemos lo que queremos que pase cuando la condición

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

Page 18: Introducción al lenguaje PROCESSING para ARDUINO

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() evalúa una

condición y ejecuta una acción si se

cumple, la condición se

escribe dentro del paréntesis y la

acción a ejecutar se escribe entre llaves

Ahora cuando la condición no sea verdadera , se escribirá un

estado bajo en el pin 3

Page 19: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo 3

digitalWrite (13,HIGH);break;

digitalWrite (13,LOW);break;

switch (LecturaA) {

}

Case «0» :

Case «128»:

Usamos la estructura switch() para que haga algo según el valor de la variable «LecturaA»

que temos que declarar

previemente, esta lectura viene de

una entrada análoga que como

sabemos puede tomar valores entre

0 y 255

«Case» 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

necesiten

Luego de los dos puntos de ponen las líneas de código a

ejecutar en caso de que la condición se cumpla, se pone un break; al final para que solo ejecute la

acción una vez y siga con el resto del

programa

Page 20: Introducción al lenguaje PROCESSING para ARDUINO

Comunicación serialLa placa ARDUINO puede comunicarse por medio de pulsos, cuando estos se organizan según 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 comunicación 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.

Page 21: Introducción al lenguaje PROCESSING para ARDUINO

Ejemplo

Void setup (){Serial.begin(9600);}

Void loop (){

Serial.println( );delay(1000);}

«Hola mundo»

Los mensajes de texto siempre van entre comillas (entiéndase texto por letras y números 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 comillas

El 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 línea, 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)