tutorial para programar arduino.docx

12
Tutorial para programar Arduino (II) En este tutorial aprende para que sirve cada comando del programa que lee una entrada analógica de Arduino y podrás comprender el funcionamiento para realizar tus circuitos digitales. void setup() { // Comienza la configuración del programa Serial.begin(9600); // Abrimos comunicación serie a 9600 baudios. } void loop() { // Creamos un bucle infinito apartir de aqui. int sensorValue = analogRead(A0);// Declaramos la variable numerica “sensorValue” y todo lo que entre por la entrada analógica A0, se introducirá en la variable. Serial.println(sensorValue); //Imprimir por puerto serie el valor de la variable. delay(1); // Crear un retardo de 1 segundo. } Tutorial sobre estructuras de programación en C Este tutorial trata sobre la programación en lenguaje C, utilizado en las placas Arduino. Todo programa en el lenguaje de programación C, se divide en varios bloques principales y dependientes el uno del otro. El primer gran bloque de programación es el lugar donde vamos a declarar los recursos utilizados en el programa principal. En este

Upload: tutorias-cardona

Post on 11-Aug-2015

42 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tutorial para programar Arduino.docx

Tutorial para programar Arduino (II)

En este tutorial aprende para que sirve cada comando del programa que lee una entrada analógica de Arduino y podrás comprender el funcionamiento para realizar tus circuitos digitales.

void setup() { // Comienza la configuración del programa

Serial.begin(9600); // Abrimos comunicación serie a 9600 baudios.

}

void loop() { // Creamos un bucle infinito apartir de aqui.

int sensorValue = analogRead(A0);// Declaramos la variable numerica “sensorValue” y todo lo que entre por la entrada analógica A0, se introducirá en la variable.

Serial.println(sensorValue); //Imprimir por puerto serie el valor de la variable.

delay(1); // Crear un retardo de 1 segundo.

}

Tutorial sobre estructuras de programación en C

Este tutorial trata sobre la programación en lenguaje C, utilizado en las placas Arduino.

Todo programa en el lenguaje de programación C, se divide en varios bloques principales y dependientes el uno del otro.

El primer gran bloque de programación es el lugar donde vamos a declarar los recursos utilizados en el programa principal. En este bloque declararemos todas las variables que vamos a utilizar, estableceremos el nombre que le asignamos a cada pata del microprocesador, etc.

Una variable es un recurso o un espacio en la memoria volatil del microprocesador la cual utilizaremos para introducir valores digitales o analógicos y poder trabajar con ellos; los podremos incrementar, decrementar, comparar, sumar a otros valores, enviar, etc.

Page 2: Tutorial para programar Arduino.docx

El segundo gran bloque de programación es el programa principal; se puede encontrar en un programa apartir de la sentencia void setup().

Apartir de aquí, podemos distinguir otras 2 partes, una parte que solo se ejecutara una sola vez al iniciar el programa y otra parte en la que se generará un bucle infinito.

La parte que solo se ejecuta una vez suele ser utilizada para iniciar comunicaciones serie, i2c, isp, etc. declarar que patas del microprocesador son entradas o salidas y también puede ser utilizada para asignar valores predefinidos a variables.

El bucle infinito el cual se encuentra apartir de void loop() abarca el programa que se ejecturará en el microprocesador.

Como podemos ver en la imagen siguiente de un programa de ejemplo de Arduino se encuentran todos los bloques mencionados.

Page 3: Tutorial para programar Arduino.docx

También podemos observar que cada grupo de bloques se encuentra comprendido entre 2 corchetes que los delimita, que cada sentencia acaba con punto y coma y que se pueden agregar comentarios al programa sin que afecte a este añadiendo 2 barras laterales.

Uso de las variables en programación arduino

Este tutorial sencillo pero necesario trata sobre el uso de las variables en la programación de Arduino.

Antes de leer este tutorial sería conveniente que leas el anterior sobre estructuras de la programación de Arduino o visites la sección de tutoriales de la web.

Una variable es el espacio asignado a un dato dentro de la memoria volátil del microcontrolador de Arduino, estos datos serán eliminados automáticamente cuando le desaparezca la alimentación al microcontrolador.

A cada una se le asigna un espacio como si se tratara de una estanteria, cada variable siempre será almacenada en su sitio.

Hay varios tipos de variables pero solo voy a explicar las que quizá más useis en Arduino y mencionaré algún tipo más.

La primera variable sería “char”, esta variable almacenará 1 solo carácter en formato ASCII, esto quiere decir que si le pides que almacene un número, el programa le asignará automáticamente el valor en ASCII de ese numero.

Page 4: Tutorial para programar Arduino.docx

Tan solo puede almacenar 1 caracter si se quisiera almacenar varios caracteres se podría usar strings (cadena de caracteres).

Otra variable muy usada sería “int”, esta variable almacenará datos numéricos hasta 2 bytes. De igual manera que ocurre con la variable “char” si pretendes introducir un caracter ASCII a una variable “int” automáticamente se almacenará su correspondiente valor numérico.

La última variable que explicaré será “boolean”, esta almacena datos opuestos como verdadero o falso, 1 o O, encendido o apagado, etc.

Hay más tipos de variables como pueden ser unsigned char, unsigned int, byte,word, long, float, double, etc.

Cada una de las variables es diferente pero con las explicadas se puede trabajar perfectamente en un programa sencillo.

En próximos tutoriales explicaré como declarar variables y como usarlas.

Estructuras condicionales para programar Arduino

Con este tutorial entraremos en la programación básica del lenguaje C, usado en Arduino.

Si llegas a este tutorial sin ver los anteriores te recomiendo que te pases por el listado de tutoriales de programación de Arduino.

Las estructuras condicionales son las sentencias utilizadas para decir al programa que haga una cosa u otra.

Un ejemplo para entenderlo mejor:

Si tengo hambre como pan

Sino tengo hambre no hago nada

En este ejemplo, diriamos que tener o no tener hambre es lo que nos va a permitir ejecutar una acción u otra.

Otro ejemplo, quizá mas sencillo:

Mientras esté pulsado el botón A, se encienda el led A, sino se pulsa no se enciende nada y cuando se suelte se apague.

En este ejemplo, dependerá del botón A que se ejecute una acción o no.

Otro ejemplo de una estructura condicional podría ser:

Page 5: Tutorial para programar Arduino.docx

Cuando tenga hambre, comienzo con 10 manzanas y mientras tenga hambre se van restando automáticamente mientras me las como.

Estas estructuras condicionales son while, if, for, switch, do while y cada una se aplicará según el programa que queramos realizar.

Para el primer ejemplo se podría usar la sentencia if, para el segundo ejemplo se podría usar la sentencia while y para el tercer ejemplo la sentencia for.

En próximos tutoriales explicaré una a una su programación.

Uso de estructura condicional While

En este tutorial aprenderás el uso de la estructura condicional while, usada para programar Arduino.

Sería conveniente que leas antes los tutoriales anteriores a este sobre configuración de arduino para poder entender este mejor, los podrás encontrar aquí.

La estructura while es utilizada para ejecutar una acción en función de una o unas variables.

Por ejemplo, mientras este pulsado un pulsador, un led permanecerá encendido, en el momento que se suelte el pulsador el led se apagará.

Es decir, una vez que se deje de cumplir la condición impuesta, el programa saldrá del bucle que genera el while.

Un ejemplo de programa para entenderlo mejor con el ejemplo anterior:

While(pulsador == 1)

{

digitalWrite ( led, HIGH);

}

Page 6: Tutorial para programar Arduino.docx

Hay que tener en cuenta que esto irá dentro del programa principal mencionado en el articulo de las estructuras de un programa.

Dentro del bucle que se encuentra entre los 2 corchetes puedes incluir todas las sentencias que quieras, si por ejemplo quisieras que el led parpadeara cuando se pulsa el pulsador tan solo habría que encender el led, indicarle el tiempo que permanecerá encendido, apagarlo e indicarle el tiempo que permanecerá apagado.

Sería así:

While(pulsador == 1)

{

digitalWrite ( led, HIGH);

delay(1000);

digitalWrite ( led, LOW);

delay(1000);

}

Así permitirías realizar el parpadeo del led, si te das cuenta, e introducido una sentencia llamada delay; esta sirve para producir un retardo en el programa del tiempo indicado entre paréntesis expresado en milisegundos, por lo tanto, el led se encendería y apagaría cada 1 segundo.

Existe un programa de ejemplo dentro del software de arduino y que podéis ver en este otro ejemplo.

Tutorial para programar Arduino (I)

Comienzo con un tutorial un poco superficial de como programar estas placas y poco a poco iré desarrollando tutoriales un poco mas complejos para los más expertos.

Partiendo de la base de que todos habéis leído el articulo anterior de como instalar los drivers de la placa y acceder a la pantalla principal de arduino, voy a desglosar los códigos de ejemplo que se incluyen para entender su funcionamiento.

Ejemplo de Blink

void setup() {

pinMode(13, OUTPUT);

Page 7: Tutorial para programar Arduino.docx

}

void loop() {

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

Explicación

void setup: Declaramos el comienzo del programa

pinMode(13, OUTPUT); eclaramos el pin 13 de la placa como salida digital

void loop: Declaramos un bucle infinito, el programa entre los corchetes de esta función se repetira de forma infinita.

digitalWrite(13, HIGH); :Envia un “1″ logico al pin 13, es decir, el pin 13 estará activado.

delay(1000); :Crea un retardo de 1000 milisegundos en el programa, es decir, el programa se para durante 1 segundo.

digitalWrite(13, LOW); Envia un “0″ lógico al pin 13, es decir, el pin 13 se desactivara.

En resumen, se puede deducir que este programa en primer lugar declara un pin como salida y después lo activa y lo desactiva con 1 segundo de retardo entre acción y acción.

Conectando un diodo LED a la pata 13 podremos observar como este se enciende y se apaga cada 1 segundo.

Page 8: Tutorial para programar Arduino.docx

Uso de estructura condicional If

En este tutorial aprenderás el uso de la estructura condicional if, usada para programar Arduino.

Sería conveniente que leas antes los tutoriales anteriores a este sobre configuración de arduino para poder entender este mejor, los podrás encontrar aquí.

La estructura if es utilizada para ejecutar una acción en función de una o unas variables al igual que ocurre con la estructura condicional while.

A diferencia de la sentencia while, esta sentencia una vez que la ejecutes entrará en el bucle hasta que se acaben todas las secuencias que tiene que realizar aunque la condición programada por la que ha entrado ya no exista.

Por ejemplo, si indicas mediante un if, que cuando se presione un pulsador empieza a parpadear un LED, aun que se suelte el pulsador el led seguirá parpadeando las veces que se lo indiques.

Otro ejemplo que quizá aclare mas. Indicas la condición de que “cada vez que tengas hambre” comerás primer plato, segundo plato, fruta y postre.

Cuando se ejecute el programa y tenga hambre, comerá lo anterior mencionado, pero si la condición en este caso que es el hambre desaparece, comerá de todas formas primer plato, segundo plato, fruta y postre; repito, aun que finalice la condición tener hambre en el primer plato comería todo.

Un ejemplo parecido al de while pero con if sería asi:

If(pulsador == 1);

{

digitalWrite ( led1, HIGH);

delay(1000);

digitalWrite ( led2, HIGH);

delay(1000);

digitalWrite ( led3, HIGH);

delay(1000);

}

Page 9: Tutorial para programar Arduino.docx

Este programa encendería tres leds, uno detrás de otro cada 1 segundo y aunque el pulsador se soltara durante el encendido del led1 se encenderían los 3 de todas formas.

Hay que tener en cuenta que esto irá dentro del programa principal mencionado en el articulo de las estructuras de un programa.

Uso de la estructura condicional “for”

En este tutorial aprenderás el uso de la estructura condicional for, usada para programar Arduino.

Sería conveniente que leas antes los tutoriales anteriores a este sobre configuración de arduino para poder entender este mejor, los podrás encontrar aquí.

Esta estructura condicional de igual manera que las anteriores explicadas en otras entradas (while e If) es utilizada para introducir vuestro programa en bucle que entrará y saldrá en función de las condiciones que le otorguéis.

En este caso, se introducirán en el interior de la condición del for, 3 valores diferentes:

En primer lugar, se introducirá el valor de inicio de la variable, se pondrá dicha variable o dicho valor en la cantidad indicada.

En segundo lugar, se introducirá la condición que finalizará la ejecución de la variable.

En ter lugar, se introducirá una acción que se ejecutará cada vez que se ejecute el bucle.

Ejemplo:

int led;

for(led=0;led=5; led++)

{

digitalWrite(9, HIGH)

delay(1000);

digitalWrite(9, LOW)

}

En este caso, estamos indicando que la variable LED comienza en cero y pondrá a 1 la salida 9, esperará 1 segundo y la pondrá a cero de nuevo.

Cada vez que se ejecute el bucle, la variable LED aumentará en 1 hasta llegar a 5 y se dejará de ejecutar el bucle.

Page 10: Tutorial para programar Arduino.docx

Por lo tanto, este programa pone en estado alto y bajo o enciende y apaga algo 5 veces.