Búsqueda de sitios web

¿Cómo programar alarmas simples en Python?


Crear un reloj despertador simple es uno de los proyectos básicos que puede ayudarlo a comprender los conceptos básicos de la manipulación del tiempo, la ejecución de comandos del sistema, la reproducción de archivos de audio y otros temas esenciales. Y, en este tutorial, aprenderemos cómo construir uno.

Para esto, trabajaremos con el módulo PyGame para reproducir el archivo de audio y el módulo datetime para obtener la hora actual del sistema. Muy bien, ¡comencemos entonces!

Empezando

Para reproducir el archivo de audio, usaremos el módulo PyGame.

Este módulo no viene empaquetado con Python. Entonces, lo descargaremos e instalaremos usando el administrador de paquetes pip.

Para instalar el módulo PyGame, use el siguiente comando "pip":

pip install pygame

Y ahora necesitamos importar el módulo mezclador que forma parte de la biblioteca PyGame e inicializarlo.

from pygame import mixer
mixer.init()

Ya está todo listo para comenzar a construir la alarma.

Construyendo el despertador

Primero importemos todos los módulos necesarios.

import datetime
from pygame import mixer

A continuación, leemos los detalles de la hora, los minutos, AM o PM de la alarma del usuario.

Hour = int(input("At what hour do you want the alarm? ")) 
Min = int(input("Specify exact minutes ")) 
amPm = str(input("AM or PM? ")) 

A continuación, si es PM, agregamos 12 a la hora especificada para convertirla al formato militar y estándar.

if (amPm == "pm"): 
	alarmH = alarmH + 12

A continuación, simplemente creamos un bucle infinito y comprobamos si la hora actual coincide con la hora especificada y, si es así, hacemos sonar la música de alarma.

while(True):
	if(Hour == datetime.datetime.now().hour and Min == datetime.datetime.now().minute): 
		mixer.music.load("your_audio_file.mp3")
		mixer.music.play()

No olvide inicializar el módulo pygame.mixer antes de usarlo:

mixer.init()

Y eso es todo, has creado con éxito un sencillo despertador en Python.

El código completo

Ahora veamos cómo se ve el programa completo:

import datetime
from pygame import mixer

mixer.init()

Hour = int(input("At what hour do you want the alarm? "))
Min = int(input("Specify exact minutes "))
amPm = str(input("AM or PM? "))

alarmH = Hour

if (amPm == "pm"):
   alarmH = alarmH + 12

while(True):
   if(alarmH == datetime.datetime.now().hour and Min == datetime.datetime.now().minute):
      mixer.music.load("sample1.mp3")
      mixer.music.play()

Conclusión

Ahora ya sabes cómo construir un despertador simple usando Python. Hay funciones adicionales que puede agregarle, como validar la entrada proporcionada y agregar música variada para el momento en que se reproduce la alarma. Probablemente lo haga más eficiente programando el script usando crontab en lugar de ejecutar un bucle while.

Artículos relacionados: