Nota

¡Hola, bienvenido a la Comunidad de Aficionados a Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas.

¿Por qué unirse?

  • Soporte de expertos: Resuelve problemas posventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.

  • Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Vistas previas exclusivas: Obtén acceso anticipado a anuncios de nuevos productos y avances.

  • Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.

  • Promociones festivas y sorteos: Participa en sorteos y promociones de fiestas.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy!

Estructura del Programa Arduino

Echemos un vistazo al nuevo archivo de sketch. Aunque tiene unas pocas líneas de código, en realidad es un sketch «vacío». Subir este sketch a la placa de desarrollo no causará ningún efecto.

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

Si eliminamos setup() y loop() y hacemos que el sketch sea realmente un archivo blank, verás que no pasa la verificación. Son el equivalente al esqueleto humano, e indispensables.

Durante el sketching, setup() se ejecuta primero, y el código dentro de él (dentro de {}) se ejecuta después de que la placa se encienda o se reinicie y solo una vez. loop() se utiliza para escribir la característica principal, y el código dentro de él se ejecutará en un bucle después de que se ejecute setup().

Para entender mejor setup() y loop(), usemos cuatro sketches. Su propósito es hacer parpadear el LED integrado de Arduino. Por favor, ejecuta cada experimento por turnos y registra sus efectos específicos.

  • Sketch 1: Hacer parpadear continuamente el LED integrado.

void setup() {
    // put your setup code here, to run once:
    pinMode(13,OUTPUT);
}

void loop() {
    // put your main code here, to run repeatedly:
    digitalWrite(13,HIGH);
    delay(500);
    digitalWrite(13,LOW);
    delay(500);
}
  • Sketch 2: Hacer parpadear el LED integrado solo una vez.

void setup() {
    // put your setup code here, to run once:
    pinMode(13,OUTPUT);
    digitalWrite(13,HIGH);
    delay(500);
    digitalWrite(13,LOW);
    delay(500);
}

void loop() {
    // put your main code here, to run repeatedly:
}
  • Sketch 3: Hacer parpadear lentamente el LED integrado una vez y luego parpadear rápidamente.

void setup() {
    // put your setup code here, to run once:
    pinMode(13,OUTPUT);
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
    delay(1000);
}

void loop() {
    // put your main code here, to run repeatedly:
    digitalWrite(13,HIGH);
    delay(200);
    digitalWrite(13,LOW);
    delay(200);
}
  • Sketch 4: Reportar un error.

void setup() {
    // put your setup code here, to run once:
    pinMode(13,OUTPUT);
}

digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);

void loop() {
    // put your main code here, to run repeatedly:
}

Con la ayuda de estos sketches, podemos resumir varias características de setup-loop.

  • loop() se ejecutará repetidamente después de que la placa se encienda.

  • setup() se ejecutará solo una vez después de que la placa se encienda.

  • Después de que la placa se encienda, setup() se ejecutará primero, seguido de loop().

  • El código necesita ser escrito dentro del alcance de {} de setup() o loop(), fuera del marco será un error.

Nota

Instrucciones como digitalWrite(13,HIGH) se utilizan para controlar el LED integrado, y hablaremos en detalle sobre su uso en capítulos posteriores.