0% encontró este documento útil (0 votos)
247 vistas25 páginas

Lenguaje C - ARDUINO Y ESP32

El documento presenta ejemplos de código para Arduino y ESP32 que utilizan estructuras de control de flujo como condicionales if/else y bucles while y for. Los ejemplos comparan valores numéricos, imprimen resultados y muestran tablas de multiplicar utilizando estas estructuras.
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)
247 vistas25 páginas

Lenguaje C - ARDUINO Y ESP32

El documento presenta ejemplos de código para Arduino y ESP32 que utilizan estructuras de control de flujo como condicionales if/else y bucles while y for. Los ejemplos comparan valores numéricos, imprimen resultados y muestran tablas de multiplicar utilizando estas estructuras.
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

Punto 1

Arduino

// ¿ num1 es mayor a num2 ?

void setup() {

int num1 = 3;

int num2 = 2;

Serial.begin(9600);

Serial.print("num1 = ");

Serial.println(num1);

Serial.print("num2 = ");

Serial.println(num2);

Serial.print("num1 > num2 = ");

Serial.println(num1 > num2);

Serial.print("num1 < num2 = ");

Serial.println(num1 < num2);

Serial.println();

if (num1 > num2) {

Serial.println("Verdadero");

Serial.println("Siguientes líneas...");

void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

}
ESP32

// ¿ num1 es mayor a num2 ?

void setup() {

int num1 = 3;

int num2 = 2;

Serial.begin(115200);

Serial.print("num1 = ");

Serial.println(num1);

Serial.print("num2 = ");

Serial.println(num2);

Serial.print("num1 > num2 = ");

Serial.println(num1 > num2);

Serial.print("num1 < num2 = ");

Serial.println(num1 < num2);

Serial.println();

if (num1 > num2) {

Serial.println("Verdadero");

Serial.println("Siguientes líneas...");

void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

}
Punto 2

Arduino

void setup() {

int num1 = 3;

int num2 = 2;

Serial.begin(9600);

Serial.print("num1 = ");

Serial.println(num1);

Serial.print("num2 = ");

Serial.println(num2);

Serial.println();

if (num1 > num2) {

Serial.println("Salida 1"); // TRUE

if (num1 < num2) {

Serial.println("Salida 2"); // FALSE

if (0) {

Serial.println("Esto no se ejecuta."); // FALSE

if (-2) {

Serial.println("Esto si se ejecuta."); // TRUE

void loop() {
// El bucle principal de Arduino, puede permanecer vacío en este caso.

ESP32

void setup() {

int num1 = 3;

int num2 = 2;

Serial.begin(115200);

Serial.print("num1 = ");

Serial.println(num1);

Serial.print("num2 = ");

Serial.println(num2);

Serial.println();

if (num1 > num2) {

Serial.println("Salida 1"); // TRUE

if (num1 < num2) {

Serial.println("Salida 2"); // FALSE

if (0) {

Serial.println("Esto no se ejecuta."); // FALSE

if (-2) {

Serial.println("Esto si se ejecuta."); // TRUE

}
void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

Punto 3

Arduino

void setup() {

// Ejemplo 1

int numero = 10;

Serial.begin(9600);

if (numero > 0) {

Serial.println("El número es positivo.");

} else {

Serial.println("El número es negativo o cero.");

// Ejemplo 2

int edad = 30;

if (edad >= 18) {

Serial.println("La persona es mayor de edad.");

} else {

Serial.println("La persona es menor de edad.");

}
}

void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

ESP32

void setup() {

// Ejemplo 1

int numero = 10;

Serial.begin(115200);

if (numero > 0) {

Serial.println("El número es positivo.");

} else {

Serial.println("El número es negativo o cero.");

// Ejemplo 2

int edad = 30;

if (edad >= 18) {

Serial.println("La persona es mayor de edad.");

} else {

Serial.println("La persona es menor de edad.");

}
}

void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

Punto 4

Arduino

void setup() {

int x = 23;

Serial.begin(9600);

if (x > 0) {

Serial.print("El número ");

Serial.print(x);

Serial.println(" es positivo.");

} else {

Serial.print("El número ");

Serial.print(x);

Serial.println(" es negativo.");

void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

}
ESP32

void setup() {

int x = 23;

Serial.begin(115200);

if (x > 0) {

Serial.print("El número ");

Serial.print(x);

Serial.println(" es positivo.");

} else {

Serial.print("El número ");

Serial.print(x);

Serial.println(" es negativo.");

void loop() {

// El bucle principal de Arduino, puede permanecer vacío en este caso.

Punto 5

Arduino: https://wokwi.com/projects/380059074635704321

int numero = 3;
void setup() {
Serial.begin(9600);
}
void loop() {
if (numero > 0) {
Serial.println("El número es positivo.");
if (numero % 2 == 0)
Serial.println("El número es par.");
else
Serial.println("El número es impar.");
} else {
Serial.println("El número es negativo o cero.");
}

delay(1000);
}

ESP32: https://wokwi.com/projects/380059239169872897

int numero = 3;
void setup() {
Serial.begin(115200);
}
void loop() {
if (numero > 0) {
Serial.println("El número es positivo.");
if (numero % 2 == 0)
Serial.println("El número es par.");
else
Serial.println("El número es impar.");
} else {
Serial.println("El número es negativo o cero.");
}

delay(1000);
}

Punto 6

ARDUINO: https://wokwi.com/projects/380057596021808129

float num1=10;
float num2=5;
float resultado;
int opcion=1;

void setup() {
Serial.begin(9600);
}

void loop() {
switch (opcion) {
case 1:
Serial.println("Se sumarán los dos números.");
resultado = num1 + num2;
break;
case 2:
Serial.println("Se restarán los dos números.");
resultado = num1 - num2;
break;
case 3:
Serial.println("Se multiplicarán los dos números.");
resultado = num1 * num2;
break;
case 4:
Serial.println("Se dividirán los dos números.");
resultado = num1 / num2;
break;
default:
Serial.println("Opción inválida.");
break;
}

Serial.println("num1: ");
Serial.println(num1);
Serial.println("num2: ");
Serial.println(num2);
Serial.println("Resultado: ");
Serial.println(resultado);
delay(1000);
}

ESP32: https://wokwi.com/projects/380056879119806465

float num1=10;
float num2=6;
float resultado;
int opcion=1;

void setup() {
Serial.begin(115200);
}

void loop() {
delay(1000);
switch (opcion) {
case 1:
Serial.println("Se sumarán los dos números.");
resultado = num1 + num2;
break;
case 2:
Serial.println("Se restarán los dos números.");
resultado = num1 - num2;
break;
case 3:
Serial.println("Se multiplicarán los dos números.");
resultado = num1 * num2;
break;
case 4:
Serial.println("Se dividirán los dos números.");
resultado = num1 / num2;
break;
default:
Serial.println("Opción inválida.");
break;
}

Serial.println("num1: ");
Serial.println(num1);
Serial.println("num2: ");
Serial.println(num2);
Serial.println("Resultado: ");
Serial.println(resultado);
}

Punto 8

Arduino: https://wokwi.com/projects/380058742722583553

void setup() {
Serial.begin(9600);
}
void loop() {
for (int i = 10; i >= 1; i--) {
Serial.println(i);
Serial.println(" ");
}
}
ESP32: https://wokwi.com/projects/380058497531938817

void setup() {
Serial.begin(115200);
}

void loop() {
while (!Serial) {
}

for (int i = 10; i >= 1; i--) {


Serial.println(i);
Serial.println(" ");
}
}

Punto 9

Arduino

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600);

void loop() {

int num = 9;

int contador = 1;

Serial.println("La tabla de multiplicar del 9 es:");

while (contador <= 20) {

int resultado = num * contador;

Serial.print(num);

Serial.print(" x ");

Serial.print(contador);

Serial.print(" = ");
Serial.println(resultado);

contador = contador + 1;

// Espera un momento antes de reiniciar el bucle.

delay(1000); // Espera 1 segundo

ESP32

#include <Arduino.h>

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600);

void loop() {

int num = 9;

int contador = 1;

Serial.println("La tabla de multiplicar del 9 es:");

while (contador <= 20) {

int resultado = num * contador;

Serial.print(num);

Serial.print(" x ");

Serial.print(contador);

Serial.print(" = ");

Serial.println(resultado);
contador = contador + 1;

// Espera un momento antes de reiniciar el bucle.

delay(1000); // Espera 1 segundo

Punto 10

Arduino

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600);

void loop() {

int ejecutar = 1;

while (ejecutar) {

Serial.println("Ciclo infinito.");

Serial.println("Para terminar el ciclo, presione ctrl + c.");

// Siempre se mantendrá en el ciclo infinito.

ESP32

#include <Arduino.h>

void setup() {

// Inicialización, no se requiere configuración en este caso.


Serial.begin(9600);

void loop() {

int ejecutar = 1;

while (ejecutar) {

Serial.println("Ciclo infinito.");

Serial.println("Para terminar el ciclo, presione ctrl + c.");

// Siempre se mantendrá en el ciclo infinito.

delay(1000); // Agregar una pausa de 1 segundo para evitar que el bucle se ejecute demasiado
rápido

Punto 11

Arduino

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600);

void loop() {

int num1 = 10, num2 = 20;

do {

Serial.println("Hola");

} while (num1 > num2);


Serial.println("¡Hasta pronto!");

ESP32

#include <Arduino.h>

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600);

void loop() {

int num1 = 10, num2 = 20;

do {

Serial.println("Hola");

} while (num1 > num2);

Serial.println("¡Hasta pronto!");

Punto 12

Arduino

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600); }

void funcion1() {

Serial.println("Hola desde la función 1");

}
int funcion2() {

Serial.println("Hola desde la función 2");

return 0;

void loop() {

funcion1(); // Ejecuta la función1

int resultado = funcion2(); // Ejecuta la función2 y almacena el valor de retorno en 'resultado'

// Puedes realizar más acciones en el bucle loop si es necesario.

ESP32

#include <Arduino.h>

void funcion1() {

Serial.println("Hola desde la función 1");

int funcion2() {

Serial.println("Hola desde la función 2");

return 0;

void setup() {

// Inicialización, no se requiere configuración en este caso.

Serial.begin(9600);

}
void loop() {

funcion1(); // Ejecuta la función1

int resultado = funcion2(); // Ejecuta la función2 y almacena el valor de retorno en 'resultado'

// Puedes realizar más acciones en el bucle loop si es necesario.

Punto 13

Arduino

```cpp

#include <Arduino.h>

void imprimir_suma(int num1, int num2) {

int resultado = num1 + num2;

Serial.begin(115200);

Serial.print("La suma de ");

Serial.print(num1);

Serial.print(" y ");

Serial.print(num2);

Serial.print(" es ");

Serial.println(resultado);

void setup() {

imprimir_suma(7, 7);

}
void loop() {

// Tu código loop aquí

ESP32

```cpp

#include <Arduino.h>

Void imprimir_suma(int num1, int num2) {

Int resultado = num1 + num2;

Serial.begin(115200);

Serial.print(“La suma de “);

Serial.print(num1);

Serial.print(“ y “);

Serial.print(num2);

Serial.print(“ es “);

Serial.println(resultado);

Void setup() {

Imprimir_suma(7, 7);

Void loop() {

// Tu código loop aquí

Punto 14

Arduino

```cpp
#include <Arduino.h>

// Función que recibe dos enteros y devuelve su suma

Int suma(int num1, int num2) {

Return num1 + num2;

Void setup() {

Int num1 = 3;

Int num2 = 4;

// Se llama la función suma y el resultado se guarda en ‘resultado’

Int resultado = suma(num1, num2);

// Inicializa la comunicación serie para imprimir el resultado en el monitor serie

Serial.begin(115200);

// Se imprime el resultado de la suma en el monitor serie

Serial.print(“La suma de “);

Serial.print(num1);

Serial.print(“ y “);

Serial.print(num2);

Serial.print(“ es “);

Serial.println(resultado);

Void loop() {

// Tu código loop aquí

}
```

ESP32

#include <Arduino.h>

// Función que recibe dos enteros y devuelve su suma

Int suma(int num1, int num2) {

Return num1 + num2;

Void setup() {

Int num1 = 3;

Int num2 = 4;

// Se llama la función suma y el resultado se guarda en ‘resultado’

Int resultado = suma(num1, num2);

// Inicializa la comunicación serie para imprimir el resultado en el monitor serie

Serial.begin(115200);

// Se imprime el resultado de la suma en el monitor serie

Serial.print(“La suma de “);

Serial.print(num1);

Serial.print(“ y “);

Serial.print(num2);

Serial.print(“ es “);

Serial.println(resultado);

}
Void loop() {

// Tu código loop aquí

Punto 15

Arduino

#include <Arduino.h>

Int calcularRaizCuadrada(int num) {

Return sqrt(num); // La función sqrt no funciona con int, este es un ejemplo simplificado

Void setup() {

Int num = 26;

Int resultado = calcularRaizCuadrada(num);

Serial.begin(115200);

Serial.print(“La raiz cuadrada de “);

Serial.print(num);

Serial.print(“ es “);

Serial.println(resultado);

Void loop() {

// Tu código loop aquí

ESP32

#include <Arduino.h>

#include <math.h>
Double calcularRaizCuadrada(double num) {

Return sqrt(num);

Void setup() {

Double num = 26.0;

Double resultado = calcularRaizCuadrada(num);

Serial.begin(115200);

Serial.print(“La raíz cuadrada de “);

Serial.print(num);

Serial.print(“ es “);

Serial.println(resultado);

Void loop() {

// Tu código loop aquí

Punto 16

Arduino

#include <Arduino.h>

Double raiz_newton_rapson(double numero) {

Double raiz, aproximacion;

Raiz = numero / 2.0;

Do {
Aproximacion = raiz;

Raiz = 0.5 * (aproximacion + (numero / aproximacion));

} while (abs(raiz – aproximacion) >= 0.0001); // Condición de parada ajustada

Return raiz;

Void setup() {

Double numero = 2.0;

Double raiz = raiz_newton_rapson(numero);

Serial.begin(115200);

Serial.print(“La raíz cuadrada de “);

Serial.print(numero);

Serial.print(“ es “);

Serial.println(raiz);

Void loop() {

// Tu código loop aquí

ESP32

#include <Arduino.h>

Double raiz_newton_rapson(double numero) {

Double raiz, aproximacion;

Raiz = numero / 2.0;


Do {

Aproximacion = raiz;

Raiz = 0.5 * (aproximacion + (numero / aproximacion));

} while (abs(raiz – aproximacion) >= 0.0001); // Condición de parada ajustada

Return raiz;

Void setup() {

Double numero = 2.0;

Double raiz = raiz_newton_rapson(numero);

Serial.begin(115200);

Serial.print(“La raíz cuadrada de “);

Serial.print(numero);

Serial.print(“ es “);

Serial.println(raiz);

Void loop() {

// Tu código loop aquí

También podría gustarte