DIY: Como Criar Sua Porta Inteligente para Pet com Reconhecimento por IA

Projeto completo usando Raspberry Pi, câmera e inteligência artificial para criar uma porta automática que reconhece especificamente seu pet

Iniciante/Intermediário
Sofia Andrade

Sofia Andrade

Especialista em IA

Criar uma porta automática para seu pet usando inteligência artificial pode parecer complexo, mas com os recursos disponíveis hoje, qualquer pessoa com conhecimentos básicos pode construir um sistema funcional. Este projeto utiliza componentes acessíveis e plataformas de IA pré-prontas, eliminando a necessidade de programação avançada.

Visão Geral do Projeto

Nosso sistema será composto por:

  • Uma câmera que monitora a área da porta
  • Um computador pequeno (Raspberry Pi) que processa as imagens
  • IA para reconhecer seu pet especificamente
  • Um motor servo para abrir e fechar a porta
  • Aplicativo no celular para controle remoto

Custo estimado: R$ 600 a R$ 900

Tempo de construção: 4 a 6 horas (divididas em um fim de semana)

Nível de dificuldade: Iniciante/Intermediário

Materiais Necessários

Componentes Eletrônicos

  • Raspberry Pi 4 (ou modelo 3B+) - R$ 400-600
  • Câmera USB simples ou módulo de câmera para Raspberry Pi - R$ 80-150
  • Servo motor SG90 (pequeno e potente) - R$ 25-35
  • Cartão microSD 32GB - R$ 30-40
  • Fonte 5V para Raspberry Pi - R$ 35-50
  • Jumpers e protoboard - R$ 15-25
  • Case para Raspberry Pi (opcional) - R$ 20-30

Materiais de Construção

  • Portinhola básica de pet (de pet shop) - R$ 60-120
  • Suporte de madeira ou PVC para fixação - R$ 20-30
  • Parafusos e dobradiças pequenas - R$ 10-15
  • Fita dupla face resistente - R$ 5-10

Software e Plataformas (Gratuitos)

  • Raspberry Pi OS (sistema operacional)
  • Teachable Machine (Google) - para treinar a IA
  • Python e bibliotecas básicas
  • Telegram Bot (opcional) - para notificações no celular

Passo 1: Preparando a Inteligência Artificial

Criando o Reconhecimento do Seu Pet

A parte mais fascinante do projeto é ensinar a IA a reconhecer especificamente seu pet. Usaremos o Teachable Machine do Google, uma ferramenta gratuita que não requer programação.

Coletando Fotos:

  • Acesse teachablemachine.withgoogle.com
  • Escolha "Image Project" → "Standard image model"
  • Crie duas classes: "Meu Pet" e "Não é Meu Pet"
  • Para "Meu Pet": tire 30-50 fotos do seu animal em diferentes ângulos, posições e iluminações
  • Para "Não é Meu Pet": adicione fotos de outros animais, pessoas, objetos que podem aparecer na porta

Treinando o Modelo:

  • Clique em "Train Model"
  • Aguarde alguns minutos (o Google processará gratuitamente)
  • Teste o modelo com fotos novas do seu pet
  • Se a precisão estiver baixa (menos de 85%), adicione mais fotos e retreine

Exportando o Modelo:

  • Clique em "Export Model"
  • Escolha "TensorFlow" → "TensorFlow Lite"
  • Baixe o arquivo .tflite (será usado no Raspberry Pi)

Passo 2: Montando o Hardware

Preparando o Raspberry Pi

Instalação do Sistema:

  • Baixe o Raspberry Pi Imager
  • Grave o Raspberry Pi OS no cartão microSD
  • Conecte teclado, mouse e monitor ao Pi
  • Ligue e complete a configuração inicial

Instalando Dependências:

Ver código completo
sudo apt update
sudo apt install python3-opencv python3-tensorflow
pip3 install tflite-runtime gpiozero

Conectando os Componentes

Conexões Simples (sem solda):

  • Câmera USB: conecte em qualquer porta USB do Pi
  • Servo motor:
  • Fio vermelho → Pino 5V do Pi
  • Fio marrom/preto → Pino GND
  • Fio laranja → Pino GPIO 18

Montagem Física da Porta

Modificando a Portinhola:

  • Remova o mecanismo de fechamento original
  • Fixe uma pequena haste no lado da porta que se conectará ao servo
  • Posicione o servo de forma que possa empurrar/puxar esta haste

Instalação da Câmera:

  • Posicione a câmera com visão clara da área onde o pet se aproxima
  • Altura ideal: na mesma altura do pet (30-50cm do chão)
  • Proteja a câmera das intempéries com um pequeno abrigo

Passo 3: Programação Simplificada

Código Principal (Python)

Crie um arquivo chamado porta_pet_ia.py:

Ver código completo
import cv2
import time
from gpiozero import Servo
import tflite_runtime.interpreter as tflite
import numpy as np

# Configurações
servo = Servo(18)  # GPIO 18
camera = cv2.VideoCapture(0)
interpreter = tflite.Interpreter(model_path='seu_modelo.tflite')
interpreter.allocate_tensors()

def reconhecer_pet(frame):
    """Analisa a imagem usando nosso modelo de IA"""
    # Redimensiona a imagem para o tamanho esperado pela IA
    input_details = interpreter.get_input_details()
    input_shape = input_details[0]['shape']
    frame_resized = cv2.resize(frame, (224, 224))
    
    # Prepara os dados
    input_data = np.expand_dims(frame_resized, axis=0).astype(np.float32) / 255.0
    
    # Faz a predição
    interpreter.set_tensor(input_details[0]['index'], input_data)
    interpreter.invoke()
    
    # Obtém o resultado
    output_details = interpreter.get_output_details()
    output_data = interpreter.get_tensor(output_details[0]['index'])
    
    # Retorna True se é nosso pet (classe 0) com confiança > 80%
    return output_data[0][0] > 0.8

def abrir_porta():
    """Abre a porta movendo o servo"""
    print("Abrindo porta para o pet!")
    servo.max()  # Move para posição de aberto
    time.sleep(3)  # Mantém aberta por 3 segundos
    servo.min()   # Fecha a porta
    print("Porta fechada")

# Loop principal
print("Sistema iniciado! Monitorando...")
ultima_abertura = 0

while True:
    ret, frame = camera.read()
    if not ret:
        continue
    
    # Verifica se é nosso pet
    if reconhecer_pet(frame):
        tempo_atual = time.time()
        # Evita abrir muito frequentemente
        if tempo_atual - ultima_abertura > 10:  # 10 segundos entre aberturas
            abrir_porta()
            ultima_abertura = tempo_atual
    
    # Pequena pausa para não sobrecarregar o processador
    time.sleep(1)

Passo 4: Adicionando Recursos Inteligentes

Notificações no Celular via Telegram

Criando um Bot no Telegram:

  • Converse com @BotFather no Telegram
  • Digite /newbot e siga as instruções
  • Anote o token do bot

Código para Notificações:

Ver código completo
import requests

def enviar_notificacao(mensagem):
    """Envia notificação via Telegram"""
    token = "SEU_TOKEN_DO_BOT"
    chat_id = "SEU_CHAT_ID"
    url = f"https://api.telegram.org/bot{token}/sendMessage"
    
    data = {
        'chat_id': chat_id,
        'text': mensagem
    }
    
    requests.post(url, data=data)

# Adicione no código principal, após abrir a porta:
enviar_notificacao(f"🐕 Pet detectado e porta aberta às {time.strftime('%H:%M')}")

Histórico de Atividades

Ver código completo
import datetime
import json

def registrar_atividade(tipo):
    """Salva histórico das atividades"""
    registro = {
        'timestamp': datetime.datetime.now().isoformat(),
        'tipo': tipo,
        'pet': 'detectado'
    }
    
    try:
        with open('historico.json', 'r') as f:
            historico = json.load(f)
    except FileNotFoundError:
        historico = []
    
    historico.append(registro)
    
    with open('historico.json', 'w') as f:
        json.dump(historico, f, indent=2)

# Use após detectar o pet:
registrar_atividade('porta_aberta')

Passo 5: Instalação e Testes

Configuração Inicial

Posicionamento:

  • Instale o conjunto câmera + Raspberry Pi próximo à porta
  • Certifique-se de que a câmera tem boa iluminação durante o dia
  • Teste o alcance do WiFi nessa posição

Calibração do Servo:

  • Ajuste as posições máxima e mínima do servo
  • Verifique se a porta abre completamente
  • Confirme que fecha adequadamente

Testes de Funcionamento

Fase 1 - Teste da IA:

  • Coloque seu pet na frente da câmera
  • Verifique se o sistema reconhece corretamente
  • Teste com outros animais ou pessoas (não deve ativar)

Fase 2 - Teste Mecânico:

  • Execute o movimento da porta manualmente no código
  • Verifique se não há travamentos
  • Ajuste a força do servo se necessário

Fase 3 - Teste Integrado:

  • Execute o sistema completo
  • Monitore por algumas horas
  • Ajuste a sensibilidade conforme necessário

Melhorias e Personalizações

Energia e Autonomia

Para uso externo, considere:

  • Painel solar pequeno (10W) + bateria
  • Case à prova d'água para proteger os componentes
  • Modo de economia de energia que "dorme" quando não há movimento

Recursos Avançados Simples

Horários de Funcionamento:

Ver código completo
import datetime

def horario_permitido():
    """Verifica se está no horário de funcionamento"""
    hora_atual = datetime.datetime.now().hour
    return 6 <= hora_atual <= 22  # Funciona das 6h às 22h

# No loop principal, antes de abrir a porta:
if reconhecer_pet(frame) and horario_permitido():
    # ... resto do código

Múltiplos Pets:

  • Treine o modelo com fotos de todos os seus pets
  • Crie classes separadas: "Pet1", "Pet2", "Não é pet"
  • Personalize mensagens e horários para cada animal

Solução de Problemas Comuns

IA Não Reconhece o Pet

  • Adicione mais fotos em diferentes condições de luz
  • Retreine o modelo com maior diversidade de imagens
  • Verifique a iluminação da câmera

Porta Não Abre Corretamente

  • Verifique as conexões do servo motor
  • Ajuste a posição mecânica do servo
  • Teste a alimentação - servo pode precisar de fonte externa

Sistema Lento

  • Use modelo TensorFlow Lite (mais rápido)
  • Diminua a resolução da câmera se necessário
  • Aumente o intervalo entre verificações

Considerações de Segurança

  • Sempre teste o sistema antes de deixar o pet sozinho
  • Mantenha backup da alimentação (bateria)
  • Proteja os fios contra mastigação
  • Monitore temperatura do Raspberry Pi em ambientes quentes

Conclusão

Este projeto DIY combina o fascínio da inteligência artificial com a praticidade do dia a dia, criando uma solução personalizada para seu pet. O sistema pode começar simples e evoluir com suas necessidades, adicionando recursos como múltiplos pets, controle remoto avançado ou integração com sistemas de segurança.

O mais importante é começar com o básico funcionando e ir melhorando gradualmente. Cada pet e casa têm necessidades específicas, então sinta-se livre para adaptar o projeto às suas circunstâncias.

A satisfação de ver seu pet usando uma porta que você mesmo construiu e "ensinou" a reconhecê-lo é incomparável. Além disso, você terá aprendido conceitos fundamentais de IA, automação e Internet das Coisas de forma prática e divertida.

Próximos passos sugeridos:

  • Documente seu processo com fotos
  • Compartilhe melhorias com a comunidade maker
  • Considere adicionar sensores de temperatura e umidade
  • Explore integração com assistentes de voz como Alexa

Lembre-se: a jornada de aprendizado é tão valiosa quanto o resultado final!

Série Completa: Automação Inteligente para Pets

Esta porta inteligente faz parte de uma série completa de projetos para criar um ecossistema inteligente para seu pet. Confira os outros projetos:

🍽️ Comedouro Inteligente com IA

Sistema que reconhece cada gato e controla a alimentação individual. Ideal para múltiplos pets ou dietas especiais.

  • • Reconhecimento facial por IA
  • • Controle de porções personalizadas
  • • Monitoramento nutricional
  • • R$ 300-500 | 4-6 horas
Ver Projeto Completo →

💧 Bebedouro Automático Inteligente

Sistema completo que mantém seu pet sempre hidratado com água fresca, monitoramento remoto e reabastecimento automático.

  • • Reabastecimento automático
  • • Monitoramento via app
  • • Controle de consumo
  • • R$ 400-700 | 8-12 horas
Ver Projeto Completo →

🚀 Progressão Recomendada

Começou pela porta? Excelente! Agora que domina IA para pets, os próximos projetos serão mais fáceis. O comedouro usa conceitos similares de reconhecimento, enquanto o bebedouro adiciona automação de hardware. Crie o ecossistema completo!