FORMATO EN EXCEL DEL PROYECTO FINAL - BITACORAS DE AGOSTO - LOGO DEL PROYECTO - YEREMI GOMEZ, GABRIELA PAVAS, NICOLAS OVALLE, LUIS ALEJANDRO ROMERO Y DANNA GONZALES
Proyecto final, día 1.
El día 29 de Julio de 2025, se organizaron los grupos, lo que dio resultado al nuestro. Buscamos el proyecto que escogeríamos para fin de año.
Entre nuestras opciones estaban:
Un elevador.
Una Máquina Expendedora.
Una máquina de garra.
Al final se decidió por hacer un elevador, esto debido a que es más barato, más sencillo y podemos agregarle más cosas funcionales.
Proyecto final, día 2.
El día 5 de Agosto de 2025, unimos a Nicolàs Ovalle a nuestro grupo. Aùn no estabamos seguros de como proseguir con nuestro proyecto, asi que buscamos màs posibilidades
Proyecto final, día 3.
El día 12 de Agosto de 2025, ese dìa no fue realmente ocupado, simplemente seguimos buscando lo que eventualmente serìa nuestro proyecto. En esta fase del proyecto ya sabìamos que no elegiríamos el ascensor. Sin embargo, teníamos en mente elegir ya fuera un rociador, o un carrito.
Bitácora
- Nicolas Ovalle Largo
- Luis Alejandro Romero
- Danna Gonzales Gómez
- Gabriela Pavas.
- Yeremi Gómez.
DIA 19 DE AGOSTO DEL VIENTICINCO:
Empezamos con la lluvia de ideas para el proyecto final del área de sistemas. Tuvimos en cuenta las ODS y tuvimos varias ideas, Una de ellas fue la idea de un elevador, pero pensamos en las ODS y cambiamos el proyecto a un robot bombero.
Bitácora
- Nicolas Ovalle Largo
- Luis Alejandro Romero
- Danna Gonzales Gómez
- Gabriela Pavas
- Yeremi Gómez.
#define enA 10 // Enable1 L298 Pin enA
#define in1 9 // Motor1 L298 Pin in1
#define in2 8 // Motor1 L298 Pin in2
#define in3 7 // Motor2 L298 Pin in3
#define in4 6 // Motor2 L298 Pin in4
#define enB 5 // Enable2 L298 Pin enB
#define ir_R A0
#define ir_F A1
#define ir_L A2
#define servo A4
#define pump A5
int Speed = 160; // Velocidad motores (0-255)
int s1, s2, s3;
const int UMBRAL_FUEGO = 500; // <--- Ajusta este número según tus lecturas
const int REPETICIONES =5; // Cuántas veces seguidas debe detectar para actuar
int contadorS1 = 0, contadorS2 = 0, contadorS3 = 0;
void setup() {
Serial.begin(9600);
pinMode(ir_R, INPUT);
pinMode(ir_F, INPUT);
pinMode(ir_L, INPUT);
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(servo, OUTPUT);
pinMode(pump, OUTPUT);
// Centrado inicial del servo con menor rango (75°–105°)
for (int angle = 90; angle <= 105; angle += 5) servoPulse(servo, angle);
for (int angle = 105; angle >= 75; angle -= 5) servoPulse(servo, angle);
for (int angle = 75; angle <= 90; angle += 5) servoPulse(servo, angle);
analogWrite(enA, Speed);
analogWrite(enB, Speed);
delay(500);
}
void loop() {
// Leer sensores
s1 = analogRead(ir_R);
s2 = analogRead(ir_F);
s3 = analogRead(ir_L);
// Mostrar lecturas en el monitor serie
Serial.print(s1);
Serial.print("\t");
Serial.print(s2);
Serial.print("\t");
Serial.println(s3);
delay(50);
// ---- Filtro por software ----
contadorS1 = (s1 < UMBRAL_FUEGO) ? contadorS1 + 1 : 0;
contadorS2 = (s2 < UMBRAL_FUEGO) ? contadorS2 + 1 : 0;
contadorS3 = (s3 < UMBRAL_FUEGO) ? contadorS3 + 1 : 0;
// ---- Lógica principal ----
if (contadorS1 >= REPETICIONES) {
Stop();
digitalWrite(pump, 1);
for (int angle = 90; angle >= 75; angle -= 3) servoPulse(servo, angle);
for (int angle = 75; angle <= 90; angle += 3) servoPulse(servo, angle);
}
else if (contadorS2 >= REPETICIONES) {
Stop();
digitalWrite(pump, 1);
for (int angle = 90; angle <= 105; angle += 3) servoPulse(servo, angle);
for (int angle = 105; angle >= 75; angle -= 3) servoPulse(servo, angle);
for (int angle = 75; angle <= 90; angle += 3) servoPulse(servo, angle);
}
else if (contadorS3 >= REPETICIONES) {
Stop();
digitalWrite(pump, 1);
for (int angle = 90; angle <= 105; angle += 3) servoPulse(servo, angle);
for (int angle = 105; angle >= 90; angle -= 3) servoPulse(servo, angle);
}
else if (s1 >= UMBRAL_FUEGO && s1 <= 700) {
digitalWrite(pump, 0);
backword();
delay(100);
turnRight();
delay(200);
}
else if (s2 >= UMBRAL_FUEGO && s2 <= 800) {
digitalWrite(pump, 0);
forword();
}
else if (s3 >= UMBRAL_FUEGO && s3 <= 700) {
digitalWrite(pump, 0);
backword();
delay(100);
turnLeft();
delay(200);
}
else {
digitalWrite(pump, 0);
Stop();
}
delay(10);
}
// ------------------ FUNCIONES ------------------
void servoPulse(int pin, int angle) {
int pwm = (angle * 11) + 500;
digitalWrite(pin, HIGH);
delayMicroseconds(pwm);
digitalWrite(pin, LOW);
delay(50);
}
void forword(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void backword(){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void turnRight(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void turnLeft(){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void Stop(){
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
circuito
Bitácora
9/09/25
Bitácora
30/09/25
Bitácora
14/10/25
Feria de la ciencia 2025
VIERNES /24 /OCTUBRE
Bitacora final
Stand de presentacion
Dia de Exposición
El dia de la feria de la ciencia
primero al llegar al colegio nos preparamos para las exposiciones y presentaciones que teniamos en el salon de sistemas y el de español junto con artistica.
despues en la exposicion de el robot bombero en sistemas estuvimos hablando de su funcion,mision y vision y sus ODS, cosas para las cuales teniamos una presentacion lista para mostrar y explicar junto al codigo del proyecto que se explico dentro de la aplicación de arduino.
El dia de la feria nos ha ido excelente hasta recibiendo opiniones positivas sobre el proyecto y la exposicion,eso fue todo lo que sucedio en el dia y esta es la Bitacora final con el proyecto finalizado,nos despedimos.
-Maestros de la robotica.





Comentarios
Publicar un comentario