Tabla de contenido

🔶 Introducción


Las estructuras de control condicionales son fundamentales para el control de flujo del programa y la toma de decisiones. Las estructuras de control condicionales permiten que el programa tome decisiones basadas en ciertas condiciones, lo que le da la capacidad de responder y adaptarse a situaciones variables.

📘 Fundamento Teórico


📖 Operadores de comparación


los operadores de comparación se utilizan para comparar valores y evaluar si una condición es verdadera o falsa. Los operadores de comparación más comunes son los siguientes:

x == y (x is equal to y)
x != y (x is not equal to y)
x <  y (x is less than y)
x >  y (x is greater than y)
x <= y (x is less than or equal to y)
x >= y (x is greater than or equal to y)

📖 Sentencias Condicionales


📄 Sentencia if

La sentencia if es una estructura de control condicional utilizada en Arduino para ejecutar un bloque de código si se cumple una condición especificada.

La condición es una expresión booleana que se evalúa como verdadera o falsa. Si la condición es verdadera, se ejecuta el bloque de código especificado entre llaves. Si la condición es falsa, el bloque de código no se ejecuta

if (condición) 
{
  // bloque de código a ejecutar si la condición es verdadera
}

//version corto
if (condición)   //statement

📄 if else

La condición es una expresión booleana que se evalúa como verdadera o falsa. Si la condición es verdadera, se ejecuta el bloque de código especificado entre llaves. Si la condición es falsa, el bloque de código no se ejecuta.

if (condición) 
{
  // bloque de código a ejecutar si la condición es verdadera
} 
else 
{
  // bloque de código a ejecutar si la condición es falsa
}

📄 if anidado

En la estructura if anidado, la evaluación de la condición2 depende del resultado de la evaluación de la condición1. Si la condición1 es verdadera, se evalúa la condición2 y se ejecuta el bloque de código correspondiente. Si la condición1 es falsa, se ejecuta el bloque de código después de la sentencia else.

if (condición1) 
{
  // bloque de código a ejecutar si la condición1 es verdadera
  if (condición2) 
	{
    // bloque de código a ejecutar si la condición1 y la condición2 son verdaderas
  } 
	else 
	{
    // bloque de código a ejecutar si la condición1 es verdadera y la condición2 es falsa
  }
} 
else 
{
  // bloque de código a ejecutar si la condición1 es falsa
}

📄 if else encadenado

La estructura de control condicional if encadenado, se utiliza para evaluar múltiples condiciones y ejecutar diferentes bloques de código según cada condición

En esta estructura, se evalúa la condición1 primero. Si la condición1 es verdadera, se ejecuta el bloque de código especificado después de la sentencia if. Si la condición1 es falsa, se evalúa la condición2. Si la condición2 es verdadera, se ejecuta el bloque de código especificado después de la sentencia else if.

Este proceso continúa para cada condición hasta que se encuentra una que sea verdadera. Si todas las condiciones son falsas, se ejecuta el bloque de código especificado después de la sentencia else

if (condición1) 
{
  // bloque de código a ejecutar si la condición1 es verdadera
}
else if (condición2)
{
  // bloque de código a ejecutar si la condición2 es verdadera y la condición1 es falsa
} 
else if (condición3) 
{
  // bloque de código a ejecutar si la condición3 es verdadera y las condiciones anteriores son falsas
} 
else 
{
  // bloque de código a ejecutar si todas las condiciones anteriores son falsas
}

📄 Switch case

En esta estructura, la expresión es evaluada una vez y se ejecuta el bloque de código correspondiente al valor de la expresión. Cada bloque de código se especifica utilizando la sentencia case, seguida del valor que debe coincidir con la expresión. Si la expresión coincide con un valor, se ejecuta el bloque de código correspondiente y se sale de la estructura switch. Si la expresión no coincide con ninguno de los valores especificados, se ejecuta el bloque de código después de la sentencia default.

La estructura switch/case es muy útil cuando se necesitan evaluar múltiples condiciones y tomar decisiones basadas en el valor de una expresión. Por ejemplo, se puede utilizar la estructura switch/case para leer un valor de un sensor y tomar diferentes acciones basadas en ese valor.

Es importante tener en cuenta que la estructura switch/case solo puede ser utilizada con tipos de datos enteros, como int o char. Además, cada bloque de código en la estructura switch/case debe terminar con la sentencia break para evitar que se ejecuten bloques de código adicionales.

switch (expresión) 
{
  case valor1:
    // bloque de código a ejecutar si la expresión es igual a valor1
    break;
  case valor2:
    // bloque de código a ejecutar si la expresión es igual a valor2
    break;
  ...
  default:
    // bloque de código a ejecutar si la expresión no es igual a ningún valor
    break;
}

📕 Ejemplo “E07” - Estructuras de control condicionales


En este ejemplo se muestra cómo leer valores digitales utilizando un microcontrolador Arduino. Se explican las estructuras de control condicionales en, incluyendo los operadores de comparación y las sentencias if, if else, if anidado y switch case. También se proporciona un diagrama de flujo y un código de ejemplo para leer valores de entrada y escribir valores de salida.

📝 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

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)

📓Actividad


🧠 Ejercicios


❓Preguntas


❗Véase también


✔️ Referencias


👁️‍🗨️ Otros temas


📚 Tabla de contenido

🗓️ Semana 1 - 📕 Introducción a sistemas electrónicos

Presentación del curso, competencias y rúbrica

Introducción a sistemas embebidos

Fundamentos de electrónica básica

Circuitos integrados digitales

Diagramas de bloques

AC01 - Diagrama de bloques

🗓️ Semana 2 - 📕Introducción a los controladores electrónicos

Comparación entre controladores

Lenguajes de programación

Introducción a software EDA

AC02 - Diseño Con Software EDA

🗓️ Semana 3 - 📕Arquitectura de dispositivos de control y fundamentos de programación

Análisis de la arquitectura típica de un sistema de control electrónico

Hardware del controlador

Configuración del entorno de desarrollo (IDE) y estructura de un programa

🗓️ Semana 4 - 📕 Proceso de diseño

Proceso de diseño

Fundamentos de programación en Arduino

AC03 - Programa Básico

AFU01 - Diseño Básico

🗓️ Semana 5 - 📕 Salidas digitales

Puertos de salida digitales

🗓️ Semana 6 - 📕 Funciones y arreglos de datos

Implementación de Estructuras de Control Condicionales