👥 Autores

Jesús D. Garza Camarena

Tabla de contenido

🔶 Introducción


Las funciones son uno de los conceptos fundamentales en el lenguaje de programación C. Una función es un bloque de código que se puede llamar desde cualquier parte del programa para realizar una tarea específica. Las funciones permiten dividir un programa en pequeñas tareas independientes y reutilizables, lo que facilita el desarrollo y la mantenibilidad del código.

📘 Fundamento Teórico


Una de las características principales de Arduino es la posibilidad de definir funciones personalizadas que pueden ser llamadas en cualquier momento desde el programa principal. Estas funciones permiten al programador organizar su código en bloques lógicos más pequeños y reutilizables, facilitando la creación de proyectos más complejos.

Las funciones en Arduino se definen mediante una sintaxis sencilla y tienen una estructura básica que incluye un nombre, una lista de parámetros de entrada (opcional) y un cuerpo de código que se ejecuta cuando se llama la función. Las funciones pueden devolver un valor de salida o no, dependiendo de su propósito y funcionalidad.

📖 Partes de una función


Una función en Arduino (y en muchos otros lenguajes de programación) se compone de tres partes principales:

  1. Tipo de retorno: Es el tipo de dato que devuelve la función al finalizar su ejecución. Si la función no devuelve ningún valor, se utiliza la palabra clave "void".
  2. Nombre de la función: Es el identificador único que se utiliza para llamar y ejecutar la función.
  3. Lista de parámetros: Es una lista de variables que se utilizan como entrada para la función. Estos parámetros son opcionales y pueden ser de cualquier tipo de dato, incluyendo otros objetos y estructuras de datos.
  4. Cuerpo de la función: Es el bloque de código que se ejecuta cuando se llama la función. Este bloque de código puede ser tan simple o complejo como sea necesario para realizar la tarea específica de la función.
tipo_de_retorno nombre_de_la_funcion (lista_de_parametros)
{
    // Código a ejecutar cuando se llama la función
    return valor_de_retorno; // opcional
}

<aside> ℹ️ Es recomendable que el nombre detalle una acción

</aside>

📄 Partes principales de la función

Function declaration : int function ( int );
Function call : function( x );
Function definition:
	int function( int x )
	{
	 statements;
	 return x;
	}

<aside> ⚠️ Dos funciones no pueden tener el mismo nombre

</aside>

📖 Tipo de retorno


📄 Void

"void" es una palabra clave utilizada en lenguaje de programación C para especificar que la función no devuelve ningún valor. Es decir, la función se utiliza solo para realizar una tarea específica y no regresa un resultado que se pueda utilizar en otra parte del programa.

📄 Return data type

La palabra clave "return" se utiliza en una función para devolver un valor de salida. El tipo de dato que se devuelve se especifica en el tipo de retorno de la función. Por ejemplo, si una función tiene un tipo de retorno "int", debe devolver un valor entero.

Para escribir una función que devuelva un valor, simplemente se debe incluir el valor a devolver después de la palabra clave "return". Por ejemplo:

int suma(int a, int b)
{
    int resultado = a + b;
    return resultado;
}

En este ejemplo, la función "suma" toma dos parámetros enteros "a" y "b". Luego, calcula la suma de estos dos números y la almacena en una variable llamada "resultado". Finalmente, devuelve el valor de "resultado" utilizando la palabra clave "return".

📄Parámetros

Los parámetros son variables que se utilizan como entrada para una función. Estos parámetros se incluyen en la definición de la función y se especifican como una lista de variables separadas por comas entre los paréntesis de la función. Cuando se llama a la función, los valores de estas variables se pasan como argumentos y se utilizan dentro de la función para realizar una tarea específica. Los parámetros son opcionales y pueden ser de cualquier tipo de dato, incluyendo otros objetos y estructuras de datos.

📕 Ejemplo “E03” - Funciones y constantes


Este ejemplo muestra cómo utilizar funciones y constantes en un proyecto de Arduino para controlar LEDs y crear una secuencia de luces. El documento también proporciona un análisis de problemas comunes que se pueden presentar en el proceso de diseño e implementación de un prototipo y cómo solucionarlos.

📝 Flujo de diseño


1️⃣ Diseño del diagrama de bloques

2️⃣ Planificación del esquema de pines (Hardware)

3️⃣ Creación del circuito esquemático

4️⃣ Elaboración de la lista de materiales

5️⃣ Creación del diagrama de flujo utilizando code2flow

6️⃣ Desarrollo del firmware

7️⃣ Simulación del comportamiento del circuito

8️⃣ Prototipado del circuito (imagen)

9️⃣ Construcción del prototipo

⚠️ Análisis y corrección de problemas (Troubleshooting)

🔸 Resumen


En este tema se habla sobre las funciones en el lenguaje de programación C y su aplicación en Arduino. Se explica su estructura básica y cómo se utilizan para dividir un programa en tareas más pequeñas y reutilizables. También se incluye un ejemplo de cómo se pueden utilizar funciones y constantes para controlar LEDs y crear una secuencia de luces en un proyecto de Arduino. Además, se proporciona un análisis de problemas comunes que se pueden presentar en el proceso de diseño e implementación de un prototipo y cómo solucionarlos. La página también incluye una sección de ejercicios y preguntas para reforzar el aprendizaje sobre el tema.

📓Actividad


Actividad 1: Diseña una función en C

Crea una función en lenguaje C que reciba dos números enteros como parámetros y devuelva el resultado de la suma de ambos. Luego, utiliza esta función en un programa principal para sumar dos números ingresados por el usuario y mostrar el resultado en pantalla.

Actividad 2: Funciones en Arduino

Escribe un programa en Arduino que utilice al menos dos funciones personalizadas. La primera función debe encender y apagar un LED, mientras que la segunda debe hacer que el LED parpadee en un patrón específico (por ejemplo, encender y apagar en secuencia). Utiliza estas funciones en el programa principal para controlar el LED y mostrar el patrón de parpadeo.

Actividad 3: Solución de problemas

Crea una lista de problemas comunes que se pueden presentar al utilizar funciones en C o en Arduino. Luego, proporciona soluciones para cada uno de estos problemas. Asegúrate de incluir problemas relacionados con la sintaxis, errores en la implementación del prototipo y componentes defectuosos.

🧠 Ejercicios


❓Preguntas


  1. ¿Qué son las funciones en C y cómo se utilizan?
  2. ¿Cómo se estructura una función en C?
  3. ¿Cuál es el propósito de utilizar funciones en un programa?