Como criar um sistema de lembretes com alarme em Python

Publicado em: 10/04/2026
Tempo de leitura: 10 minutos

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

    Projetos
    Foto do Leandro Hirt

    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
    Projetos
    Foto do Leandro Hirt

    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
    Projetos
    Foto do Leandro Hirt

    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
    Projetos
    Foto do Leandro Hirt

    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
    Projetos
    Foto do Leandro Hirt

    Como criar um conversor de moedas em Python passo a passo

    Criar um conversor de moedas em Python é um dos projetos mais gratificantes para quem está começando no mundo da

    Ler mais

    Tempo de leitura: 9 minutos
    31/03/2026
    Projetos
    Foto do Leandro Hirt

    Como criar um gerenciador de senhas simples com Python

    A segurança digital tornou-se uma prioridade no cotidiano de qualquer pessoa que navega na internet. Com dezenas de contas e

    Ler mais

    Tempo de leitura: 12 minutos
    01/03/2026