28
pdfcrowd.com open in browser PRO version Are you a developer? Try out the HTML to PDF API You are here: Home / Programación / Programación estructurada. Go to... Search...

Tutoriales arduino

Embed Size (px)

DESCRIPTION

Programacion estructurada para arduino

Citation preview

Page 2: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

0

Programación Estructurada.Posted by: 5Hertz on 24/04/2014 in Programación 1 Comment 10,794 views

Si tienes en tu poder un Arduino y te estas iniciando en el mundo de la programación este tutorial es para ti. Sabemos quete mueres de ganas por comenzar a hacer programas para tu Arduino, pero que mejor que empezar a programar con el piederecho, y ese es el propósito de éste tutorial.

Contenido:1. Introducción.

Page 3: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

2. ¿Qué es la programación estructurada?.3. Estructuras de control.3.1 Secuencia (o bloque de instrucciones).3.2 Selección.3.2.1 Estructura If.3.2.2 If… Else.3.2.3 Estructura Switch. 3.3 Iteración.3.3.1 Estructura While.3.3.2 Estructura Do… While.3.3.3 Estructura For.4. Instrucciónes “GOTO”, “BREAK”, “CONTINUE”.4.1 Instrucción “GOTO”4.2 Instrucción “BREAK”4.3 Instrucción CONTINUE5. Comentarios6. Identación.

2. ¿QUÉ ES LA PROGRAMACIÓNESTRUCTURADA?A medida que un programa aumenta de tamaño, aumenta a su vez la complejidad para leerlo, su tiempo de desarrollo, demantenimiento y disminuye su calidad si no se tiene mantiene un correcto orden y estructura del programa.

Es por esto que surgió un paradigma de programación llamado Programación estructurada, que consiste en mejorar laclaridad, calidad y acelerar el tiempo de desarrollo, utilizando únicamente subrutinas y 3 estructuras de control: Secuencial, deSelección (IF y SWITCH) y de Iteración (ciclos FOR y WHILE), sustituyendo estas 3 estructuras a la instrucción de transferenciaincondicional (GOTO), que usándose de manera indiscriminada puede llevar a un código muy difícil de leer y modificar (El

Page 5: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Existen en la mayoría de los lenguajes de programación, 3 estructuras de control de flujo principales, que nos permitenrealizar instrucciones solo al cumplirse ciertas condiciones, o realizarlas durante un tiempo determinado en que unacondición se cumpla, éstas estructuras son las siguientes:

3.1. SECUENCIA (o bloque de instrucciones).

Page 6: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Es la estructura más básica y consiste en realizar una secuencia de instrucciones de manera obligatoria, no permitiéndonosrealmente tomar decisión alguna. El inicio de un bloque de instrucciones se indica con un símbolo “{” y el final con un “}”.

Ejemplo de secuencia de instrucciones en Arduino.

3.2. SELECCIÓN.

Éstas estructuras consisten en ejecutar una instrucción (O un bloque de instrucciones) según el resultado de una condición lógica(con resultado cierto o falso) o bien elegir entre un varios grupos de instrucciones si se tiene más de 2 respuestas a la condición.

Para realizar una selección se suelen utilizar las estructuras If y else if (Para condiciones verdadero/falso) y la estructuraSwitch… case para múltiples casos.

3.2.1. Estructura IF.

Ésta estructura toma como parámetro un valor booleano (verdadero / falso) para tomar una decisión, éste valor puede ser

Page 7: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

directamente una variable / constante, o el resultado de operaciones lógicas al momento: igualdad (==), desigualdad (!=), mayorque (>), menor que (<), etc.

Ejemplo de estructura If en Arduino.

3.2.2. IF.. ELSE

Esta estructura permite extender las capacidades de la estructura If, permitiéndonos elegir entre 2 instrucciones o conjuntos deinstrucciones a realizar, según si la condición toma un valor Verdadero o Falso.

Page 8: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de estructura If .. Else en Arduino.

3.2.3. Estructura SWITCH

La estructura Switch responde a un conjunto de casos, seleccionando alguno de ellos si el caso coincide con elparámetro de entrada.

Ejemplo de programación en Arduino:

Page 9: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programación en Arduino de la estructura switch.

La estructura Switch hace uso en gran medida de la instrucción Break, ya que permite salir inmediatamente de la estructura alterminar el caso elegido (Si no se usa se continuarían ejecutando los casos posteriores).

Nota: ¡Esta estructura no funciona para valores con rangos, solo para valores exactos! Si se desea tomar decisiones basados enrangos de valores, es recomendable usar varias estructuras If.. Else anidadas, como en el siguiente ejemplo:

Page 10: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programacion de Arduino conestructuras If.. Else anidadas.

3.3. ITERACIÓN

Estas estructuras de control sirven para repetir una instrucción o bloque de instrucciones mientras que se cumpla una condiciónlógica, para lo cual también tenemos varias opciones a elegir para distintas situaciones (For, while y do… while).

Cabe destacar que en todas las estructuras de iteración, se ejecutará todo el bloque de instrucciones dentro de la estructura siya comenzó a ejecutarse, aunque la variable que controle la condición lógica cambie dentro del bloque (Esto porque la condiciónsolo se verifica una vez en cada iteración, ya sea al inicio o al final del bloque, según el tipo de estructura).

3.3.1. Estructura WHILE

Page 11: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ésta es la estructura de iteración más sencilla de usar y fácil de entender, toma como parámetro una condición lógica, y seejecuta el código mientras que se satisfaga la condición.

Ésta estructura verifica la condición ANTES de comenzar el bloque de instrucciones, por lo que si no se satisface la condición,puede nunca ejecutar el bloque.

Ejemplo:

Ejemplo de programación de Arduino conestructura While.

Ésta estructura además te permite generar ciclos infinitos (muy utilizado al programar microcontroladores), si siemprecumplimos la condición lógica de la siguiente manera:

Page 12: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programación de Arduino con ciclos infinitos.

3.3.2. Estructura DO … WHILE

Casi idéntica a la estructura While, con la diferencia de que la condición se verifica al final del bloque de instrucciones, por lo queéste se ejecuta al menos una vez. Esto es muy útil si los valores que entrarán en la condición lógica deben adquirirse durante elciclo, y no antes.

Ejemplo:

Page 13: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programación de Arduino con estructura Do.. While

Los ciclos while y do … while también nos permiten hacer delays variables en el código, hasta que se cumpla cierto evento comorecibir un dato por serial, que se presione un botón, etc.

Ejemplo:

Page 14: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programacion de Arduino con ciclos While y Do… While.

3.3.3. Estructura FOR

Esta estructura es distinguida por tener una cantidad explícita de veces que debe ciclarse, así que es útil para hacer accionesrepetidas una cantidad conocida de veces para hacer un programa más corto y entendible.

La estructura For toma 3 parámetros: for(A;B;C){}

Esto significa:

“Iniciando en A con incrementos de C y mientras que B se cumpla…”

Ejemplo:

Page 16: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programacion de Arduino conestructura For.

Con esto damos por terminado el tema de las estructuras de control (Finally!).

4. INSTRUCCIONES “GOTO”, “BREAK”,“CONTINUE”Ahora hablaremos de las instrucciones goto, break y continue, las cuáles pueden ser tus mejoresamigas o tus peores enemigas

dependiendo del modo en que las uses.

Estas instrucciones te permiten cambiar el flujo del programa sin restricciones, por lo quepueden permitirte lograr saltos en tu programa que de otra manera serían complicados o requerirían de más cantidad de código.

Page 17: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

IMPORTANTE: deben usarse sabiamente pues el uso indiscriminado de estas instrucciones puede ocasionar un código ilegible omuy difícil de seguir, pues permiten hacer saltos en el programa en cualquier dirección, hacia adelante o hacia atrás (a los ladostambién?).

4.1. Instrucción GOTO

El uso o desuso de esta instrucción es el más debatido, hay mucha gente que invitan a usarlo lo menos posible, y otros más queinsisten en que cualquier programa que utilice goto puede sustituirse por un programa mejor estructurado que no lo utilice. Éstaes la instrucción que te otorga más libertad, pero con la que más cuidado hay que tener, se escribe una etiqueta en cualquierparte del programa, y al usar la instrucción: goto etiqueta el programa inmediatamente saldrá de cualquier estructura deselección o iteración para dirigirse a la etiqueta seleccionada.

Ejemplo de programación de Arduino con instrucciónGOTO.

Page 18: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

4.2. Instrucción BREAK

Esta instrucción permite salir de la estructura de control actual en cualquier momento, sin tener que esperar a quetermine el bloque de instrucciones o a que deje de cumplirse la condición lógica.

Se recomienda usarse al hacer validaciones al inicio de un ciclo, pero no es recomendado usarlo en un punto intermedio delbloque pues esto provoca que sea más difícil de leer el código.

Es ampliamente utilizado dentro de Estructuras Switch, para salir de la estructura al terminar un caso sin ejecutar los siguientescasos.

Page 19: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programación de Arduino con instrucción Break.

Como se puede ver, sabemos que si el dato es una letra X termina el ciclo, lo que nos indica que podemos dejar de leer en estepunto el código pues las instrucciones posteriores no se ejecutarán.

4.3. Instrucción CONTINUE

Page 20: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Esta instrucción permite CONTINUAR a la siguiente iteración de nuestro bloque de código, saltándose el resto del bloque ypasando directamente al incremento (En el caso de un For) y la condición lógica.

Es recomendable usarla también al inicio del bloque cuando una condición específica requiera que se deje de ejecutar el bloque,pero sin salir del ciclo actual.

Ejemplo de programación de Arduino con instrucción Continue.

Con esto terminamos la explicación de las instrucciones de saltos incondicionales, hay que recordar que éstas son herramientasa nuestra disposición, pero deben usarse solo cuando sean estrictamente necesarias.

5. COMENTARIOSLos comentarios son texto de ayuda para el programador, pero que no modifican el comportamiento del programa, lo que nospermite hacer notas y comentarios en distintas partes del código para facilitarnos su lectura la próxima vez que lo revisemos.

Son muy importantes para documentación y una lectura fluida del código, además de para ayudar a otras personas a entenderlo

Page 21: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

mejor, pues hay que recordar que muchas veces trabajaremos en programas en equipo y otras personas además de nosotrosnecesitarán entender nuestro código.

Existen 2 tipos de comentarios en C, los de una sola línea y los multilínea que veremos en los siguientes ejemplos:

Comentarios de una sola línea (precedidos por “//”):

Comentarios multilínea (Escritos entre “/*” y “*/”):

Page 22: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

6. IDENTACIÓNLa identación es un tipo de notación secundaria que ayuda a mejorar notablemente la legibilidad del programa, moviendobloques de código a la derecha mediante tabulaciones o espacios.

Se suele identar el código que se encuentra dentro de un bloque o una estructura de control para distinguirlo rápidamente delresto, aún sin haber comenzado a leer lo que facilita el seguir el flujo del programa en gran medida.

Comparación de programas con y sin identación:

Sin identar:

Page 24: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Ejemplo de programación con ArduinoIdentado.

Y aquí acaba nuestro tutorial sobre programación estructurada, esperamos que les sea de utilidad para mejorar sus técnicas de

programación y esperen próximamente el nuevo tutorial de programación avanzada con Arduino .

Page 25: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

tweet 3Like 0 Submit

About 5Hertz

Ir al inicio

Disponible en PDF

One Comment

Share

Previous:

Celdas de carga.«

10/10/2014 at 9:07 pm

Orduna Bustamante

La instrucción RETURN aparece más o menos esporádicamente en programas para Arduino, pero hay ocasiones en que puedeser importante conocerla.

Reply

Leave A Reply

Page 27: Tutoriales arduino

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API

Síguenos En Facebook

5Hz Electrónica

3,495 people like 5Hz Electrónica.

Facebook social plugin

Like

Categorías

5Hz (1)

Acelerómetro (1)

Arduino (3)

Conceptos (2)

GPS (1)

LCD (1)

Programación (1)

RF (1)

Sensores (3)Magnéticos (1)

Peso (1)

Ultrasónicos (1)

XBee (3)

Archivos

April 2014 (5)

Comentarios Recientes

EDGAR CAMPOS LAMPREA on ¿Cuál Arduino comprar?