Como criar um sistema de lembretes com alarme em Python

Publicado em: 10/04/2026
Tempo de leitura: 10 minutos
Sistema de lembretes e alarmes desenvolvido com Python

Criar um sistema de lembretes com alarme em Python é um dos projetos mais gratificantes para quem está dando os primeiros passos na programação. Além de ser uma ferramenta extremamente útil para organizar a rotina, este projeto permite que você entenda fundamentos essenciais como manipulação de tempo, loops de controle e bibliotecas externas. Imagine nunca mais esquecer de beber água ou de uma reunião importante porque você mesmo construiu a solução tecnológica para esse problema. Neste guia, vamos explorar o passo a passo para desenvolver seu próprio despertador inteligente utilizando Python.

Por que aprender como criar um sistema de lembretes com alarme em Python?

Desenvolver pequenos utilitários é a melhor forma de fixar o conhecimento teórico. Quando você decide construir um sistema de lembretes, você deixa de apenas ler sobre sintaxe e passa a aplicar a lógica de programação com Python na prática. Este projeto aborda conceitos que são pilares no desenvolvimento de software, como a espera por eventos específicos e a interação com o sistema operacional para emitir sons ou notificações.

Além disso, o Python é a linguagem ideal para automações rápidas. Com poucas linhas de código, conseguimos integrar funcionalidades que em outras linguagens exigiriam centenas de linhas. Ao dominar este script, você ganha confiança para avançar em tópicos mais complexos, como o desenvolvimento de interfaces gráficas ou a integração com APIs.

Configurando o ambiente de desenvolvimento

Antes de começarmos a digitar o código, precisamos garantir que o seu computador tenha tudo o que é necessário. O primeiro passo, naturalmente, é ter o interpretador instalado. Se você ainda não tem, confira o guia de como instalar Python para preparar sua máquina corretamente.

Para este projeto, utilizaremos algumas bibliotecas nativas e uma externa para reproduzir o som do alarme. As bibliotecas nativas são time e datetime. Para o áudio, a biblioteca winsound (exclusiva para Windows) ou a playsound (multiplataforma) são as escolhas mais comuns. Recomendamos o uso do VS Code como editor, e você pode potencializar seu trabalho com as melhores extensões do VS Code Python.

Instalando dependências externas

Se você optar pela biblioteca playsound para que seu alarme funcione em Linux ou macOS, abra seu terminal e execute o comando abaixo:

Bash
pip install playsound==1.2.2

Dica de Especialista: A versão 1.2.2 da playsound é mais estável em diversos sistemas operacionais, evitando erros comuns de compatibilidade com caminhos de arquivos.

Como criar um sistema de lembretes com alarme em Python: Passo 1 – Capturando a entrada do usuário

O primeiro passo lógico do nosso roteiro é perguntar ao usuário em que momento o alarme deve tocar. Precisamos coletar a hora e o minuto de forma precisa. Para isso, usaremos a função input do Python. É fundamental validar se o usuário digitou números válidos para evitar que o programa trave.

Python
hora_alarme = input("Digite a hora do alarme (HH): ")
minuto_alarme = input("Digite o minuto do alarme (MM): ")
mensagem = input("Qual o nome deste lembrete? ")

print(f"Alarme configurado para {hora_alarme}:{minuto_alarme}. Lembrete: {mensagem}")

Nesta etapa, estamos apenas guardando as informações em variáveis em Python do tipo string. Mais adiante, precisaremos converter esses valores para inteiros para realizarmos as comparações de tempo necessárias.

Passo 2 – Gerenciando o Tempo com o Módulo Datetime

Para que o sistema saiba quando tocar, ele precisa consultar o relógio do sistema constantemente. O Python possui um módulo poderoso chamado datetime para lidar com datas e horas no Python. O segredo aqui é criar um loop que verifica a hora atual e compara com a hora definida pelo usuário.

Utilizaremos o método datetime.now() para capturar o instante exato. Veja como a lógica de comparação funciona dentro do código:

Python
import datetime
import time

while True:
    agora = datetime.datetime.now()
    if agora.hour == int(hora_alarme) and agora.minute == int(minuto_alarme):
        print("BEEP! BEEP! HORA DO LEMBRETE!")
        break
    time.sleep(10) # Verifica a cada 10 segundos para economizar processamento

Note que usamos time.sleep(10). Essa é uma prática recomendada para evitar que seu script consuma 100% da CPU ao rodar uma verificação milhares de vezes por segundo desnecessariamente. É uma forma simples de otimização.

Passo 3 – Adicionando o Alarme Sonoro

Um sistema de lembretes visual é bom, mas um alarme sonoro é muito mais eficiente. Se você estiver no Windows, pode usar a função interna do sistema para emitir um “bip” de frequência específica, mas o ideal é reproduzir um arquivo MP3 ou WAV agradável.

Aqui, integraremos a biblioteca que instalamos anteriormente. Certifique-se de ter um arquivo de áudio chamado “alarme.mp3” na mesma pasta do seu script para evitar o erro de FileNotFoundError no Python.

Python
from playsound import playsound

# Dentro da condição do alarme:
print(f"ATENÇÃO: {mensagem}")
playsound('alarme.mp3')

O áudio continuará tocando até o arquivo terminar. Se você deseja que o som se repita, precisará envolver a chamada da função em um novo loop, mas para um sistema simples de lembretes, uma execução costuma ser suficiente.

Passo 4 – Tratamento de Erros e Validação

Um bom programador sempre prevê o que pode dar errado. E se o usuário digitar “abc” em vez de uma hora? Ou se digitar “25” para a hora? Para tornar seu sistema de lembretes profissional, devemos usar blocos de controle para capturar falhas. O uso de try except em Python é obrigatório aqui.

Python
try:
    hora_alarme = int(input("Hora (0-23): "))
    minuto_alarme = int(input("Minuto (0-59): "))
    if not (0 <= hora_alarme <= 23 and 0 <= minuto_alarme <= 59):
        raise ValueError("Hora ou minuto inválido!")
except ValueError as e:
    print(f"Erro na configuração: {e}")
    exit()

Essa validação garante que o programa não tente processar dados impossíveis, o que causaria um erro durante a execução do loop principal.

Melhorando a experiência: Listas de Lembretes

Até agora, nosso sistema aceita apenas um alarme por vez. Mas e se quisermos vários lembretes ao longo do dia? Podemos evoluir o código utilizando listas em Python ou até mesmo dicionários no Python para armazenar múltiplos horários e suas respectivas descrições.

Dessa forma, o loop while percorreria a lista de despertadores a cada ciclo, verificando se algum deles atingiu o horário programado. Uma vez disparado, o lembrete pode ser removido da lista para não tocar novamente no próximo minuto.

Código Completo do Projeto

Abaixo, você encontra o código unificado que integra a captura de dados, validação, loop de verificação de tempo e o alerta sonoro. Este script é funcional e pode ser estendido conforme sua necessidade.

Python
import datetime
import time
from playsound import playsound
import sys

def configurar_alarme():
    print("--- SISTEMA DE LEMBRETES PYTHON ---")
    try:
        h = int(input("Digite a HORA desejada (0-23): "))
        m = int(input("Digite o MINUTO desejado (0-59): "))
        msg = input("Digite a mensagem do lembrete: ")
        
        if not (0 <= h <= 23 and 0 <= m <= 59):
            print("Horário inválido! Use números entre 0-23 para horas e 0-59 para minutos.")
            return None
            
        return {"hora": h, "minuto": m, "mensagem": msg}
    except ValueError:
        print("Entrada inválida! Digite apenas números para o horário.")
        return None

def iniciar_sistema():
    alarme = configurar_alarme()
    if not alarme:
        return

    print(f"\nAlarme ativado para as {alarme['hora']:02d}:{alarme['minuto']:02d}.")
    print("O programa continuará rodando em segundo plano...")

    while True:
        agora = datetime.datetime.now()
        
        if agora.hour == alarme['hora'] and agora.minute == alarme['minuto']:
            print(f"\n[ALERTA EMITIDO]: {alarme['mensagem']}")
            try:
                # Certifique-se de ter um arquivo 'alarme.mp3' no mesmo diretório
                playsound('alarme.mp3')
            except Exception as e:
                print(f"Não foi possível tocar o som: {e}")
                print("\a") # Emite um sinal sonoro padrão do sistema (beep)
            
            print("Lembrete concluído. Encerrando programa.")
            break
        
        # Dorme por 30 segundos para não sobrecarregar o processador
        time.sleep(30)

if __name__ == "__main__":
    iniciar_sistema()

Expandindo seu sistema de lembretes

Agora que você já sabe como criar um sistema de lembretes com alarme em Python, existem diversos caminhos para torná-lo ainda mais poderoso. Você pode, por exemplo, criar uma interface visual amigável utilizando técnicas de interfaces gráficas com Tkinter. Isso permitiria que usuários que não entendem de tecnologia pudessem usar sua ferramenta.

Outra ideia interessante é salvar os lembretes em um arquivo de texto ou banco de dados. Assim, mesmo que você feche o script e o abra novamente, os alarmes configurados não seriam perdidos. Para aprender sobre isso, veja como integrar Python com SQLite.

Para aprender mais detalhes técnicos sobre automação e manipulação de arquivos de áudio, consulte a documentação oficial da biblioteca Datetime e as referências da comunidade no PyPI. Para entender a estrutura de tempo mais a fundo no nível do sistema, o Cron do Linux é uma excelente referência teórica sobre agendamento de tarefas.

Perguntas Frequentes

O script precisa ficar aberto para o alarme tocar?

Sim, como é um script de terminal rodando em um loop while, o processo precisa estar ativo na memória para monitorar o relógio.

Posso usar o sistema para tocar mais de um alarme?

Nesta versão simplificada não, mas você pode modificar o código para usar uma lista de dicionários e iterar sobre ela dentro do loop principal.

O som não tocou, o que pode ser?

Geralmente é um problema de caminho do arquivo. Verifique se o arquivo de áudio está na mesma pasta que o arquivo .py e se o nome está escrito exatamente igual no código.

Como faço para o alarme tocar “para sempre” até eu parar?

Você deve colocar a função playsound dentro de um loop while True, mas precisará implementar uma forma de interrompê-lo, como uma entrada de teclado.

É possível usar esse alarme no celular?

Sim, você pode rodar scripts Python no Android e iOS usando aplicativos como o Pydroid ou Pythonista, mas a biblioteca playsound pode precisar ser substituída por APIs nativas desses apps.

Como converter este script em um programa executável?

Você pode usar bibliotecas como o PyInstaller para transformar seu código .py em um .exe para Windows ou .app para Mac.

O comando time.sleep(30) não vai fazer o alarme atrasar?

Como verificamos apenas hora e minuto, 30 segundos é um intervalo seguro. O alarme tocará dentro do minuto correto. Se você precisasse de precisão de segundos, o sleep deveria ser de 1 segundo.

Existe uma forma de silenciar o alarme via código?

Para controlar o volume ou parar o áudio antes do fim do arquivo, bibliotecas mais robustas como pygame.mixer são recomendadas no lugar da playsound.

Aprender a automatizar sua própria rotina é o primeiro passo para se tornar um desenvolvedor de destaque. Continue praticando, modificando esse código e testando novas funcionalidades para aprimorar suas habilidades em Python!

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Landing page simples criada com Python e Tailwind CSS
    Projetos
    Foto de perfil de Leandro Hirt da Academify

    Como criar uma landing page simples com Python e Tailwind CSS

    Você já sentiu a necessidade de colocar uma ideia no ar rapidamente, mas se viu travado na complexidade do desenvolvimento

    Ler mais

    Tempo de leitura: 11 minutos
    19/04/2026
    Sistema de tradução automática desenvolvido com Python
    Projetos
    Foto de perfil de Leandro Hirt da Academify

    Como criar um sistema de tradução automática com Python

    Criar um sistema de tradução automática com Python é uma das formas mais fascinantes de entrar no mundo da Inteligência

    Ler mais

    Tempo de leitura: 10 minutos
    17/04/2026
    Extração de dados de tabelas de sites usando Python e pandas
    Projetos
    Foto de perfil de Leandro Hirt da Academify

    Como extrair dados de tabelas em sites com Python e Pandas

    Você já se deparou com um site repleto de informações úteis organizadas em tabelas, mas sentiu que copiar e colar

    Ler mais

    Tempo de leitura: 10 minutos
    09/04/2026
    Conversão de áudio para texto usando Python gratuitamente
    Projetos
    Foto de perfil de Leandro Hirt da Academify

    Como converter áudio em texto com Python de forma gratuita

    Transformar arquivos de áudio em texto é uma das tarefas mais úteis e requisitadas na era da inteligência artificial e

    Ler mais

    Tempo de leitura: 10 minutos
    08/04/2026
    Sistema de login simples desenvolvido com Python
    Projetos
    Foto de perfil de Leandro Hirt da Academify

    Como criar um sistema de login simples com Python e TXT

    Aprender a manipular informações externas é um dos grandes marcos na jornada de qualquer programador. Se você está dando seus

    Ler mais

    Tempo de leitura: 10 minutos
    07/04/2026
    Calendário mensal gerado automaticamente com Python
    Projetos
    Foto de perfil de Leandro Hirt da Academify

    Como gerar calendário mensal em Python em 2 minutos

    Você sabia que criar um calendário completo e formatado pode ser feito em pouquíssimas linhas de código? Muitas vezes, ao

    Ler mais

    Tempo de leitura: 9 minutos
    03/04/2026