Clase 7_Ejercicios_LIBRERIAS_IESTP GILDA BALLIVIAN ROSADO. DOCENTE: JOSE LUIS FERRO QUICAÑO
Size: 1011.86 KB
Language: es
Added: Sep 07, 2025
Slides: 18 pages
Slide Content
Clase 7 : Ejercicios_Librerías en Python Docente: JOSE LUIS FERRO QUICAÑO Ing. en Electrónica y Telecomunicaciones | CIP N°368092 939691368 LENGUAJE DE PROGRAMACIÓN APLICADO
import numpy as np # Importa la biblioteca NumPy y le da el alias ' np '. Esta librería permite trabajar con vectores y operaciones matemáticas de manera eficiente. import matplotlib.pyplot as plt # Importa la biblioteca de gráficos ' matplotlib.pyplot ' con el alias ' plt ', que se usa para graficar datos, en este caso señales. # Crear el vector de tiempo (1 segundo, 1000 muestras) t = np.linspace (0, 1, 1000) # Genera un arreglo de 1000 valores equidistantes entre 0 y 1 segundo. Representa el eje de tiempo para la señal. # Frecuencia de la señal senoidal (5 Hz) f = 5 # Define la frecuencia de la señal senoidal como 5 Hz (5 ciclos por segundo). EJEMPLO_01_LIBRERIA NUMPY, MATPLOTLIB - Señal senoidal
# Crear la señal senoidal: A * sin(2πft) senal_senoidal = np.sin (2 * np.pi * f * t) # Calcula los valores de la señal senoidal usando la fórmula A*sin(2πft), donde A=1 (amplitud por defecto), f es la frecuencia, y t el tiempo. # np.sin () aplica la función seno a todo el vector de tiempo, generando así una onda continua. # Graficar la señal plt.plot (t, senal_senoidal , label ='Senoidal 5 Hz', color='blue’) # Dibuja la señal senoidal en un gráfico, con t en el eje X y la amplitud en el eje Y. Se le da una etiqueta y color azul. plt.title ("Señal Senoidal") # Título del gráfico plt.xlabel ("Tiempo (s)") # Etiqueta del eje X: Tiempo en segundos plt.ylabel ("Amplitud") # Etiqueta del eje Y: Amplitud de la señal plt.grid (True) # Activa la cuadrícula para facilitar la lectura del gráfico plt.legend () # Muestra la leyenda con el nombre de la señal ('Senoidal 5 Hz') plt.show () # Muestra el gráfico en pantalla
Gráfico generado con la LIBRERIA MATPLOTLIB
import numpy as np import matplotlib.pyplot as plt from scipy import signal # Librería para generar señales como onda cuadrada # Crear el vector de tiempo t = np.linspace (0, 1, 1000) # Frecuencia de la señal f = 5 # Crear la señal cuadrada senal_cuadrada = signal.square (2 * np.pi * f * t) # Graficar la señal plt.plot (t, senal_cuadrada , label ='Cuadrada 5 Hz', color='red') plt.title ("Señal Cuadrada") plt.xlabel ("Tiempo (s)") plt.ylabel ("Amplitud") plt.grid (True) plt.legend () plt.show () EJEMPLO_02_LIBRERIA NUMPY,MATPLOTLIB Y SCIPY - Señal cuadrada
Gráfico generado con la LIBRERIA MATPLOTLIB
# Importamos las librerías necesarias import numpy as np # Para trabajar con vectores y funciones matemáticas import matplotlib.pyplot as plt # Para graficar señales from scipy import signal # Para generar señales como onda cuadrada # Creamos un vector de tiempo de 0 a 1 segundo, con pasos de 0.001 s t = np.linspace (0, 1, 1000) # 1000 puntos entre 0 y 1 segundo # Definimos la frecuencia de la señal f = 5 # 5 Hz # Generamos la señal senoidal senal_senoidal = np.sin (2 * np.pi * f * t) # Generamos la señal cuadrada usando scipy.signal senal_cuadrada = signal.square (2 * np.pi * f * t) # Creamos una figura con 2 gráficos plt.figure ( figsize =(10, 6)) EJEMPLO_03_LIBRERIA MATPLOTLIB Y SCIPY
# Primer gráfico: Señal Senoidal plt.subplot (2, 1, 1) # 2 filas, 1 columna, gráfico 1 plt.plot (t, senal_senoidal , label ='Senoidal', color='blue') plt.title ('Señal Senoidal de 5 Hz') plt.xlabel ('Tiempo (s)') plt.ylabel ('Amplitud') plt.grid (True) plt.legend () # Segundo gráfico: Señal Cuadrada plt.subplot (2, 1, 2) # 2 filas, 1 columna, gráfico 2 plt.plot (t, senal_cuadrada , label ='Cuadrada', color='red') plt.title ('Señal Cuadrada de 5 Hz') plt.xlabel ('Tiempo (s)') plt.ylabel ('Amplitud') plt.grid (True) plt.legend () 2 → Número de filas que tendrá la figura (en este caso 2). 1 → Número de columnas (en este caso 1). 1 → Posición del gráfico actual en la cuadrícula (el primero).
# Ajustamos el espacio entre gráficos plt.tight_layout () # Mostramos la gráfica en pantalla plt.show ()
Ejemplo_04_Tkinter_Led ON/OFF import tkinter as tk # Librería estándar de Python para crear interfaces gráficas de usuario (GUI). import time # Se usa para manejar retardos (por ejemplo, esperar 1 segundo). import threading # Permite ejecutar tareas en segundo plano (paralelas) sin detener la interfaz gráfica. # Creamos la ventana principal ventana = tk.Tk () # Se crea una ventana principal llamada 'ventana'. ventana.title ("Simulación LED Rojo") # Título que aparece en la barra superior de la ventana. ventana.geometry ("300x300") # Define el tamaño de la ventana: 300x300 píxeles.
# Creamos un canvas (área de dibujo) donde colocaremos el "LED" # Se crea un área para dibujar dentro de la ventana. canvas = tk.Canvas (ventana, width =200, height =200) # Se muestra el canvas y se añade un espacio vertical ( padding de 50 píxeles). canvas.pack ( pady =50) # Dibujamos un círculo que representará el LED # Inicialmente está apagado (color gris) led = canvas.create_oval (50, 50, 150, 150, fill ="gray") # Se dibuja un óvalo (círculo) dentro del canvas en la posición dada. # El color inicial es gris, simulando un LED apagado.
¿Qué hace create_oval ( x1, y1, x2, y2)? La función create_oval () de Tkinter Canvas dibuja un óvalo (o un círculo, si es simétrico) dentro del rectángulo delimitado por dos puntos : (x1, y1) → Coordenada superior izquierda del rectángulo. (x2, y2) → Coordenada inferior derecha del rectángulo. El óvalo se dibuja ajustado dentro de ese rectángulo . (50, 50) → esquina superior izquierda (150, 150) → esquina inferior derecha Esto define un cuadro de 100 píxeles de ancho y alto (150 - 50 = 100), dentro del cual se dibuja un círculo. Como el ancho y el alto son iguales, el óvalo se convierte en un círculo perfecto .
# Función que enciende y apaga el LED cada 1 segundo def parpadear_led (): encendido = False # Estado inicial del LED: apagado while True: # Bucle infinito para el parpadeo continuo if encendido: canvas.itemconfig (led, fill ="gray") # Si estaba encendido, lo apaga else: canvas.itemconfig (led, fill ="red") # Si estaba apagado, lo enciende (color rojo) encendido = not encendido # Invierte el estado (True ↔ False) time.sleep (1) # Espera 1 segundo antes del próximo cambio
# Usamos un hilo para no congelar la ventana al parpadear # Crea un hilo que ejecutará la función parpadear_led () hilo = threading.Thread (target= parpadear_led ) # El hilo se cierra automáticamente cuando se cierra la ventana hilo.daemon = True # Se inicia el hilo (la función comienza a ejecutarse en paralelo) hilo.start () # Ejecutamos la ventana ventana.mainloop () # Inicia el bucle principal de la ventana. Sin esto, la GUI no aparece ni responde.
Slogan Electrónica import tkinter as tk # Mensaje que se va a mostrar mensaje = " YO AMO LA ELECTRÓNICA " # Crear la ventana principal ventana = tk.Tk () ventana.title ("Matriz de LEDs ") ventana.configure ( bg =' black ') ventana.geometry ("600x100") # Crear etiqueta que simula la matriz de LEDs etiqueta = tk.Label (ventana, text =mensaje, font =("Courier", 24, " bold "), fg ="lime", bg =" black ") etiqueta.pack ( expand =True)
# Función para desplazar el texto hacia la izquierda def desplazar(): global mensaje # Tomar la primera letra y colocarla al final ( scroll ) mensaje_mod = mensaje[1:] + mensaje[0] mensaje = mensaje_mod etiqueta.config ( text = mensaje_mod ) # Repetir cada 200 milisegundos ventana.after (200, desplazar) # Iniciar el desplazamiento desplazar() # Ejecutar la interfaz ventana.mainloop ()
Cierre de clase “ Aprendimos a utilizar las librerías en Python. ”