Índice:

Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi: 19 etapas (com fotos)
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi: 19 etapas (com fotos)

Vídeo: Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi: 19 etapas (com fotos)

Vídeo: Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi: 19 etapas (com fotos)
Vídeo: Android Based Double Authentication Security System 2024, Julho
Anonim
Image
Image
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi

Recentemente, durante as férias, percebemos a falta de conexão com nosso bichinho Beagle. Após algumas pesquisas, encontramos produtos que apresentavam uma câmera estática que permitia monitorar e se comunicar com seu animal de estimação. Esses sistemas tinham certos benefícios, mas careciam de versatilidade. Por exemplo, cada cômodo exigia uma unidade para rastrear seu animal de estimação pela casa.

Por isso, desenvolvemos um robô robusto que pode manobrar pela casa e monitorar seu animal de estimação usando o poder da internet das coisas. Um aplicativo de smartphone foi projetado para interagir com seu animal de estimação por meio de um feed de vídeo ao vivo. O chassi do robô é fabricado digitalmente, já que várias peças foram criadas usando impressão 3D e corte a laser. Finalmente, decidimos adicionar um recurso de bônus que distribui guloseimas para recompensar seu animal de estimação.

Em seguida, crie seu próprio sistema de monitoramento de animais de estimação e talvez até mesmo personalize-o de acordo com suas necessidades. Confira o vídeo no link acima para ver como nosso animal de estimação reagiu e para obter uma melhor compreensão do robô. Deixe de votar no "Concurso de Robótica" se você gostou do projeto.

Etapa 1: Visão geral do design

Visão geral do design
Visão geral do design
Visão geral do design
Visão geral do design

Para conceituar o robô de monitoramento de animais de estimação, primeiro o projetamos no fusion 360. Aqui estão alguns de seus recursos:

O robô pode ser controlado por meio de um aplicativo na internet. Isso permite que o usuário se conecte ao robô de qualquer lugar

Uma câmera interna que transmite ao vivo um feed de vídeo para o smartphone pode ajudar o usuário a se movimentar pela casa e interagir com o animal de estimação

Uma tigela de guloseima complementar que pode recompensar seu animal de estimação remotamente

Peças fabricadas digitalmente que permitem customizar seu robô

Um Raspberry Pi foi usado para se conectar à internet, pois possui um modo wi-fi integrado

Um Arduino foi usado junto com um escudo CNC para dar comandos aos motores de passo

Etapa 2: Materiais necessários

Materiais necessários
Materiais necessários
Materiais necessários
Materiais necessários

Aqui está a lista de todos os componentes necessários para fazer seu próprio robô de monitoramento de animais de estimação com Arduino e Raspberry Pi. Todas as peças devem estar comumente disponíveis e fáceis de encontrar.

ELETRÔNICOS:

  • Arduino Uno x 1
  • Raspberry Pi (brilhou com a última framboesa) x 1
  • Escudo CNC x 1
  • Driver do motor de passo A4988 x 2
  • Picamera x 1
  • Sensor de distância ultrassônico x 1
  • Bateria Lipo 11.1v x 1
  • Motor de passo NEMA 17 x 2
  • 5v UBEC x 1

HARDWARE:

  • Rodas x 2 (as rodas que usamos tinham 7 cm de diâmetro)
  • Rodas giratórias x 2
  • Porcas e parafusos M4 e M3

O custo total deste projeto excluindo o Arduino e o Raspberry Pi é de cerca de 50 $.

Etapa 3: peças fabricadas digitalmente

Peças fabricadas digitalmente
Peças fabricadas digitalmente
Peças fabricadas digitalmente
Peças fabricadas digitalmente

Algumas das peças que usamos neste projeto tiveram que ser personalizadas. Estes foram modelados primeiro no Fusion 360 e, em seguida, foram feitos usando uma impressora 3D e um cortador a laser. As peças impressas em 3D não suportam muita carga, então o PLA padrão com um preenchimento de 20% funciona muito bem. Abaixo está uma lista de todas as peças impressas em 3D e cortadas a laser:

Peças impressas em 3D:

  • Suporte deslizante x 2
  • Vision System Mount x 1
  • Standoff de eletrônicos x 4
  • Espaçador vertical x 4
  • Reforço do chassi x 2
  • Tratar a tampa da tigela x 1
  • Tratar tigela x 1
  • Montagem de Stepper Traseira x 1
  • Disco de enrolamento x 1

Peças Lasercut:

  • Painel inferior x 1
  • Painel Superior x 1

Uma pasta compactada contendo todos os STLs e arquivos de corte a laser pode ser encontrada em anexo abaixo.

Etapa 4: conectando o motor de passo

Anexando o motor de passo
Anexando o motor de passo
Anexando o motor de passo
Anexando o motor de passo
Anexando o motor de passo
Anexando o motor de passo

Depois que todas as peças forem impressas em 3D, comece a montagem montando o motor de passo no suporte de passo. O suporte do motor de passo que projetamos é destinado ao modelo NEMA 17 (se usarmos diferentes passos, será necessária uma montagem diferente). Passe o eixo do motor através do orifício e fixe o motor no lugar com os parafusos de montagem. Uma vez feito isso, os dois motores devem ser presos com segurança aos suportes.

Etapa 5: Montagem dos Steppers no Painel Inferior

Montagem dos Steppers no Painel Inferior
Montagem dos Steppers no Painel Inferior
Montagem dos Steppers no Painel Inferior
Montagem dos Steppers no Painel Inferior
Montagem dos Steppers no Painel Inferior
Montagem dos Steppers no Painel Inferior

Para montar os suportes no painel inferior cortado a laser, usamos parafusos M4. Antes de prendê-los com as porcas, adicione as tiras de reforço do chassi impressas em 3D e, em seguida, aperte as porcas. As tiras são usadas para distribuir uniformemente a carga no painel de acrílico.

Por fim, passe os fios pelas respectivas ranhuras fornecidas no painel. Certifique-se de puxá-los totalmente para evitar que fiquem presos nas rodas.

Etapa 6: encaixando as rodas

Ajustando as rodas
Ajustando as rodas
Ajustando as rodas
Ajustando as rodas
Ajustando as rodas
Ajustando as rodas

O painel de acrílico tem duas seções recortadas para encaixar nas rodas. As rodas que usamos tinham 7 cm de diâmetro e vinham com parafusos de fixação que se prendiam aos eixos de passo de 5 mm. Certifique-se de que a roda está presa corretamente e não escorregando no eixo.

Etapa 7: Rodas giratórias dianteiras e traseiras

Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras
Rodas giratórias dianteiras e traseiras

Para permitir que o chassi se mova suavemente, decidimos colocar rodas de rodízio na frente e atrás do robô. Isso não apenas evita que o robô tombe, mas também permite que o chassi gire livremente em qualquer direção. Os rodízios vêm em todos os tamanhos, o nosso em particular veio com um único parafuso giratório que montamos na base e usamos espaçadores impressos em 3D para ajustar a altura para que o robô ficasse perfeitamente horizontal. Com isso a base do chassi fica completa e tem uma boa estabilidade.

Etapa 8: Eletrônica

Eletrônicos
Eletrônicos
Eletrônicos
Eletrônicos
Eletrônicos
Eletrônicos

Depois que a base do chassi estiver totalmente montada, é hora de montar os componentes eletrônicos no painel de acrílico. Fizemos orifícios no painel de acrílico que se alinham aos orifícios de montagem do Arduino e do Raspberry Pi. Usando suportes impressos em 3D, elevamos os componentes eletrônicos um pouco acima dos painéis de acrílico para que todo o excesso de fiação possa ser colocado de forma organizada embaixo. Monte o Arduino e o Raspberry Pi em seus locais de montagem correspondentes usando porcas e parafusos M3. Assim que o Arduino estiver fixo, conecte a blindagem do CNC ao Arduino e conecte os fios de passo na configuração a seguir.

  • Passo esquerdo para porta do eixo X da blindagem do CNC
  • Passo direito para porta do eixo Y da blindagem do CNC

Com os motores de passo acoplados, conecte o Arduino ao Raspberry Pi usando o cabo USB do Arduino. Eventualmente, o Raspberry Pi e o Arduino se comunicarão por meio desse cabo.

Nota: A frente do robô é o lado com o Raspberry Pi

Etapa 9: Sistema de Visão

Sistema de visão
Sistema de visão
Sistema de visão
Sistema de visão
Sistema de visão
Sistema de visão

A principal entrada do ambiente para o nosso robô de monitoramento de animais de estimação é a visão. Decidimos usar o Picamera que é compatível com o Raspberry Pi para alimentar uma transmissão ao vivo para o usuário pela internet. Também utilizamos um sensor ultrassônico de distância para evitar obstáculos quando o robô está funcionando de forma autônoma. Ambos os sensores são fixados em um suporte com a ajuda de parafusos.

A Picamera se encaixa em sua porta designada no Raspberry Pi e conecta o sensor ultrassônico da seguinte maneira:

  • Sensor ultrassônico VCC para trilho 5v na blindagem CNC
  • Sensor ultrassônico GND para trilho GND na blindagem CNC
  • Sensor ultrassônico TRIG para pino de parada final X + na blindagem do CNC
  • Sensor ultrassônico ECHO para pino de parada final em Y + na blindagem do CNC

Etapa 10: Montagem do painel superior

Montagem do painel superior
Montagem do painel superior
Montagem do painel superior
Montagem do painel superior
Montagem do painel superior
Montagem do painel superior

Na parte traseira do robô está montado o sistema de abertura da tampa da tigela de guloseimas. Prenda o mini motor de passo ao componente do suporte traseiro e monte o sistema de visão e o sistema de enrolamento com parafusos M3 no painel superior. Conforme mencionado, certifique-se de montar o sistema de visão na frente e o sistema de enrolamento atrás com os dois orifícios fornecidos.

Etapa 11: Montagem do painel superior

Montagem do painel superior
Montagem do painel superior
Montagem do painel superior
Montagem do painel superior
Montagem do painel superior
Montagem do painel superior

Imprimimos espaçadores verticais em 3D para apoiar o painel superior na altura certa. Comece anexando os quatro espaçadores ao painel inferior para formar um "X". Em seguida, coloque o painel superior com a tigela de tratamento certificando-se de que seus orifícios estejam alinhados e, por fim, prenda-o também aos espaçadores.

Etapa 12: Mecanismo de abertura da tampa

Mecanismo de abertura de tampa
Mecanismo de abertura de tampa
Mecanismo de abertura de tampa
Mecanismo de abertura de tampa
Mecanismo de abertura de tampa
Mecanismo de abertura de tampa

Para controlar a tampa da tigela de guloseimas, usamos um motor de passo menor para enrolar um fio de náilon preso à tampa, abrindo-a. Antes de prender a tampa, passe o cordão pelo orifício de 2 mm da tampa e dê um nó no lado interior. Em seguida, corte a outra ponta do barbante e deslize-o pelos orifícios fornecidos no disco de enrolamento. Empurre o disco no stepper e puxe a corda até que esteja esticada. Feito isso, corte o excesso e dê um nó. Finalmente, usando um parafuso e uma porca, coloque a tampa na tigela e certifique-se de que ela gira. Agora, à medida que o stepper gira, a corda deve enrolar no disco e a tampa deve abrir gradualmente.

Etapa 13: Configurando o banco de dados em nuvem

Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem
Configurando o banco de dados em nuvem

A primeira etapa é criar um banco de dados para o sistema para que você possa se comunicar com o robô de seu aplicativo móvel de qualquer lugar do mundo. Clique no link a seguir (Google firebase), que o levará ao site do Firebase (você terá que fazer login com sua conta do Google). Clique no botão "Começar", que o levará ao console do firebase. Em seguida, crie um novo projeto clicando no botão "Adicionar Projeto", preencha os requisitos (nome, detalhes, etc) e conclua clicando no botão "Criar Projeto".

Precisamos apenas das ferramentas de banco de dados do Firebase, então selecione "banco de dados" no menu à esquerda. Em seguida, clique no botão "Criar banco de dados", selecione a opção "modo de teste". Em seguida, defina o banco de dados para um "banco de dados em tempo real" em vez de "nuvem firestore" clicando no menu suspenso no topo. Selecione a aba "regras" e troque as duas "falsas" para "verdadeiras", por fim clique na aba "dados" e copie a URL do banco de dados, que será solicitado posteriormente.

A última coisa que você precisa fazer é clicar no ícone de engrenagem ao lado da visão geral do projeto, em "configurações do projeto", selecionar a guia "contas de serviço", por fim clicar em "Segredos do banco de dados" e anotar a segurança código de seu banco de dados. Com esta etapa concluída, você criou com sucesso seu banco de dados em nuvem que pode ser acessado de seu smartphone e do Raspberry Pi. (Use as fotos anexas acima em caso de dúvidas, ou apenas deixe uma pergunta na seção de comentários)

Etapa 14: Criação do aplicativo móvel

Criação do aplicativo móvel
Criação do aplicativo móvel
Criação do aplicativo móvel
Criação do aplicativo móvel
Criação do aplicativo móvel
Criação do aplicativo móvel
Criação do aplicativo móvel
Criação do aplicativo móvel

A próxima parte do sistema IoT é o aplicativo do smartphone. Decidimos usar o MIT App Inventor para fazer nosso próprio aplicativo personalizado. Para usar o aplicativo que criamos, primeiro abra o seguinte link (MIT App Inventor), que o levará à sua página web. Em seguida, clique em "criar aplicativos" no topo da tela e, em seguida, faça login com sua conta do Google.

Baixe o arquivo.aia que está vinculado abaixo. Abra a aba "projetos" e clique em "Importar projeto (.aia) do meu computador" em seguida selecione o arquivo que você acabou de baixar e clique em "ok". Na janela de componentes, role totalmente para baixo até ver "FirebaseDB1", clique nele e modifique "FirebaseToken", "FirebaseURL" para os valores que você anotou na etapa anterior. Depois que essas etapas forem concluídas, você está pronto para baixar e instalar o aplicativo. Você pode baixar o aplicativo diretamente para o seu telefone clicando na guia "Construir" e clicando em "Aplicativo (fornecer código QR para.apk)" e digitalizando o código QR com seu smartphone ou clicando em "Aplicativo (salvar.apk no meu computador) ", você fará o download do arquivo apk em seu computador, que poderá ser transferido para o smartphone.

Etapa 15: Programando o Raspberry Pi

Programando o Raspberry Pi
Programando o Raspberry Pi

O Raspberry Pi é usado por duas razões principais.

  1. Ele transmite um fluxo de vídeo ao vivo do robô para um servidor web. Este fluxo pode ser visualizado pelo usuário usando o aplicativo móvel.
  2. Ele lê os comandos atualizados no banco de dados firebase e instrui o Arduino a executar as tarefas necessárias.

Para configurar o Raspberry Pi para transmissão ao vivo, um tutorial detalhado já existe e pode ser encontrado aqui. As instruções se resumem a três comandos simples. Ligue o Raspberry Pi, abra o terminal e digite os seguintes comandos.

  • git clone
  • cd RPi_Cam_Web_Interface
  • ./install.sh

Quando a instalação estiver concluída, reinicie o Pi e você poderá acessar o stream pesquisando https:// o endereço IP do seu Pi em qualquer navegador da web.

Com a transmissão ao vivo configurada, você precisará baixar e instalar certas bibliotecas para poder usar o banco de dados em nuvem. Abra um terminal em seu Pi e digite os seguintes comandos:

  • solicitações de instalação do sudo pip == 1.1.0
  • sudo pip install python-firebase

Por fim, baixe o arquivo python anexado abaixo e salve-o em seu Raspberry Pi. Na quarta linha do código, mude a porta COM para a porta à qual o Arduino está conectado. Em seguida, altere o URL na linha 8 para o URL do firebase que você anotou anteriormente. Finalmente, execute o programa por meio do terminal. Este programa busca os comandos do banco de dados em nuvem e os retransmite para o Arduino por meio da conexão serial.

Etapa 16: Programando o Arduino

Programando o Arduino
Programando o Arduino
Programando o Arduino
Programando o Arduino

O Arduino é usado para interpretar os comandos do Pi e instrui os atuadores do robô a realizar as tarefas necessárias. Baixe o código do Arduino anexado abaixo e carregue-o no Arduino. Depois que o Arduino estiver programado, conecte-o a uma das portas USB do Pi usando o cabo USB dedicado.

Etapa 17: Ligar o sistema

Alimentando o Sistema
Alimentando o Sistema

O robô será alimentado por uma bateria lipo de 3 células. Os terminais da bateria precisam ser divididos em dois, onde um vai diretamente para a blindagem do CNC para alimentar os motores, enquanto o outro é conectado ao UBEC 5v, que criou uma linha de energia 5v constante que será usada para alimentar o Raspberry Pi os pinos GPIO. O 5v do UBEC é conectado ao pino 5v do Raspberry Pi e o GND do UBEC é conectado ao pino GND do Pi.

Etapa 18: usando o aplicativo

Usando o aplicativo
Usando o aplicativo
Usando o aplicativo
Usando o aplicativo
Usando o aplicativo
Usando o aplicativo

A interface do aplicativo permite controlar o robô de monitoramento, bem como transmitir uma transmissão ao vivo da câmera a bordo. Para se conectar ao seu robô, certifique-se de ter uma conexão de Internet estável e, em seguida, simplesmente digite o endereço IP do Raspberry Pi na caixa de texto fornecida e clique no botão atualizar. Uma vez feito isso, o feed ao vivo aparecerá em sua tela e você deverá ser capaz de controlar as várias funções do robô.

Etapa 19: pronto para testar

Pronto para testar
Pronto para testar
Pronto para testar
Pronto para testar

Agora que o seu robô de monitoramento de animais de estimação está totalmente montado, pode-se encher a tigela com algumas guloseimas para cães. Abra o aplicativo, conecte a câmera e divirta-se! No momento, estamos brincando com o rover e nosso Beagle e capturamos momentos muito hilários.

Uma vez que o cachorro superou o medo inicial desse objeto em movimento, ele estava perseguindo o robô pela casa em busca de guloseimas. A câmera interna oferece uma boa visão grande angular dos arredores, o que a torna bastante fácil de manobrar.

Há espaço para melhorias para que funcione melhor no mundo real. Dito isso, criamos um sistema robusto, para o qual se pode construir e expandir ainda mais. Se você gostou deste projeto, vote para nós no "Concurso de Robótica"

Happy Making!

Concurso de Robótica
Concurso de Robótica
Concurso de Robótica
Concurso de Robótica

Segundo Prêmio no Concurso de Robótica

Recomendado: