INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
SEGUNDO Y TERCER CORTE
ARDUINO
1.- El programa demuestra el uso de un bucle for y la sentencia goto para saltar a
una parte específica del código cuando se cumple una condición. En este caso, se
salta al bloque de código que calcula jy muestra un mensaje. También ilustra
cómo se pueden hacer cálculos y esperar un tiempo antes de repetir el bucle.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
2.- Inicializa la comunicación serial a 9600 baudios.
1. En un bucle infinito:
o Incrementa el valor de i en 1.
o Si i llega a 12, lo reinicia a 0 y envía el mensaje "Se repite la
secuencia".
o Siempre imprime el valor de i en la serie del monitor.
2. Introduzca un retraso de 100 ms entre cada iteración.
Propósito : Contar de 1 a 12 repetidamente mientras muestra los valores en el
monitor serie.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
3.- Propósito : Demostrar el uso de constantes en un programa y cómo se
pueden imprimir en el monitor serie.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
4.- Inicializa la comunicación serial a 9600 baudios.
1. Defina un período de muestreo h de 0,1 segundos y un vector de tiempo t.
2. En la rutina loop(), imprime en la serie del monitor:
o Los valores de la función seno ( sin(t)) para t desde 0 hasta 5
segundos.
o Utiliza un bucle do-while para aumentar t en 0,1 segundos en cada
iteración.
o Introduzca un retraso de 1 ms en cada iteración para facilitar la
visualización de los resultados.
Propósito : Mostrar los valores de la función seno en un intervalo de tiempo de 5
segundos, con un período de muestreo de 0,1 segundos.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
5.- Propósito : Calcular e imprimir los valores de tiempo acumulados en un
intervalo de 10,1 segundos y repetir el proceso continuamente.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
6.- Inicializa la comunicación serial a 9600 baudios.
1. En la rutina loop(), ejecuta un bucle for que itera de i = 0a 99:
o Imprima el valor de i en la serie del monitor con un retraso de 0,1
segundos entre cada iteración.
o Si i está en el rango de 80 a 90, imprime un mensaje indicando que i
está en ese rango y lo muestra en el monitor.
o Introduzca un retraso de 0,3 segundos para permitir la visualización
del mensaje.
o Incrementa la variable j cada vez que se detecta un valor de i en el
rango especificado.
o Si j llega a 5 (es decir, se han detectado 5 valores en el rango),
imprime un mensaje de aviso, espera 5 segundos y sale del bucle for
usando la instrucción break.
2. Después de salir del bucle for, imprime un mensaje indicando que se ha
salido del ciclo y espera 5 segundos antes de repetir el proceso.
Propósito : Contar e imprimir los valores de i y detectar cuántas veces i está en el
rango de 80 a 90, deteniendo el bucle cuando se encuentren 5 incidencias y
repitiendo el proceso.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
7.- Propósito : Contar de 0 a 99, imprimir los valores, y al llegar a 88, saltar al
siguiente ciclo. Luego, calcula e imprime i + 200y repite el proceso.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
8.- Inicializa la comunicación serial a 9600 baudios.
1. Declara tres matrices de tamaño 3x3:
o Ay B con valores específicos iniciales.
o C para almacenar el resultado de la suma de Ay B.
2. Defina la función letrero()que imprime en el monitor serie los elementos de
una matriz con un formato específico, mostrando un encabezado y los
valores de cada fila.
3. En la rutina loop(), realiza la suma de las matrices Ay B almacena el
resultado en C.
4. Imprime en el monitor serie:
o Los elementos de la matriz A.
o Los elementos de la matriz B.
o El resultado de la matriz C (la suma de Ay B).
5. Introduzca un retraso de 5 segundos antes de repetir la ejecución de loop().
Propósito : Sumar dos matrices 3x3 y mostrar los resultados de las matrices A, B
y la suma C en el monitor serie.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
9.- Inicializa la comunicación serial a 9600 baudios.
1. Defina una variable global h(intervalo de tiempo de 0,1 segundos) y una
matriz tiempo de 101 elementos para almacenar los valores de tiempo.
2. En la rutina loop(), ejecuta un bucle for de k = 0a 100:
o Calcula el valor de tiempo[k]como la suma del valor anterior más h,
comenzando en 0 para k = 0.
o Imprime el valor de k y el tiempo correspondiente tiempo[k]en el
monitor serie con un formato de 4 decimales.
o Introduzca un retraso de 0,1 segundos entre cada iteración para
visualizar los resultados.
3. Después de completar el bucle, imprime un mensaje indicando que el ciclo
se repetirá en 3 segundos y espera ese tiempo antes de reiniciar loop().
Propósito : Calcular e imprimir los valores de tiempo para cada iteración en un
intervalo de 0,1 segundos, y repetir el proceso indefinidamente
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
10.- Propósito : Imprimir los valores de ihasta 99, saltar a una sección especial
cuando isea 88, calcular e imprimir j, y repetir el proceso indefinidamente.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
11.- Configure la comunicación serial a 9600 baudios en la rutina setup().
1. En la rutina loop(), imprime el mensaje "Hola mundo". en el monitor serial.
2. Introduzca un retraso de 3 segundos ( delay(3000)) antes de repetir la
ejecución de la rutina loop().
Propósito : Enviar el mensaje "Hola mundo." al monitor serial y repetirlo cada 3
segundos.
12.- Inicializa la variable ien 0.
1. Configure la comunicación serial a 9600 baudios en la rutina setup().
2. En la rutina loop(), incrementa el valor de ien cada iteración.
3. Si i llega a 12, se reinicia a 0.
4. Imprime el valor de i en el monitor serial.
5. Introduzca un retraso de 100 milisegundos ( delay(100)) antes de repetir.
Propósito : Contar de 0 a 11 y luego reiniciar el contador, imprimiendo el valor en
el monitor serial cada 0.1 segundos.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
13.-Propósito : Contar y clasificar los números del 0 al 99 como pares o impares,
imprimir la cantidad de números de cada tipo y reiniciar el proceso.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
14.- Propósito : Clasificar y contar los números del 0 al 99 como pares o impares,
imprimir la cantidad de números de cada tipo y reiniciar el proceso.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
15.- Propósito:
El programa compara el valor exacto de la integral.1−porque ( π )con la
aproximación numérica obtenida mediante la suma de Riemann depecado ( x )en
el intervalo [0, π].
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
16.- configuración inicial :
o La función setup()inicializa la comunicación serial a 9600 baudios.
2. Rutina principal ( loop()) :
o Se define x como el valor 3.1416 (aunque no se usa en el resto del
código).
o Se definen i, i2 como números enteros, donde i es -127 (el valor
mínimo de un int con signo) y i2es 127 (el valor máximo de un int con
signo).
o Se imprime el valor de i en formato binario utilizando Serial.println(i,
BIN).
o Se imprimen también los valores -127 y 127 en formato binario para
mostrar cómo se representan estos números en binario.
o Se espera 3 segundos ( delay(3000)) antes de repetir el proceso.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Propósito:
El programa sirve para ilustrar cómo se representan números enteros con y sin
signo en formato binario, y permite visualizar su representación en el monitor serial
de Arduino.
17.- Propósito:
El programa permite calcular y visualizar la norma euclidiana de un vector de 3
dimensiones en un entorno Arduino, útil para aplicaciones de procesamiento de
datos y cálculos vectoriales.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
18.- Incremento ( x++y ++x) :
o Muestra cómo funcionan los operadores de incremento postfijo ( x++)
y prefijo ( ++x), y cómo afecta el valor de la variable x y la asignación
a y.
o Imprime los resultados antes y después de la operación para cada
tipo de incremento.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
2. Decremento ( x--y --x) :
o Demuestra el uso de los operadores de decremento postfijo ( x--) y
prefijo ( --x), y su efecto en x y y.
o Imprime los resultados de la operación y el valor actualizado de x.
3. Operadores compuestos ( +=, -=, *=, /=) :
o Muestra cómo se pueden utilizar los operadores compuestos para
realizar operaciones aritméticas y asignaciones en una sola
instrucción.
o Se imprimen los resultados de las operaciones y += x, y -= x, y *= x,
y y /= x.
4. División entera y residuo :
o Realiza y muestra el resultado de la división entera i / j y el residuo i
% j usando las variables i y j.
5. Pausa :
o Después de mostrar los resultados, el programa se detiene por 10
segundos antes de repetir la rutina loop().
Propósito:
El programa está diseñado para enseñar y demostrar el uso de operadores
aritméticos y de incremento/decremento en un entorno Arduino. Es útil para
principiantes que desean entender cómo se comportan estos operadores en el
lenguaje de programación C/C++.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
19.- Propósito:
El programa tiene como objetivo enseñar y demostrar el uso de operadores
básicos e incrementales/decrementales en un entorno de programación Arduino.
Es útil para los principiantes que desean comprender cómo funcionan estos
operadores en el lenguaje de programación C/C++.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
20.- Propósito:
El código es una demostración educativa para principiantes en programación
con Arduino. Ilustra cómo se utilizan los operadores aritméticos y de
incremento/decremento en C/C++, y muestra ejemplos de cómo afectan las
variables.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
21.- Funcionalidad del programa:
La variable y se asigna un valor dependiendo de la condición x > 11:
o Si x es mayor que 11, y toma el valor de 250 .
o Si x no es mayor que 11, y toma el valor de 300 .
En este caso, dado que x es 15.0, que es mayor que 11, el valor de y será
250 .
Propósito:
El programa muestra cómo usar el operador ternario para asignar valores de
manera condicional y luego imprime el resultado en el monitor serial. También
incluye un retraso de 5 segundos antes de que se repita la ejecución de loop().
22.- Propósito:
El programa sirve para demostrar y practicar operaciones lógicas y de
manipulación de bits en Arduino, así como para mostrar cómo se realizan
desplazamientos de bits y operaciones de bit a bit.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
23.- Estructura switch : Comprueba el valor de i y ejecuta el bloque de código
correspondiente al case que coincide.
1. Casos :
o Si i es 0, imprime "caso 0".
o Si i es 1, imprime "caso 1".
o Si i es 2, imprime "caso 2".
o Si i es 3, imprime "caso 3".
2. default: Si i no coincide con ninguno de los case, imprime "default" y un
mensaje de espera. Luego, i se restablece a -1 y espera 3 segundos antes
de continuar.
3. Incremento y retardo : Incrementa i en 1 al final de cada iteración y espera
100 ms antes de la siguiente ejecución del loop.
Este programa genera un ciclo que imprime un mensaje específico según el valor
de i y se reinicia después de llegar al default.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
24.- El programa imprime mensajes secuenciales y usa una estructura switch
anidada para mostrar mensajes específicos cuando i es 3. Después de que i
superan los casos definidos, se reinicia y comienza de nuevo tras una pausa de 3
segundos.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
25.- Este programa de Arduino está diseñado para mostrar en el monitor serial el valor de
varias variables de diferentes tipos de datos. Los tipos de variables incluyen:
booleano , char , unsigned char , byte , int , unsigned int , palabra ,
corto , unsigned short , largo , unsigned long , float , y double .
Cada tipo de variable se imprime junto con su valor actual, mostrando cómo
se representan y manejan los distintos tipos de datos en Arduino.
La función setup()configura la comunicación serial a 9600 baudios, y la función
loop()imprime los valores de las variables en la consola serial cada 3 segundos,
tras lo cual se repite el proceso. Este programa es útil para entender y verificar
cómo se almacenan y mostrar los distintos tipos de datos en Arduino.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
26.- Este programa de Arduino muestra en el monitor serial los valores de la función seno
( sin(t)) para un intervalo de tiempo de 0 a 5 segundos, con un período de muestreo de
0.1 segundos (décimas de segundo).
Variables globales: h define el período de muestreo (0,1 segundos), y t es
la variable de tiempo.
Función setup() : Configura la comunicación serial a 9600 baudios.
Función loop() : Utiliza un bucle while que ejecuta el cálculo y la impresión
del valor de sin(t)mientras t sea menor a 5 segundos. En cada iteración,
incremente ten 0.1segundos y se introduce un retardo de 1 milisegundo
para permitir la visualización de los resultados.
El programa es útil para observar cómo varía el valor de la función seno en un
intervalo de tiempo específico y con un período de muestreo determinado.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
27.- Propósito : Mostrar cómo se comporta la función seno en el intervalo de 0 a 5
segundos y destacar el comportamiento específico de sin(t)cuando t está entre 2.0
y 3.0 segundos.
El programa ilustra el uso de bucles anidados y cómo se pueden realizar cálculos
específicos en intervalos de tiempo definidos.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
28.- Propósito: El programa demuestra cómo usar while, condicionales, y la
sentencia break para salir de un bucle cuando se cumplen ciertas condiciones (en
este caso, cuando i está entre 80 y 90 y j llega a 5). Es útil para realizar un
seguimiento de eventos específicos dentro de un intervalo y controlar el flujo de un
programa basado en ciertas condiciones.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
29.- Este programa de Arduino utiliza un bucle do-while para contar de 0 a 99 y mostrar el
valor de la variable i. También implementa la sentencia continue para saltarse una
iteración específica y un cálculo adicional al finalizar.
Descripción:
Variables globales : i y j son variables enteras.
Función setup() : Configura la comunicación serial a 9600 baudios.
Función loop() :
o La variable i se inicializa en 0.
o Se utiliza un bucle do-while para imprimir el valor de i y aumentar su
valor en cada iteración.
o Si i es igual a 88, se imprime un mensaje y se ejecuta la sentencia
continue, la cual omite el resto de las instrucciones dentro del bucle
para esa iteración, incrementando i y esperando 3 segundos antes
de continuar con la siguiente iteración.
o Un retardo de 100 ms se aplica al final de cada iteración para
permitir la visualización de los valores.
o Al terminar el bucle (cuando i llega a 100), se calcula j = i + 200y se
imprime el resultado.
o Luego, se imprime un mensaje indicando que el ciclo se repetirá y se
espera 5 segundos antes de comenzar nuevamente.
Propósito:
El programa sirve para demostrar cómo usar un bucle do-while junto con la
sentencia continue para omitir iteraciones específicas y cómo manejar la ejecución
de un bucle que se repite indefinidamente. También muestra cómo realizar una
operación aritmética (suma) al finalizar el bucle y usar delay para controlar la
frecuencia de la impresión de valores en el monitor serial.
Canizales Ortega Manuel
1RV2
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Azcapotzalco
ESIME AZCAPOTZALCO
Canizales Ortega Manuel
1RV2