domingo, 15 de marzo de 2026

TEAMS FORMATIVE ACTIVITIES

 

G1: Conteo Final (10 a 0), Mission: Countdown from 10 to 0 and print "LIFTOFF!".

C++

void setup() {

  Serial.begin(115200);

  for (_______________________) {

    Serial.println(i);

    delay(500);

  }

  Serial.println("¡DESPEGUE!");

}

void loop() {}

_________________________________________________________________________________

G2: Chequeo de Presión (0 a 100), Mission: Count from 0 to 100 in steps of 10.

C++

void setup() {

  Serial.begin(115200);

  for (________________________) {

    Serial.print("Presion: ");

    Serial.println(i);

    delay(300);

  }

}

void loop() {}

________________________________________________________________________________

G3: Velocidad Turbo (0 a 1000), Mission: Count from 0 to 1000 very fast.

C++

void setup() {

  Serial.begin(115200);

  for (____________________     ){

    Serial.println(i);

    delay(10);

  }

}

void loop() {}

________________________________________________________________________________

G4: Re-entrada Lenta (5 a 0), Mission: Count from 5 to 0 very slowly (2 seconds per number).

C++

void setup() {

  Serial.begin(115200);

  for (_________________________) {

    Serial.println(i);

    delay(2000);

  }

}

void loop() {}

______________________________________________________________________________

G5: Propulsores Pares (0 a 20), Mission: Count from 0 to 20 showing only even numbers (0, 2, 4...).

C++

void setup() {

  Serial.begin(115200);

  for (_________________________) {

    Serial.println(i);

    delay(500);

  }

}

void loop() {}


 

jueves, 12 de marzo de 2026

CODE 7 GRADE

#include <ESP32Servo.h>       // 1. Librería para controlar el motor
Servo miServo;                // 2. Crea el objeto 'miServo'
const int trigPin = 5;        // 3. Pin del emisor de sonido
const int echoPin = 18;       // 4. Pin del receptor de sonido
const int servoPin = 19;      // 5. Pin de señal del motor

void setup() {
  miServo.attach(servoPin);   // 6. Conecta el software al pin 19
  pinMode(trigPin, OUTPUT);   // 7. Trig es salida
  pinMode(echoPin, INPUT);    // 8. Echo es entrada
  Serial.begin(115200);       // 9. Inicia comunicación serial
}

void loop() {
  // --- RETO 1: Completa el FOR ---
  // Pista: Empieza en 0, llega hasta 180, avanza uno por uno.
  for (int pos = 0; __________________; __________________) {
    miServo.write(pos);       // Mueve el motor
    delay(15);                // Ritmo del motor
    if (obtenerDistancia() < 30) { resetServo(); return; }
  }

  // --- Bucle FOR (Completado para referencia) ---
  for (int pos = 180; pos >= 90; pos--) {
    miServo.write(pos);
    delay(15);
    if (obtenerDistancia() < 30) { resetServo(); return; }
  }
  
  // --- RETO 2: Completa el WHILE ---
  // Pista: Mientras la distancia detectada sea menor a 30...
  while (__________________________) {
     Serial.println("Peligro: Objeto detectado. Esperando...");
     delay(500);              // Espera antes de volver a revisar
  }
  
  // Movimiento final de reseteo
  miServo.write(0);
}

// Función del sensor
int obtenerDistancia() {
  digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW);
  return pulseIn(echoPin, HIGH) * 0.034 / 2;
}

// Función de emergencia
void resetServo() {
  miServo.write(0);
  Serial.println("¡Alerta! Regresando a 0 grados.");
}

CLUE CODE

 

1. El Constructor del Bucle FOR (La Máquina de Repetir)

Diles que un for es como una máquina que tiene un contador y sabe exactamente cuántas veces repetir algo.

La Regla de los 3 Pasos:

  1. Inicio: ¿Dónde empezamos a contar? (Ej: int i = 0)

  2. Meta: ¿Cuándo nos detenemos? (Ej: i <= 180)

  3. Paso: ¿Cómo avanzamos? (Ej: i++)

EstructuraCódigo
Cabecerafor (inicio; meta; paso) {
AcciónmiServo.write(i); delay(15);
Cierre}

Pista para el estudiante: El for es como un tren que tiene un ticket con su parada final escrita.


2. El Constructor del Bucle WHILE (El Guardia de Seguridad)

Diles que el while es "el guardián". Él no cuenta números; él solo mira una condición y se queda vigilando mientras esa condición sea real.

La Regla de los 2 Pasos:

  1. Pregunta: ¿Es verdad lo que vigilo? (Ej: distancia < 30)

  2. Acción: ¿Qué hago si la respuesta es SÍ? (Ej: Esperar)

EstructuraCódigo
Condiciónwhile (distancia < 30) {
AcciónSerial.println("Esperando...");
Cierre}

Pista para el estudiante: El while no sabe cuándo parar, solo sabe que mientras la puerta esté cerrada (condición), él no puede pasar.


3. Hoja de construcción rápida (Para completar)

Entrega esto a tus alumnos para que unan las piezas:

¡Construye tu código!

A) El FOR del Servo:

for (int pos = 0; _________; _________) {

miServo.write(pos);

delay(15);

}

B) El WHILE de Seguridad:

while (__________________________) {

Serial.println("Peligro...");

delay(500);

}

FORMATIVE ACTIVITY 6 WHILE LOOP

CODE

#include <DHT.h> // Sintaxis estándar para librerías instaladas en el sistema
// Definición de pines y tipo de sensor
#define DHTPIN 4    
#define DHTTYPE DHT22
#define BUZZER 18    

// Inicialización del sensor
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
  pinMode(BUZZER, OUTPUT);
  Serial.println("Detective de Bucles: Sistema Activo");
}

void loop() {
  // 1. Lectura de los valores
  float t = dht.readTemperature();
  float h = dht.readHumidity();

  // Verificación de error en lectura
  if (isnan(t) || isnan(h)) {
    Serial.println("Error al leer el sensor DHT!");
    delay(1000);
    return;
  }

  // 2. EL BUCLE WHILE
  // Se activa si temperatura > 30 O humedad < 30
  while (t > 30 || h < 30) {
   
    // EL CUERPO: La alarma suena
    Serial.println("¡ALERTA! Condición crítica.");
    tone(BUZZER, 1000);
    delay(500);
    noTone(BUZZER);
    delay(500);

    // EL CAMBIO: Indispensable para salir del bucle
    t = dht.readTemperature();
    h = dht.readHumidity();
  }
 
  delay(1000);

} 

CONNECTION  TABLE

ComponentePin en ComponentePin en ESP32
DHT22VCC3.3V
DHT22SDA4
DHT22GNDGND
Buzzer(+) Pin18
Buzzer(-) PinGND