Lo Último en IP@P
- Stellar Data Recovery revoluciona la recuperación de archivos perdidos en discos duros externos
- Goblin Mine: La Estrategia Económica Detrás del Juego de Minería que está Fascinando a Todos
- Estos son los nuevos Cargadores UGREEN: potencia y portabilidad en dos versiones que no te puedes perder
- UGREEN Nexode Pro: El Cargador Ultradelgado que revoluciona la carga de dispositivos móviles
- La computación en la nube está transformando los juegos Online y estas son sus grandes ventajas
Si te gusta la electrónica y la programación seguramente ya has dado tus primeros pasos en la plataforma de Arduino, siendo hoy en día una de las herramientas más importante en todo el mundo para llevar a cabo el desarrollo de proyectos electrónicos que permitan realizar algún tipo de actividad en físico. Es así como para ello los usuarios pueden contar con diferentes herramientas que les facilitara su uso.
Para ello los usuarios de Arduino pueden contar con las estructuras de control para aprender a programar, todo esto con la finalidad de flexibilizar el trabajo mientras se va aprendiendo a utilizar cada una de estas estructuras. Es importante tener en cuenta que actualmente se pueden encontrar una gran cantidad de ellas que te ayudarán en el proceso de aprendizaje al programar.
De acuerdo con todo esto, aquí te vamos a enseñar un poco más sobre que es la estructura de control y cuáles son los mejores proyectos de este tipo que puedes encontrar actualmente y así poder comenzar a flexibilizar tu trabajo en esta plataforma. Para ello sigue detalladamente todo lo que te vamos a enseñar a continuación.
¿Qué son las estructuras de control en la programación Arduino y para qué sirven?
En el caso de Arduino las estructuras de control funcionan de manera muy similar a los lenguajes de programación, es por ello que al momento de programar Arduino es prácticamente imposible no usar estos controles. Y es que dichas estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Gracias a estas herramientas se pueden conseguir los siguientes aspectos:
- Dependiendo del valor de una variable, ejecutará un grupo u otro de sentencias.
- De acuerdo con la condición, se ejecutará un grupo u otro de sentencias.
- Es capaz de ejecutar un grupo de sentencia mientras se cumpla una condición (Do – While)
- Ejecuta un grupo de sentencia hasta que se cumpla una condición (Do-Until)
- Ejecuta un grupo de sentencia un número determinado de veces (For-Next).
En el caso de los lenguajes de programación modernos presentan estructuras de control similares. Se puede decir que lo que varía entre las estructura de control de los diferentes lenguajes es su sintaxis, por lo que cada lenguaje tiene una sintaxis propia para expresar la estructura. Por lo tanto, puedes comenzar a hacer cada uno de tus proyectos de Arduino mucho más flexibles al momento de aprender a usar las estructuras de control de lenguaje.
Ten en cuenta que para poder escribir códigos de tus programas se necesita por lo menos un conocimiento mínimo del lenguaje C. es así como Arduino utiliza un lenguaje de programación C para lo que es la compilación de los scketchs. Algunas de las construcciones son particulares del lenguaje Arduino como la escritura de los pines de E/S. En el caso de estas estructuras te permitirán tomar acciones basadas principalmente en ciertas condiciones.
Es por ello que la estructura de control del lenguaje C de Arduino incluye lo siguiente:
- if
- if…else
- for
- switch case
- while
- do… while
- break
- continue
- return
- goto
A todo esto se le conoce como estructura de decisión y son claves para el funcionamiento, es así como aquí te explicamos las más importantes de ellas:
- if: Se trata de un estamento que es utilizado para probar si una determinada condición se ha logrado. Normalmente es usada para probar si un valor analógico se encuentra por encima de cierto número y ejecutar una serie de declaraciones que se escriben dentro de llaves si es verdad, en el caso que sea falso y la condición no se cumpla, entonces el programa no ejecutará la operación que está dentro de la llave.
- If…else: Esta estructura se ejecuta en respuesta a la idea “Si esto no cumple haz lo otro” si se quiere probar una entrada digital y hacer una cosa si la entrada fue alto o hacer otra cosa si la entrada fue baja.
- For: Esta es utilizada para repetir bloque de declaraciones entre sus opciones. Por lo tanto, un contador de incremento/decremento es utilizado mayormente para incrementar/decremento y terminar el bucle, mayormente esta sentencia for es usada en combinaciones con matrices para operar en colecciones datos/pines en Arduino.
- .case: Tiene como objetivo controlar el flujo del programa especificando en el programa el código que se debe ejecutar en función de ciertas variables. De acuerdo con esto, la instrucción switch se compara con el valor de una variable sobre los valores especificados en las instrucciones case.
- While: Se trata de un bucle tipo While que tiene una ejecución continua mientras se cumpla la expresión colocada entre paréntesis en la cabecera del bucle. En este caso la variable de prueba deberá cambiar para salir del bucle. Toda esta situación podrá cambiar a expensas de una expresión dentro del código del bucle o también por el cambio de un valor en una entrada de un sensor.
- .while: Funciona de la misma forma que el bucle while, pero a diferencia de que la condición se prueba al final del bucle, por lo que el bucle siempre se ejecutará al menos una vez.
- Break: Es utilizado en las instrucciones do, for, while por lo que permite salir del bucle de una forma diferente a la indicada en el bucle.
- Continue: Es usado en las instrucciones do, for, while para saltar el resto de las instrucciones que están entre llaves y se vaya a la siguiente ejecución del bucle comprobando así la expresión condicional.
- Goto: Transfiere el flujo de programa a un punto del programa que está etiquetado.
Lista de proyectos sencillos con estructuras de control que puedes hacer tú mismo para aprender a programar
Actualmente se pueden encontrar varios tipos de proyectos Arduino con estructuras de control que puedes hacer tú mismo en casa para así comenzar a aprender y a programar a través de esta plataforma. Es por ello que aquí te vamos a enseñar algunos proyectos que puedes tener en cuenta si te gusta la programación y la electrónica.
Para ello sigue detalladamente todo lo que te vamos a enseñar a continuación:
Alarma Umbral
Para iniciar debes hacerlo desde el sketch, el cual debes modificar para que en lugar de encender un led cuando supere el valor umbral, simular el envío de un mensaje de alarma a través del Serial.printLn cada vez que exista una alarma y se supere el valor umbral, pero esto solo sucederá cuando se supere la primera vez y no de forma continua. Ahora cuando el valor del umbral esté por debajo que se genere un mensaje de recuperación, de la misma forma solo cuando baje por primera vez y no de forma continua.
Esquema de conexión
Aquí debes de ejecutar el sketch y comprobar su funcionamiento. Después de esto debes añadir un texto de alarma y recuperación para cuando el valor esté por debajo o se supere el umbral. Cuando ya esté comprobado que se envía continuamente el texto, debes pensar cómo modificar el sketch para que solo se envié cuando se supere por primera vez o cuando ha vuelto a su estado normal por primera vez. Esto también te permite usar el digitalwrite una vez en lugar de tener que hacerlo continuamente.
Diagrama de flujo
Solución visualino
Aquí debes ver en el serial plotter la representación gráfica de lo que está ocurriendo.
Más en Informática
- Extensión de archivos de vídeo ¿Qué son, para qué sirven y qué tipos hay?
- Extensión de archivo .DWG ¿Qué son y cómo abrir este tipo de archivos?
- ¿Cómo encender y apagar una luz led con Arduino desde cero? Guía paso a paso
- Transistor: ¿Qué es, para qué sirve y cuál es su función en un sistema electrónico?
- P2P TV ¿Qué es, cómo funciona y cuáles son las mejores herramientas para ver TV Peer to Peer?
SÍGUENOS EN 👉 YOUTUBE TV
Esto va a variar dependiendo del color que se muestre, en este caso cada color significa lo siguiente:
- Azul: lectura del potenciómetro.
- Verde: Estado alarma.
Al seleccionar la zona de “Print Values” se puede ver que solo se imprime por pantalla alarma y alarma recuperada, cuando se pasa por el umbral, pero no de forma continua.
Histéresis
Consiste en poder comprobar el efecto del programa cuando se está justo en el umbral donde se tendrán continuas alarmas y recuperaciones. Para poder solucionar esto es importante añadir histéresis.
Diagrama de flujo
Solución visualino
Presenta un cambio de comportamiento con un umbral medio de 400 y una histéresis de 50. De esta forma se puede ver cómo cambia el umbral al pasar de un estado de alarma a recuperado y viceversa.
Histéresis con sondas de temperatura
Se trata del mismo ejemplo anterior pero esta vez con la sonda de temperatura TMP36 con y sin histéresis.
Esquema de conexión
Realizar este mismo ejemplo con la sonda de temperatura y la humedad DHT11.
Solución
Para la solución será necesario acceder a los siguientes enlaces según sea el caso: