Want to create interactive content? It’s easy in Genially!

Get started free

3.2 Actividad. Las estructuras de control

Andrés Mejía

Created on March 20, 2025

3.2 Actividad. Las estructuras de control, funciones y programación de entradas/salidas con Arduino

Start designing with a free template

Discover more than 1500 professional designs like these:

Geniaflix Presentation

Vintage Mosaic Presentation

Shadow Presentation

Newspaper Presentation

Zen Presentation

Audio tutorial

Pechakucha Presentation

Transcript

UNIVERSIDAD VIRTUAL DE ESTUDIOS SUPERIORES

AlumnoAndrés Mejía Hernández

AsignaturaHabilidades directivas

TutorDr. José Luis García Cerpas

Actividad3.2 Actividad. Las estructuras de control, funciones y programación de entradas/salidas con Arduino

empezar

Fecha 26 de marzo 2025

Arduino

Arduino es una plataforma de desarrollo de hardware y software que permite la creación de proyectos electrónicos de forma sencilla. Su programación se basa en C/C++ y utiliza un entorno de desarrollo integrado (IDE) específico. En Arduino, las estructuras de control permiten definir la lógica del programa mediante condiciones y bucles, facilitando la toma de decisiones y la repetición de acciones. Las funciones organizan el código en bloques reutilizables, permitiendo la ejecución de tareas específicas. La programación de entradas y salidas permite la interacción con sensores y actuadores, utilizando pines digitales para estados de encendido y apagado, y pines analógicos para manejar valores variables, como la lectura de sensores o la modulación de señales.

Estructuras repetitivas

Las estructuras repetitivas permiten ejecutar de manera iterativa un bloque de código, facilitando la repetición de operaciones hasta que se cumpla una condición o se alcance un número determinado de iteraciones.

El bucle do while ejecuta un bloque de código al menos una vez, sin importar si la condición es verdadera o falsa en la primera ejecución.

El bucle for es una estructura repetitiva que ejecuta un bloque de código un número determinado de veces.

El bucle while ejecuta un bloque de código mientras una condición se mantenga verdadera.

+ info

+ info

+ info

Funciones entrada/salida

En Arduino, los pines de la placa permiten la interacción con el entorno mediante la recepción y el envío de señales. Los pines digitales pueden utilizarse para detectar estados de encendido y apagado o para activar dispositivos externos. Los pines analógicos permiten trabajar con valores variables, facilitando la lectura de sensores y el control de señales mediante técnicas como la modulación por ancho de pulso (PWM).

+ info

Funciones Entrada/Salida

Digitales

Analógicas

analogRead(pin);

pinMode(pin, OUTPUT);

digitalWrite(pin, HIGH);

analogWrite(pin, valor);

analogReference(tipo);

digitalWrite(pin, LOW);

Funciones Principales Arduino

max();

delay();

min();

millis();

constrain();

micros();

print();

pow();

println();

sq();

Conclusión

Las estructuras de control, las funciones de entrada y salida, y las principales funciones en Arduino permiten desarrollar programas eficientes para interactuar con el entorno. Las estructuras de control, como los bucles y condicionales, facilitan la ejecución de tareas repetitivas y la toma de decisiones. Las funciones de entrada y salida permiten leer sensores y controlar actuadores a través de los pines digitales y analógicos. Además, funciones como delay(), millis(), analogRead(), digitalWrite(), entre otras, optimizan la ejecución del código y la gestión del hardware. Conocer estos elementos permite desarrollar proyectos que funcionen correctamente y con una estructura organizada en Arduino.

Referencias

Brian W. Evan. (2007). Arduino: Manual de Programación (Ruiz G. J.M.), Consultado el 16 de Agosto de 2023 en https://arduinobot.pbworks.com/f/Manual+Programacion+Arduino.pdf CódigoFacilito (03 septiembre 2018). 16.- Estructuras Iterativas - Curso Gratuito de Arduino [Video]. YouTube. https://www.youtube.com/watch?v=T2DfPYMX89o Delta Training (25 mayo 2020). Programación de Pines Digitales Arduino - INPUT OUTPUT. [Video]YouTube. https://www.youtube.com/watch?v=f-Eqao4BXC0 ElectroDaddy. (s.f.). 9- Arduino. Estructura de código y sintaxis. Recuperado de https://electrodaddy.com/arduino-estructura-de-codigo-y-sintaxis/ Moreno M., A. & Córcoles C., S. (2018). Arduino: curso práctico. (pp. 193-203). RA-MA Editorial. https://elibro.net/es/ereader/unives/106517?page=15 Prometec. (s.f.). FUNCIONES. Recuperado de https://www.prometec.net/funciones1/ Programar fácil. (s.f.). Sentencia if con Arduino, controla la ejecución de tu código. Recuperado de https://programarfacil.com/blog/arduino-blog/if-else-arduino/

¡Muchas gracias!

SINTAXIS

Después de la primera iteración, la condición se evalúa al final de cada ciclo y, si sigue siendo verdadera, el código se repite.

  • El bloque de código dentro de do se ejecuta al menos una vez antes de evaluar la condición.
  • La condición se verifica al final de cada iteración. Si es verdadera, el bucle se repite; si es falsa, el bucle termina.

SINTAXIS

A diferencia del for, no tiene una estructura definida para la inicialización ni la actualización, por lo que estas deben manejarse dentro del bucle para evitar ejecuciones infinitas.

  • Condición: Se evalúa antes de cada iteración. Si es verdadera, el bloque de código se ejecuta; si es falsa, el bucle termina.
Hay que tener cuidado con los bucles infinitos, si la condición nunca se vuelve falsa, el programa quedará atrapado en el bucle.

SINTAXIS

  • Inicialización: Se ejecuta una sola vez antes de que el bucle comience. Generalmente se usa para declarar e inicializar una variable de control.
  • Condición: Se evalúa antes de cada iteración. Si es verdadera, el código dentro del bucle se ejecuta; si es falsa, el bucle termina.
  • Actualización: Se ejecuta al final de cada iteración y suele modificar la variable de control.

Pines Digitales y Analógicos

  • Pines digitales: Solo pueden trabajar con dos estados: ALTO (5V o 3.3V según la placa) y BAJO (0V). Se utilizan para leer o enviar señales de encendido y apagado en dispositivos como botones, LEDs o relés.
  • Pines analógicos: Permiten manejar valores continuos en un rango específico (generalmente de 0 a 1023 en placas con convertidor ADC de 10 bits). Se usan para leer sensores de temperatura, luz o cualquier dispositivo que proporcione una señal variable. Algunos pines analógicos también pueden generar señales PWM para simular valores intermedios en salidas digitales.

La diferencia principal entre los pines analógicos y digitales en Arduino es la forma en que manejan la información

pinMode(pin, OUTPUT);

Esta función se usa en Arduino para configurar un pin como salida digital. Permite que el pin envíe señales HIGH (5V o 3.3V) o LOW (0V) a dispositivos como LEDs, motores o relés. Ejemplo: pinMode(9, OUTPUT); // Configura el pin 9 como salida Nota: Si no se configura un pin como OUTPUT, su comportamiento puede ser impredecible al intentar enviar señales.

digitalWrite(pin, HIGH);

Esta función en Arduino se usa para establecer un pin digital en un estado alto (HIGH), enviando 5V (o 3.3V según la placa). Si el pin está configurado como salida con pinMode(pin, OUTPUT);, esto permite activar dispositivos como LEDs, relés o motores. Ejemplo: digitalWrite(9, HIGH); // Envía 5V al pin 9 (enciende un LED, por ejemplo)

digitalWrite(pin, LOW);

Esta función en Arduino se usa para poner un pin digital en estado bajo (LOW), enviando 0V. Esto apaga dispositivos como LEDs o desactiva relés y motores cuando el pin ha sido configurado previamente como salida con pinMode(pin, OUTPUT);. Ejemplo: digitalWrite(9, LOW); // Apaga el pin 9 (ejemplo: apagar un LED)

analogRead(pin);

Esta función en Arduino se usa para leer un valor analógico desde un pin designado, generalmente de 0 a 1023 en placas con un convertidor ADC de 10 bits. Se emplea para sensores que proporcionan señales variables, como potenciómetros, sensores de temperatura o luz. Ejemplo: int valor = analogRead(A0); // Lee el valor del sensor en el pin A0 y lo asigna a la variable valor.

analogWrite(pin, valor);

Esta función en Arduino se usa para generar una señal PWM (modulación por ancho de pulso) en un pin digital compatible. El parámetro valor varía de 0 a 255, donde 0 es 0% de señal (0V) y 255 es 100% de señal (5V o 3.3V según la placa). Se emplea para controlar la intensidad de LEDs, la velocidad de motores o la posición de servomotores. Ejemplo: analogWrite(9, 128); // Envía una señal PWM del 50% al pin 9 Nota: Esta función solo funciona en pines con soporte PWM, identificados con "~" (tilde) en algunas placas.

analogReference(tipo);

Esta función en Arduino se usa para configurar el voltaje de referencia que se emplea en las lecturas analógicas con analogRead(). Esto permite mejorar la precisión de sensores ajustando el rango de voltaje medido.
  • DEFAULT - Usa el voltaje por defecto de la placa (5V o 3.3V).
  • INTERNAL - Usa una referencia interna (varía según el modelo de Arduino).
  • EXTERNAL - Permite conectar un voltaje externo como referencia en el pin AREF.
Ejemplo: analogReference(INTERNAL); // Usa la referencia interna de la placa

NOTA: Debe llamarse antes de realizar lecturas con analogRead().

millis();

Esta función en Arduino devuelve el tiempo en milisegundos desde que la placa fue encendida o reiniciada. Es útil para medir intervalos de tiempo sin bloquear el programa, a diferencia de delay(), ya que permite seguir ejecutando otras tareas mientras se espera. Ejemplo: unsigned long tiempo = millis(); // Guarda el tiempo actual en milisegundos

constrain(valor, min, max);

Esta función en Arduino limita un valor dentro de un rango específico. Si el valor está por debajo del mínimo, devuelve el mínimo; si está por encima del máximo, devuelve el máximo; y si está dentro del rango, devuelve el valor tal cual. Ejemplo: int ajustado = constrain(15, 10, 20); // Devuelve 15, ya que está dentro del rango 10-20 Es útil para asegurarse de que un valor no exceda los límites deseados, como al controlar la velocidad de un motor o el brillo de un LED.

delay(ms);

Esta función en Arduino detiene la ejecución del programa durante un tiempo específico, expresado en milisegundos (ms). Se usa para crear pausas entre acciones, como parpadeo de LEDs o control de motores. Ejemplo: digitalWrite(9, HIGH); // Enciende el LED en el pin 9 delay(1000); // Espera 1 segundo (1000 ms) digitalWrite(9, LOW); // Apaga el LED

min(a, b);

Esta función en Arduino devuelve el valor menor entre dos números, a y b. Es útil para comparar valores y obtener el mínimo de dos opciones. Ejemplo: int menor = min(10, 20); // Devuelve 10, ya que es el menor entre 10 y 20 Se utiliza cuando se necesita asegurarse de que un valor no supere un límite inferior o cuando se desea seleccionar la opción más pequeña de dos.

max(a, b);

Esta función en Arduino devuelve el valor mayor entre dos números, a y b. Es útil para comparar valores y obtener el máximo de dos opciones. Ejemplo: int mayor = max(10, 20); // Devuelve 20, ya que es el mayor entre 10 y 20 Puede usarse en situaciones donde se necesita tomar la mayor de dos opciones o para asegurarse de que un valor no baje de un cierto límite.

micros();

Esta función en Arduino devuelve el tiempo transcurrido en microsegundos desde que la placa se encendió o se reinició. Es más precisa que millis();, pero su valor se reinicia cada 70 minutos aproximadamente debido a la limitación en la resolución de almacenamiento. Se usa para mediciones de tiempo más finas o cuando se requieren intervalos muy cortos. Ejemplo: unsigned long tiempo = micros(); // Guarda el tiempo actual en microsegundos

sq(valor);

Esta función en Arduino calcula el cuadrado de un número, es decir, multiplica el valor por sí mismo. Ejemplo: int resultado = sq(4); // Devuelve 16, ya que 4 elevado a la 2 es igual a 16 Es útil cuando se necesitan operaciones rápidas para elevar al cuadrado un valor sin tener que usar la función pow()

pow(base, exponente);

Esta función en Arduino calcula el valor de un número elevado a la potencia de otro. Devuelve el resultado de elevar la base al exponente especificado. Ejemplo: float resultado = pow(2, 3); // Devuelve 8, ya que 2 elevado a la 3 es igual a 8 Es útil para realizar operaciones matemáticas como potencias o cálculos relacionados con exponenciales.

print();

Esta función en Arduino se usa para enviar datos a la comunicación serie, permitiendo mostrar información en el monitor serie sin saltos de línea. Es útil para depuración y visualización de datos. Ejemplo: Serial.print("Temperatura: "); Serial.print(25.5); // Imprimira Temperatura: 25.5 en la misma linea.

println();

Esta función en Arduino imprime un mensaje en el monitor serie y agrega un salto de línea al final. Se usa para mostrar datos de manera organizada y facilitar la lectura. Ejemplo: Serial.println("Temperatura actual: 25°C"); Serial.println("Humedad: 60%"); // Esto no se imprimirá en la misma linea. // primero imprime Temperatura actual: 25°C // y después imprime Humedad: 60% en la siguiente linea.