Curso C para Arduino

Para consolidar estos conceptos, aquí algunos ejercicios simples:

  1. Ejercicio LED condicional: Enciende un LED si la temperatura (variable simulada) supera los 25 grados.

  2. Ejercicio bucle y serial: Imprime en el monitor serie los números del 1 al 20 utilizando un bucle for.

  3. Ejercicio uso del switch: Realiza una acción diferente según un número leído desde el puerto serie.

Soluciones:

Aquí tienes la solución para cada uno de los tres ejercicios en Arduino, usando C:


✅ 1. Ejercicio LED condicional

Enciende un LED si la temperatura (variable simulada) supera los 25 grados.

1const int pinLED = 13;
2float temperatura = 27.3; // valor simulado, puedes cambiarlo para probar
3
4void setup() {
5  pinMode(pinLED, OUTPUT);
6}
7
8void loop() {
9  if (temperatura > 25.0) {
10    digitalWrite(pinLED, HIGH);
11  } else {
12    digitalWrite(pinLED, LOW);
13  }
14}

Nota: Si quieres que la temperatura se simule con un valor variable, puedes modificar temperatura dentro del loop().


✅ 2. Ejercicio bucle y serial

Imprime en el monitor serie los números del 1 al 20 utilizando un bucle for.

1void setup() {
2  Serial.begin(9600); // Inicializar comunicación serial
3}
4
5void loop() {
6  for (int i = 1; i <= 20; i++) {
7    Serial.println(i);
8    delay(200); // pequeña pausa para ver la salida en el monitor
9  }
10
11  while (true) {
12    // Evita que el loop vuelva a imprimir continuamente
13  }
14}

✅ 3. Ejercicio uso del switch

Realiza una acción diferente según un número leído desde el puerto serie.

1void setup() {
2  Serial.begin(9600);
3  Serial.println("Introduce un número del 1 al 3:");
4}
5
6void loop() {
7  if (Serial.available() > 0) {
8    int valor = Serial.parseInt(); // Lee un número enviado
9
10    switch (valor) {
11      case 1:
12        Serial.println("Elegiste uno");
13        break;
14      case 2:
15        Serial.println("Elegiste dos");
16        break;
17      case 3:
18        Serial.println("Elegiste tres");
19        break;
20      default:
21        Serial.println("Número no reconocido");
22        break;
23    }
24
25    Serial.println("Introduce otro número del 1 al 3:");
26  }
27}