lunes, 29 de septiembre de 2025

INTELIGENCIA ARTIFICIAL APLICADA A LA ROBOTICA

 

🤖 Inteligencia Artificial Aplicada a la Robótica y Arduino

1. 🧠 ¿Qué es la Inteligencia Artificial (IA)?

La Inteligencia Artificial (IA) es la rama de la informática que busca crear sistemas capaces de realizar tareas que normalmente requieren inteligencia humana, como aprender, razonar, resolver problemas, reconocer patrones, entender lenguaje natural o tomar decisiones.

En otras palabras, la IA permite que las máquinas “piensen” o “aprendan” de la experiencia y se adapten a nuevas situaciones sin estar programadas específicamente para cada tarea.


2. 🤖 IA en la Robótica: Una combinación poderosa

Cuando combinamos la robótica con la inteligencia artificial, logramos crear robots inteligentes: máquinas capaces no solo de ejecutar órdenes, sino también de analizar su entorno, aprender de él y actuar de forma autónoma.

Algunos ejemplos comunes:

  • 🤖 Robots móviles que evitan obstáculos sin intervención humana.
  • 🦾 Brazos robóticos inteligentes que reconocen objetos y los manipulan.
  • 🚗 Vehículos autónomos que toman decisiones sobre rutas y tráfico.
  • 🤝 Robots sociales que interactúan con personas usando lenguaje natural.

En resumen, la IA convierte a los robots en agentes autónomos capaces de aprender, decidir y mejorar su comportamiento.


3. ⚙️ Cómo se aplica la IA en robótica

La IA puede aplicarse en diferentes niveles dentro de un robot:

Nivel

Aplicación

Ejemplo

Percepción

El robot interpreta datos del entorno con sensores y cámaras.

Visión artificial para reconocer colores o formas.

Toma de decisiones

Analiza información y elige la mejor acción.

Decidir moverse a la izquierda si hay un obstáculo a la derecha.

Aprendizaje automático

Aprende de la experiencia y mejora sus acciones.

Un robot aspiradora que optimiza sus rutas con el uso.

Interacción

Se comunica o responde a estímulos humanos.

Robot que reconoce órdenes de voz.


4. 🤖 IA con Arduino: primer paso hacia la robótica inteligente

Arduino es una plataforma electrónica de código abierto que permite crear proyectos robóticos de bajo costo. Aunque Arduino por sí mismo no tiene la capacidad de ejecutar modelos complejos de IA, sí puede integrarse con herramientas y servicios de inteligencia artificial para lograr comportamientos más inteligentes.

Algunas formas de aplicar IA con Arduino:

  1. Sensores y lógica básica: Arduino toma decisiones sencillas basadas en datos del entorno (por ejemplo, seguir una línea o evitar obstáculos).
  2. 🧠 IA en la nube o en otro dispositivo: Arduino envía datos a un ordenador o a la nube, donde se ejecutan algoritmos de IA más potentes.
  3. 📊 Machine Learning “ligero”: Con bibliotecas como TensorFlow Lite para microcontroladores, es posible ejecutar modelos pequeños directamente en Arduino.

5. 🌐 Ejemplos prácticos de IA en proyectos con Arduino

Proyecto

Descripción

Componentes

🚗 Robot autónomo seguidor de línea

Usa sensores IR para detectar una línea y seguirla sin intervención humana.

Arduino, sensores IR, motores.

🤖 Robot que evita obstáculos con ultrasonido

Toma decisiones en tiempo real según los objetos detectados.

Arduino, sensor HC-SR04, motores.

📷 Clasificador de objetos con visión artificial

Una cámara externa o módulo de IA clasifica objetos y Arduino actúa según el resultado.

Arduino + ESP32 Cam / Raspberry Pi.

🗣️ Control por voz

El robot responde a órdenes habladas utilizando servicios de IA en la nube.

Arduino + módulo WiFi + API de reconocimiento de voz.


6. 🧭 Importancia educativa y profesional

Estudiar IA aplicada a la robótica es fundamental porque:

  • 💡 Desarrolla el pensamiento lógico y habilidades de resolución de problemas.
  • 🌐 Fomenta el trabajo interdisciplinario entre electrónica, programación, matemáticas e inteligencia artificial.
  • 🚀 Prepara a los estudiantes para el futuro laboral en áreas de alta demanda tecnológica.
  • 🤖 Despierta la creatividad y el pensamiento innovador mediante la creación de soluciones reales.

📚 Preguntas de investigación para estudiantes

Estas preguntas pueden servir como base para trabajos, proyectos o investigaciones en el aula:

🔎 Generales sobre IA y robótica:

  1. ¿Qué características debe tener un robot para considerarse “inteligente”?
  2. ¿Cuáles son las principales diferencias entre un robot autónomo y uno programado con instrucciones fijas?
  3. ¿Cómo ha transformado la inteligencia artificial el campo de la robótica moderna?
  4. ¿Qué papel juega el aprendizaje automático en la toma de decisiones de un robot?
  5. ¿Qué desafíos éticos plantea el uso de robots con inteligencia artificial?

🔧 Aplicadas a Arduino:

  1. ¿Cómo se pueden integrar algoritmos de IA con un sistema robótico controlado por Arduino?
  2. ¿Qué limitaciones presenta Arduino en el uso de modelos de inteligencia artificial?
  3. ¿Qué sensores y módulos son necesarios para que un robot basado en Arduino pueda tomar decisiones autónomas?
  4. ¿Cómo puede un proyecto con Arduino servir como introducción al mundo de la robótica inteligente?
  5. ¿Qué impacto tendría implementar IA en robots educativos para el aprendizaje escolar?

📌 Conclusión

La inteligencia artificial y la robótica representan una de las áreas más emocionantes y prometedoras de la tecnología actual. Integrar ambas disciplinas nos permite construir máquinas que no solo ejecutan tareas, sino que piensan, aprenden y se adaptan al mundo real.
Arduino, por su parte, ofrece una puerta de entrada accesible para que estudiantes y aficionados se inicien en este campo, desarrollando proyectos que combinan electrónica, programación e inteligencia artificial. De esta forma, la educación no solo enseña tecnología, sino que también inspira a crear el futuro.

 

lunes, 22 de septiembre de 2025

EJERCICIOS SIN VALIDACIONES EN PYTHON

EJERCICIOS SIN VALIDACIONES EN PYTHON

 

Escribe en tu cuaderno toda la entrada, revision de cuaderno, pero antes copia y pega estos 2 ejercicios en visual studio code y ejecutalos, exmina el comportamiento de los datos, incluso ingresa datos que sepas que van a ahcer que las operaciones fallen, espera revision del profesor para calificacion.

 

Ejercicio 1.

# Programa que pide 2 números enteros y hace operaciones básicas

 

# 1. Pedir los números

a = int(input("Ingresa el primer número entero: "))

b = int(input("Ingresa el segundo número entero: "))

 

# 2. Operaciones básicas

suma = a + b

resta = a - b

multiplicacion = a * b

division = a / b  # ¡Ojo! si b = 0 dará error

 

# 3. Mostrar los resultados

print("\n--- Resultados ---")

print("Suma:", suma)

print("Resta:", resta)

print("Multiplicación:", multiplicacion)

print("División:", division)

 

Ejercicio 2.

# Programa que calcula el promedio de 3 notas

 

# 1. Pedir las notas al usuario

nota1 = float(input("Ingresa la primera nota: "))

nota2 = float(input("Ingresa la segunda nota: "))

nota3 = float(input("Ingresa la tercera nota: "))

 

# 2. Calcular el promedio

promedio = (nota1 + nota2 + nota3) / 3

 

# 3. Mostrar el resultado

print("\n--- Resultados ---")

print("Nota 1:", nota1)

print("Nota 2:", nota2)

print("Nota 3:", nota3)

print("Promedio:", promedio)

 

 

📘 Teoría: Validaciones, comandos y condicionales en Python

1. ¿Qué es una validación?

En programación, validar significa asegurarse de que los datos que recibe un programa cumplen ciertas reglas antes de usarlos.

Ejemplos de validaciones:

·         Que un número ingresado sea realmente un número (y no texto).

·         Que no sea cero cuando se va a dividir.

·         Que una nota esté dentro de un rango válido (ejemplo: entre 0 y 5).

👉 Sin validaciones, el programa puede producir errores (ejemplo: división por cero) o aceptar datos incorrectos que generen resultados sin sentido.


2. Tipos de validaciones más comunes

Validación de tipo de dato:

·         Verificar que lo ingresado se puede convertir a int o float. Ejemplo: evitar que alguien escriba "hola" cuando pedimos un número.

·         Validación de rango: Asegurarse de que el número esté en un intervalo correcto. Ejemplo: notas entre 0 y 5, edades mayores a 0.

·         Validación de valores prohibidos: Evitar casos que generen errores, como dividir por 0.


3. Comandos útiles para validaciones en Python

Python nos da varias herramientas:

🔹 try y except

Sirven para manejar errores en tiempo de ejecución.

try:

    numero = int(input("Escribe un número: "))

except ValueError:

    print("Entrada inválida. Debes escribir un número.")

 

try → intenta ejecutar el código.

except → si ocurre un error (ejemplo: conversión a entero fallida), ejecuta este bloque.


🔹 Condicionales if, elif, else

Permiten tomar decisiones en el código según una condición lógica.

Ejemplo básico:

edad = int(input("Ingresa tu edad: "))

 

if edad >= 18:

    print("Eres mayor de edad.")

else:

    print("Eres menor de edad.")

Ejemplo con más condiciones:

nota = float(input("Ingresa tu nota: "))

 

if nota < 0 or nota > 5:

    print("Nota fuera de rango.")

elif nota >= 3:

    print("Aprobado")

else:

    print("Reprobado")


🔹 Bucles while para repetir hasta que sea válido

Podemos usar while para insistir hasta que el usuario escriba un valor correcto.

nota = -1

while nota < 0 or nota > 5:

    nota = float(input("Ingresa una nota entre 0 y 5: "))


4. Aplicando validaciones a los dos programas

🔸 Programa 1: Operaciones básicas

Problemas que debemos validar:

·         Que ambos números sean enteros (int).

·         Que el divisor (b) no sea 0 antes de dividir.

Con validaciones, el código podría ser:

try:

    a = int(input("Ingresa el primer número: "))

    b = int(input("Ingresa el segundo número: "))

   

    print("Suma:", a + b)

    print("Resta:", a - b)

    print("Multiplicación:", a * b)

   

    if b != 0:

        print("División:", a / b)

    else:

        print("No se puede dividir entre cero.")

except ValueError:

    print("Debes ingresar números enteros.")


🔸 Programa 2: Promedio de notas

Problemas que debemos validar:

·         Que las notas sean números (float).

·         Que cada nota esté entre 0 y 5 (si usamos esa escala).

Con validaciones, el código podría ser:

try:

    nota1 = float(input("Ingresa la primera nota: "))

    nota2 = float(input("Ingresa la segunda nota: "))

    nota3 = float(input("Ingresa la tercera nota: "))

 

    if 0 <= nota1 <= 5 and 0 <= nota2 <= 5 and 0 <= nota3 <= 5:

        promedio = (nota1 + nota2 + nota3) / 3

        print("Promedio:", promedio)

    else:

        print("Las notas deben estar entre 0 y 5.")

except ValueError:

    print("Debes ingresar valores numéricos.")


5. Resumen de condicionales y comandos clave

·         if ... else: tomar decisiones.

·         if ... elif ... else: manejar varias condiciones.

·         try ... except: capturar errores cuando el usuario ingresa datos inválidos.

·         while: repetir hasta que el usuario escriba un dato correcto.

Operadores lógicos:

and (y), or (o), not (no).

Ejemplo: if nota >= 0 and nota <= 5:


En conclusión:
Las validaciones son una parte fundamental de la programación porque hacen que el programa sea seguro y confiable.
En los dos programas que hicimos (operaciones y promedio) no pusimos validaciones para mantenerlos simples, pero en un entorno real deberíamos añadirlas para evitar errores como división entre cero o notas fuera de rango.



EVALUACION EL INTERNET DE LAS COSAS

EVALUACION EL INTERNET DE LAS COSAS


1  ¿Qué significa IoT?
a) Internet of Tools
b) Internet of Things
c) Internet of Technology
d) Internet of Transmission

2 ¿Cuál es la idea central del IoT?
a) Usar Arduino únicamente
b) Que los objetos físicos se conecten a internet
c) Crear páginas web más rápidas
d) Sustituir los celulares por sensores

3  ¿Qué papel cumple Arduino en un proyecto de IoT?
a) Procesa grandes volúmenes de datos
b) Sirve como hardware para captar datos del entorno
c) Funciona solo como base de datos
d) Reemplaza servidores en la nube

4  ¿Qué lenguaje se destaca para analizar y procesar datos en IoT?
a) C++
b) HTML
c) Python
d) JavaScript

5  Un sensor DHT11 conectado a un Arduino mide principalmente:
a) Luz y sonido
b) Humedad y temperatura
c) Movimiento y presión
d) Velocidad y distancia

6  ¿Qué módulo permite a Arduino conectarse a internet mediante WiFi?
a) L298N
b) ESP8266
c) DHT22
d) LDR

7  ¿Qué librería de Python es útil para el análisis numérico en IoT?
a) Flask
b) NumPy
c) Dash
d) Requests

8  ¿Qué librería de Python se utiliza para crear gráficos y visualizaciones de datos?
a) Pandas
b) Matplotlib
c) Paho-mqtt
d) SQLAlchemy

9  ¿Cuál de estas opciones es un actuador en un sistema IoT?
a) Sensor de gas
b) Sensor de luz
c) Motor eléctrico
d) Sensor de temperatura

10  Si Arduino detecta movimiento con un sensor PIR y enciende una luz LED, la luz es:
a) Un sensor
b) Un actuador
c) Un servidor
d) Una librería

11  ¿Qué framework de Python permite crear aplicaciones web ligeras para IoT?
a) Flask
b) TensorFlow
c) NumPy
d) Arduino IDE

12  En un sistema agrícola con IoT, Arduino mide humedad del suelo y Python:
a) Construye la placa física
b) Analiza los datos y automatiza decisiones
c) Sustituye al sensor de humedad
d) Se conecta a los relés directamente

13  ¿Qué protocolo de mensajería es común en IoT para transmitir datos?
a) FTP
b) HTTP
c) MQTT
d) POP3

14 ¿Cuál de estas plataformas es utilizada para IoT con Arduino?
a) ThingSpeak
b) WhatsApp
c) PowerPoint
d) Photoshop

15  ¿Qué ventaja ofrece Arduino para IoT?
a) Procesamiento avanzado de Big Data
b) Económico y fácil de usar
c) Inteligencia artificial integrada
d) Interfaz gráfica prediseñada

16  ¿Qué ventaja ofrece Python en IoT?
a) Se usa solo para programar Arduino
b) Es costoso y difícil de aprender
c) Tiene librerías para análisis de datos e inteligencia artificial
d) Solo funciona en Windows

17  ¿Qué combinación de herramientas es clave en IoT según el texto?
a) Arduino y Java
b) Arduino y Python
c) Arduino y PHP
d) Python y Excel

18  En salud, ¿cómo se aplican Arduino y Python en IoT?
a) Arduino envía memes; Python los traduce
b) Arduino capta signos vitales; Python genera reportes médicos
c) Arduino crea bases de datos; Python hace sensores
d) Arduino analiza datos; Python mide la presión arterial

19 ¿Qué librería de Python permite trabajar con MQTT en IoT?
a) Requests
b) Pandas
c) Paho-mqtt
d) Django

20  ¿Cuál es la conclusión principal del uso de Arduino y Python en IoT?
a) Que el IoT solo depende de Python
b) Que Arduino es innecesario si usamos Python
c) Que la combinación de ambos es poderosa y educativa
d) Que IoT solo se aplica en agricultura

 


martes, 16 de septiembre de 2025

EJERCICIOS PYTHON EN CLASE

 EJERCICIOS EN CLASE, Explicar cual es la logica aplicada, es decir, que fundamenta la solución que acabas de dar.


Crea un programa que le pida al usuario su nombre y su año de nacimiento. Luego, el programa debe mostrar un mensaje diciendo cuántos años tiene el usuario en el año actual (usa 2025 como el año actual).

Ejemplo de ejecución:

¿Cómo te llamas? Juan

¿En qué año naciste? 2010

Hola Juan, tienes 15 años.

 

 

Escribe un programa que le pida al usuario una cantidad de metros y convierta esa cantidad a centímetros.

Ejemplo de ejecución:

Ingresa una cantidad en metros: 2.5

2.5 metros son 250.0 centímetros.


jueves, 11 de septiembre de 2025

EL INTERNET DE LAS COSAS (IoT)

El Internet de las Cosas (IoT) con Arduino y Python

El Internet de las Cosas (IoT, por sus siglas en inglés) se refiere a la conexión de objetos físicos a internet para que puedan recopilar, enviar y recibir datos. Estos dispositivos pueden ser sensores, electrodomésticos, vehículos, máquinas industriales e incluso sistemas de salud. La idea central es que los objetos del mundo real estén interconectados y sean capaces de interactuar entre sí y con las personas a través de la red.

Dentro de este contexto, Arduino y Python se han convertido en herramientas fundamentales para el desarrollo de proyectos de IoT.
Arduino aporta el hardware económico y fácil de usar, mientras que Python es uno de los lenguajes de programación más utilizados para manejar datos, crear interfaces, desarrollar aplicaciones en la nube y conectar dispositivos inteligentes. La combinación de ambos ofrece una solución potente y versátil.


Arduino y la recolección de datos

Uno de los aspectos más importantes del IoT es la captura de información del entorno. Con Arduino, es posible conectar sensores de temperatura, humedad, luz, sonido, movimiento, gases o presión. Estos sensores recogen datos del ambiente y los envían a la placa Arduino, donde son procesados. Posteriormente, mediante módulos de comunicación como WiFi (ESP8266 o ESP32), Bluetooth o Ethernet, esos datos pueden enviarse a internet para su almacenamiento o análisis.

Por ejemplo, un proyecto sencillo consiste en usar un sensor de temperatura y humedad (como el DHT11 o DHT22) conectado a un Arduino, y luego transmitir esos datos en tiempo real a una página web o a una aplicación móvil.


Python y la gestión de datos en IoT

Si Arduino se encarga de captar la información del entorno, Python es ideal para procesarla, analizarla y presentarla de forma útil. Gracias a sus librerías como pandas, NumPy y Matplotlib, se pueden organizar y graficar datos obtenidos desde sensores. Además, Python permite crear dashboards en tiempo real mediante frameworks como Flask, Django o Dash.

Por ejemplo, los datos enviados por un Arduino pueden almacenarse en un servidor y Python se encarga de graficarlos en una página web, generar alertas automáticas o aplicar algoritmos de inteligencia artificial para tomar decisiones.


Actuadores y control remoto

El IoT no solo se limita a la recolección de información, sino también a la interacción con el entorno mediante actuadores. Con Arduino se pueden controlar motores, luces LED, relés, electroimanes o válvulas.

Por su parte, Python puede servir como cerebro remoto que recibe los datos enviados por Arduino y decide cuándo activar los actuadores. Incluso puede integrarse con servicios en la nube o aplicaciones móviles para que el usuario tenga un control más sofisticado.

Ejemplo: Un sensor de movimiento detecta la presencia de una persona. Arduino envía la señal a un servidor, y un programa en Python procesa esa información y envía la orden de encender una lámpara o enviar una notificación al celular del usuario.


Integración con servidores y la nube

Para que los dispositivos IoT sean realmente útiles, los datos que generan deben almacenarse y analizarse. Arduino se conecta con servicios como ThingSpeak, Blynk o MQTT.

Python, en cambio, se utiliza ampliamente en la programación del backend de estos sistemas. Con librerías como paho-mqtt o requests, Python puede recibir datos de múltiples dispositivos, almacenarlos en bases de datos como MySQL o MongoDB, y luego procesarlos para generar información más avanzada.

Por ejemplo, en un sistema agrícola, Arduino mide la humedad del suelo y envía los datos a la nube. Python, desde el servidor, analiza las tendencias y determina si es necesario encender un sistema de riego automático.


Ventajas de usar Arduino y Python en IoT

Arduino

  • Accesible y económico.

  • Fácil de programar con un entorno amigable.

  • Compatible con una gran variedad de sensores y actuadores.

  • Gran comunidad de soporte.

Python

  • Lenguaje versátil y de fácil aprendizaje.

  • Gran cantidad de librerías para análisis de datos, inteligencia artificial y comunicación en red.

  • Compatible con múltiples plataformas (Windows, Linux, Raspberry Pi).

  • Ideal para integrar IoT con aplicaciones web, móviles y de nube.


Aplicaciones prácticas

El uso de Arduino y Python en IoT ya tiene aplicaciones en muchos sectores:

  • Domótica: Arduino controla luces y sensores; Python gestiona la app móvil o web de control.

  • Agricultura inteligente: Arduino mide humedad y temperatura; Python analiza los datos y automatiza el riego.

  • Salud: Arduino capta signos vitales; Python los envía a la nube y genera reportes médicos.

  • Ciudades inteligentes: Arduino detecta tráfico o contaminación; Python analiza los datos en servidores municipales.

  • Industria 4.0: Arduino monitorea máquinas; Python aplica algoritmos de mantenimiento predictivo.


Conclusión

El Internet de las Cosas no depende de una sola tecnología, sino de la combinación de herramientas complementarias. Arduino permite interactuar con el mundo físico de manera simple y económica, mientras que Python ofrece la capacidad de analizar datos, conectarse con servicios en la nube y desarrollar aplicaciones inteligentes.

En conjunto, ambos representan una oportunidad educativa y tecnológica para comprender cómo los dispositivos físicos pueden integrarse a la red global y crear sistemas inteligentes capaces de mejorar la vida de las personas.

lunes, 8 de septiembre de 2025

EVALUACION PYTHON FUNDAMENTOS

 EVALUACION FUNDAMENTOS DE PYTHON


📝 Ejercicios cortos

Ejercicio 1: Presentación Personal

Escribe un programa en Python que:

  1. Pida al usuario su nombre y su edad.

  2. Muestre un mensaje como este:

¡Hola, Ana! Tienes 14 años.
  1. Convierta la edad a número entero y calcule cuántos días ha vivido (aprox., sin contar años bisiestos).

  2. Muestra el resultado en pantalla.


Ejercicio 2: Conversión de Notas

Haz un programa que:

  1. Pida al usuario una nota decimal (ejemplo: 3.7).

  2. Convierta la nota a entero y muéstrala.

  3. Muestre también el tipo de dato de la nota antes y después de la conversión.

Ejemplo de salida:

Ingresa tu nota: 3.7 Nota original: 3.7 <class 'float'> Nota como entero: 3 <class 'int'>

❓ Preguntas teóricas

  1. ¿Qué es una variable en Python y para qué sirve?

  2. Nombra y explica dos tipos de datos numéricos en Python.

  3. ¿Qué función se usa para pedir datos al usuario en Python? ¿Qué tipo de dato devuelve siempre?

  4. ¿Qué diferencia hay entre un comentario y una variable en un programa?

  5. Explica qué hace la función type() en Python y da un ejemplo.

SOPA DE LETRAS - INTERNET DE LAS COSAS Y LA IA

SOPA DE LETRAS COPIAR EN SUS CUADERNOS Y RESOLVER LA SIGUIENTE SOPA DE LETRAS CUANDO LO HAYA HECHO MUESTRE AL PROFE PARA QUE TE AUTORICE A S...