miércoles, 22 de julio de 2026

TALLER EN CLASE DECIMO

 

                                               CURSO 10B - INFORMATICA

PREGUNTAS MINI PROYECTO PYTHON


TALLER EN GRUPO DE 3 ESTUDIANTES, ENTREGAR EN UNA HOJA


RESPONDER LAS SIGUIENTES PREGUNTAS

1. ¿Qué es un decorador en Python (flask)? 

2. ¿Qué es fronted en Python?

3. ¿Qué es backend en Python?

4. ¿Para qué sirve la instruccion: redirect("/") en python (flask)?

5. ¿Qué hace: render_template("index.html") en python (flask)?

6. ¿Para que sirve la instrucción: app.run(host="0.0.0.0") en python (flask)?

7. ¿Cuál es la función del archivo app.py dentro del proyecto?

8. ¿Qué carpeta contiene las plantillas HTML utilizadas por Flask?

9. ¿Qué comando se utiliza para crear un entorno virtual en Python?

10. ¿Qué comando se utiliza para activar el entorno virtual en Windows?

 

martes, 14 de julio de 2026

CARROS - SENSOR DE OBSTACULOS HC-SR504

 

Sensor Ultrasónico HC-SR04

El HC-SR04 es un sensor electrónico diseñado para medir distancias sin necesidad de contacto físico. Utiliza ondas ultrasónicas de alta frecuencia (aproximadamente 40 kHz), las cuales son inaudibles para el oído humano. Es uno de los sensores más utilizados en proyectos de robótica, automatización y sistemas de navegación debido a su bajo costo, facilidad de uso y buena precisión.




¿Cómo funciona?

El sensor posee dos transductores:

  • TRIG (Transmisor): Emite un pulso de ultrasonido.
  • ECHO (Receptor): Detecta el eco cuando las ondas rebotan en un objeto.

El proceso de medición ocurre de la siguiente manera:

  1. El Arduino envía un pulso de 10 microsegundos al pin TRIG.
  2. El HC-SR04 emite un tren de 8 pulsos ultrasónicos de 40 kHz.
  3. Las ondas viajan por el aire hasta encontrar un objeto.
  4. Las ondas rebotan y regresan al sensor.
  5. El pin ECHO permanece en nivel alto durante el tiempo que tarda el sonido en ir y regresar.
  6. El Arduino mide ese tiempo y calcula la distancia utilizando la velocidad del sonido.


Fórmula utilizada

La distancia se calcula mediante la siguiente expresión:

Distancia=Tiempo×Velocidad del sonido2\text{Distancia} = \frac{\text{Tiempo} \times \text{Velocidad del sonido}}{2}

Donde:

  • Velocidad del sonido ≈ 343 m/s (0.0343 cm/μs).
  • Se divide entre 2 porque el sonido realiza un viaje de ida y vuelta.

Aplicaciones

El HC-SR04 es ampliamente utilizado en:

  • Robots móviles para evitar obstáculos.
  • Vehículos autónomos.
  • Sistemas de estacionamiento asistido.
  • Medición del nivel de agua en tanques.
  • Automatización de puertas.
  • Alarmas y sistemas de seguridad.
  • Proyectos educativos de Arduino y electrónica.
  • Medición de distancia en laboratorios y prototipos.

Ventajas

  • Bajo costo.
  • Fácil integración con Arduino y otros microcontroladores.
  • Buena precisión para proyectos educativos.
  • No requiere contacto con el objeto.
  • Bajo consumo de energía.

Limitaciones

  • La superficie del objeto influye en la medición; materiales blandos o absorbentes pueden reflejar menos sonido.
  • El rango útil disminuye con objetos muy pequeños o inclinados.
  • La temperatura y la humedad pueden afectar ligeramente la velocidad del sonido y, por tanto, la precisión.
  • No funciona correctamente en el vacío, ya que el sonido necesita un medio (como el aire) para propagarse.

Conclusión

El HC-SR04 es un sensor de distancia basado en el principio del eco ultrasónico, similar al funcionamiento del sonar utilizado por murciélagos y submarinos. Su facilidad de programación, bajo costo y precisión lo convierten en una excelente opción para proyectos de robótica, automatización y aprendizaje de sistemas embebidos con Arduino.


CODIGO A EJECUTAR EN CLASE

SIGA LAS INSTRUCCIONES DEL PROFESOR

// ===============================

// Prueba Sensor Ultrasónico HC-SR04

// Arduino UNO / Nano / Mega

// ===============================


const int TRIG = 9;

const int ECHO = 10;


long duracion;

float distancia;


void setup() {

  Serial.begin(9600);


  pinMode(TRIG, OUTPUT);

  pinMode(ECHO, INPUT);


  digitalWrite(TRIG, LOW);


  Serial.println("=== PRUEBA HC-SR04 ===");

}


void loop() {


  // Generar pulso de disparo

  digitalWrite(TRIG, LOW);

  delayMicroseconds(2);


  digitalWrite(TRIG, HIGH);

  delayMicroseconds(10);


  digitalWrite(TRIG, LOW);


  // Leer el tiempo del eco

  duracion = pulseIn(ECHO, HIGH);


  // Calcular distancia en centímetros

  distancia = duracion * 0.0343 / 2;


  Serial.print("Distancia: ");

  Serial.print(distancia);

  Serial.println(" cm");


  delay(500);

}

martes, 9 de junio de 2026

PREGUNTAS 06-08

 PREGUNTAS 06-08


1. ¿POR QUÉ SE CONSIDERA QUE LAS COMPETENCIAS DE CARROS ROBOTS 

ARDUINO SON UNA VERSIÓN TEMPRANA DE LOS SISTEMAS AUTÓNOMOS DEL FUTURO? 

2. ¿QUÉ VENTAJAS OFRECE ARDUINO QUE PERMITEN A ESTUDIANTES Y COLEGIOS 

EXPERIMENTAR CON TECNOLOGÍAS AVANZADAS? 

3. ¿CUÁL ES EL OBJETIVO PRINCIPAL DE UN ROBOT SEGUIDOR DE LÍNEA (LINE 

FOLLOWER)? 

4. MENCIONA TRES TECNOLOGÍAS UTILIZADAS EN LOS ROBOTS SEGUIDORES DE LÍNEA. 

5. ¿EN QUÉ CONSISTE LA COMPETENCIA MINI SUMO ROBOT Y CUÁL ES SU OBJETIVO 

PRINCIPAL? 

6. ¿QUÉ TIPOS DE COMPORTAMIENTOS AUTÓNOMOS BÁSICOS PUEDEN OBSERVARSE EN LOS 

ROBOTS MINI SUMO? 

7. ¿CUÁL ES EL PROPÓSITO DE UN ROBOT MAZE SOLVER (LABERINTO)? 

8. ¿QUÉ ALGORITMOS SE UTILIZAN COMÚNMENTE EN LOS ROBOTS MAZE SOLVER PARA 

ENCONTRAR LA SALIDA DE UN LABERINTO?

9. ¿QUÉ FUNCIÓN CUMPLE EL MONITOR SERIAL EN ARDUINO Y PARA QUÉ SE UTILIZA 

DURANTE EL DESARROLLO DE PROGRAMAS?

lunes, 1 de junio de 2026

MI PRIMERA APP EN PYTHON CON FLASK

 

Mini Proyecto: “Muro de Mensajes del Curso”

Los estudiantes crean una pequeña App de red social tipo página web donde cualquier usuario puede escribir un mensaje y este aparece publicado en pantalla.

Estructura del proyecto

mini_flask/

── venv/ Entorno virtual (se crea automáticamente), espere instrucciones…

── app.py Programa principal Flask, es el programa servidor

── requirements.txt Dependencias del proyecto

── static/ Archivos estáticos

└── estilos.css

── templates/ Plantillas HTML

└── index.html ←paginas clientes que se conectan al servidor de Flask (app.py)

└── README.md ← (Opcional) descripción del proyecto

 

1.      EN SU USB CREE UNA CARPETA CON EL NOMBRE DE: mini_flask

2.      HAGA CLIC DERECHO SOBRE DICHA CARPETA Y HAGA CLIC EN: Abrir con Code

3.      ACTIVE LA TERMINAL DE VSCODE – Atentos a las explicaciones del profesor

4.      CREACION Y ACTIVACION DEL ENTORNO VIRTUAL – Siga las indicaciones del profesor

A.      Crear el entorno virtual con alguno de los siguientes comandos: py -3.8 -m venv venv   /  python -m venv venv

B.      Activacion del entorno:  venv\Scripts\activate

C.      Debe aparecerle en la terminal algo parecido a: (venv) C:\mini_flask>

5.      Instalar Flask

En la terminal escriba y haga ENTER: pip install Flask

Verifique que ha quedado instalado: pip show Flask

6.      INSTALANDO LAS PLANTILLAS JINJA2

En la terminal escribo y hago ENTER: pip install Jinja2==3.1.6

Verifico que han quedado instaladas: pip show Jinja2

7.      CONSULTANDO QUE LIBRERIAS TENGO INSTALADAS ESCRIBES: pip list  Presionas ENTER

 

CODIFICACION Y CREACION DE ARCHIVOS

Atentos a las explicaciones del profesor…

1.      CREANDO EL SERVIDOR

Código principal (app.py) programa servidor

EN EL DIRECTORIO PRINCIPAL (mini_flask) PROCEDA A CREAR EL ARCHIVO: app.py COPIE Y PEGUE EN ESE ARCHIVO EL SIGUIENTE CODIGO, Atentos a las explicaciones

from flask import Flask, render_template, request, redirect

app = Flask(__name__)

mensajes = []

@app.route("/", methods=["GET", "POST"])
def inicio():

    if request.method == "POST":
        texto = request.form["mensaje"]

        if texto != "":
            mensajes.append(texto)

        return redirect("/")

    return render_template("index.html", mensajes=mensajes)

if __name__ == "__main__":
    app.run(debug=True)

 

TAREA EN CLASE

INVESTIGAR LOS METODOS POST Y GET EN HTML Y EN FLASK

 

2.      CREANDO LA HOJA DE ESTILO (CSS)

EN LA RUTA “static” CREAMOS EL ARCHIVO: estilos.css  COPIAMOS EL SIGUIENTE CODIGO EN DICHO ARCHIVO

body {
    font-family: Arial, sans-serif;
    width: 80%;
    margin: auto;
}

h1 {
    color: navy;
}
input {     padding: 8px; }
button {     padding: 8px;     cursor: pointer; }
.mensaje {     background-color: #f0f0f0;     padding: 10px;     margin-top: 5px;     border-radius: 5px; }

 

3.      CREANDO EL CLIENTE

EN LA CARPETA “templates” CREAMOS EL ARCHIVO: index.html COPIAMOS DENTRO DE ESE ARCHIVO EL SIGUIENTE CODIGO:

<!DOCTYPE html>
<html>
<head>
<title>Chat del Salón</title>
<link rel="stylesheet" href="{{ url_for('static', filename='estilos.css') }}">
</head> <body>
    <h1>Muro del Curso</h1>
    <form method="POST">
        <input type="text" name="mensaje" placeholder="Escribe algo">
        <button type="submit">             Enviar         </button>
    </form>     <hr>     <h2>Mensajes:</h2>
    {% for mensaje in mensajes %}         <p>- {{ mensaje }}</p>     {% endfor %}
</body> </html>

 

4.      EJECUCION DEL APP

PARA EJECUTAR LA APP DEBE IR A LA TERMINAL Y ESCRIBIR LOS SIGUIENTES COMANDOS:

Escriba:
venv\Scripts\activate ENTER espere unos segundos a que aparezcan algunos msgs


Escriba:
python app.py ENTER, APARECERA UNA DIRECCION IP POR DEFECTO, LA DE SU
COMPUTADOR:
http://127.0.0.1:5000 

DEBE PROCEDER DE LA SIGUIENTE FORMA: MANTENGA PERSIONADA LA TECLA :
CTRL (LA DEL LADO IZQUIERDO DEL TECLADO), Y SIN SOLTAR ESA TECLA ENTONCES
HAGA CLIC SOBRE LA DIRECCON IP (
http://127.0.0.1:5000).
 
SE ABRIRA SU NAVEGADOR CON LA APP DESPLEGADA.
 
 
INVESTIGAR LOS SIGUIENTES CONCEPTOS:

·         QUE ES UN DECORADOR EN PYTHON (FLASK)

·         QUE ES FRONTED

·         QUE ES BACKEND

·         PARA QUE SIRVE: redirect("/") EN FLASK

·         QUE HACE render_template("index.html") EN FLASK

·         PARA QUE SIRVE: app.run(host="0.0.0.0") EN FLASK

TALLER EN CLASE DECIMO

                                                  CURSO 10B - INFORMATICA PREGUNTAS MINI PROYECTO PYTHON TALLER EN GRUPO DE 3 ESTUDIANTE...