0% encontró este documento útil (0 votos)
45 vistas39 páginas

Arduino

El documento describe una serie de programas en Arduino que ilustran diversos conceptos de programación, incluyendo el uso de bucles, condiciones, matrices, y operadores aritméticos. Cada sección presenta un propósito específico, como contar, calcular, imprimir valores en el monitor serie y realizar operaciones matemáticas. Se enfatiza la repetición de procesos y la visualización de resultados en un entorno de programación Arduino.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas39 páginas

Arduino

El documento describe una serie de programas en Arduino que ilustran diversos conceptos de programación, incluyendo el uso de bucles, condiciones, matrices, y operadores aritméticos. Cada sección presenta un propósito específico, como contar, calcular, imprimir valores en el monitor serie y realizar operaciones matemáticas. Se enfatiza la repetición de procesos y la visualización de resultados en un entorno de programación Arduino.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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

También podría gustarte