50
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO Felipe Alves Leal SMART PET FEEDER ALIMENTADOR REMOTO PARA CÃES E GATOS Orientador: Prof. Dr. Alessandro Brawerman Co-Orientadora: Profa. Dra. Andreia De Paula Vieira Curitiba, 2015

UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E ... · o fornecimento de alimentação balanceada e controle remoto, possibilitando aos proprietários de cães e gatos agendar

  • Upload
    lenhi

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

Felipe Alves Leal

SMART PET FEEDER – ALIMENTADOR REMOTO PARA CÃES E GATOS

Orientador: Prof. Dr. Alessandro Brawerman

Co-Orientadora: Profa. Dra. Andreia De Paula Vieira

Curitiba, 2015

RESUMO

A vida contemporânea é movimentada e muitas vezes cães e gatos são deixados

sozinhos em casa enquanto os donos estão no trabalho. O Smart Pet Feeder permite

o fornecimento de alimentação balanceada e controle remoto, possibilitando aos

proprietários de cães e gatos agendar e/ou controlar as refeições dos seus animais,

reduzindo custos de locomoção do trabalho para casa e liberando porções controladas

de alimentos. Além da relevância para a alimentação dos animais, o Smart Pet Feeder

também permite aplicar e desenvolver tecnologias para a indústria animal, como a

Internet das Coisas (IoT) na alimentação de animais de companhia. Neste contexto, o

objetivo deste trabalho de conclusão de curso é desenvolver um alimentador para

cães e gatos, que seja operacional, monitorável e programável remotamente,

possibilitando o controle da alimentação do animal de acordo com horários pré-

determinados, por longos períodos. A maioria dos alimentadores automáticos para

cães e gatos disponíveis no mercado mundial funcionam ou por um sistema de

gravidade simples ou utilizam temporizadores. Neste sentido, o Smart Pet Feeder é

inovador, pois fornece controle no volume de alimento fornecido, servindo porções

balanceadas e reduzindo as perdas de alimentos. Este alimentador possibilita o

manejo meticuloso da alimentação de cães e gatos remotamente.

Palavras-chave: Internet das Coisas, smartphone, sistemas embarcados, alimentador

para animais, bem-estar animal.

ABSTRACT

Contemporary life is busy and often cats and dogs are left alone at home while the

owners are at work. The Smart Pet Feeder allows for the delivery of a balanced

nutrition and remote control, enabling owners of dogs and cats to schedule and/or

control the meals of the animals, reducing mobility costs from work to home and

releasing controlled food portions. Besides the relevance to animal feeding, the Smart

Pet Feeder also allows the application and development of technologies for the animal

industry, such as the Internet of Things (IoT) in feeding companion animals. In this

context, the aim of this undergraduate thesis is to develop a feeder for dogs and cats,

which is operational, and allows for remote monitoring and programming, being

controlled according to predetermined times, for long periods. Most automatic feeders

for dogs and cats available in the global market work either by a simple gravity system

or use timers. In this sense, the Smart Pet Feeder is innovative because it provides

control of the volume of food provided, serves balanced portions and reduces food

losses. This feeder allows for the meticulous feeding management of dogs and cats

remotely.

Keywords: Internet of Things, smartphone, embedded systems, pet feeder, animal

welfare.

SUMÁRIO

1. INTRODUÇÃO ........................................................................................................ 6

1.1. OBJETIVO GERAL .............................................................................................. 7

1.2. OBJETIVO ESPECÍFICOS ................................................................................... 7

2. FUNDAMENTAÇÃO TEÓRICA ............................................................................... 8

2.1. ALIMENTAÇÃO E BEM-ESTAR DE CÃES E GATOS ......................................... 8

2.2. TRABALHOS RELACIONADOS ........................................................................ 10

3. ESPECIFICAÇÕES TÉCNICAS ............................................................................ 11

3.1. ANÁLISE DE REQUISITOS ............................................................................... 13

3.2. RESTRIÇÕES .................................................................................................... 13

3.3. DESCRIÇÃO DAS PARTES COMPONENTES E INTERFACEAMENTO ENTRE

SISTEMAS ................................................................................................................ 14

4. DESENVOLVIMENTO .......................................................................................... 16

4.1. HARDWARE ...................................................................................................... 16

4.1.1. SMARTPHONE COM SISTEMA OPERACIONAL APPLE IOS ....................... 17

4.1.2. SENSORES INFRAVERMELHO ..................................................................... 17

4.1.3. MOTOR DE PASSO ........................................................................................ 18

4.1.4. BALANÇA ........................................................................................................ 19

4.1.5. ADS1115 ......................................................................................................... 21

4.1.6. RASPBERRY PI B ( REV 1 ) ........................................................................... 22

4.2. SOFTWARE ....................................................................................................... 23

4.2.1. AMBIENTE DE DESENVOLVIMENTO ........................................................... 23

4.2.2. DIAGRAMA DE CASOS DE USO ................................................................... 23

4.2.2.1. DESCRIÇÃO DOS CASOS DE USO ........................................................... 24

4.2.3. DIAGRAMA DE CLASSES .............................................................................. 27

4.2.3.1. DIAGRAMA DE CLASSES DO APLICATIVO CLIENTE NO IPHONE ......... 28

4.2.4. DIAGRAMA DE SEQUÊNCIA ......................................................................... 29

4.2.4.1 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO ACIONAMENTO .................... 30

4.2.4.2 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO RELATÓRIO .......................... 31

4.2.4.3 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO RECIPIENTE ......................... 32

4.2.4.4 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO RESERVATÓRIO .................. 33

4.2.4.5 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO AGENDAMENTO ................... 34

4.2.5. PROTOTIPAÇÃO DE TELAS .......................................................................... 35

4.2.5.1 TELA DO RELATÓRIO ................................................................................. 35

4.2.5.2 TELA DO ACIONAMENTO IMEDIATO ......................................................... 36

4.2.5.3 TELA DE VISUALIZAÇÃO DO RESERVATÓRIO ......................................... 37

4.2.5.4 TELA DE VISUALIZAÇÃO DO RECIPIENTE ................................................ 38

4.2.5.5 TELA DE VISUALIZAÇÃO DO AGENDAMENTOS ....................................... 39

4.2.5.6 TELA PARA ADICIONAR HORARIO ............................................................ 40

4.2.5.7 TELA PARA ESCOLHA DO DIAS DA SEMANA ........................................... 41

4.3. COMUNICAÇÃO ................................................................................................ 42

5. TESTES E RESULTADOS .................................................................................... 43

5.1. PRECISÃO DA BALANÇA ................................................................................. 43

5.2. PRECISÃO DO SENSOR DO RESERVATÓRIO ............................................... 44

5.3. TESTE DE DESEMPENHO DE COMANDOS VARIADOS ................................ 45

5.4. TESTE DE ASSERTIVIDADE DE COMANDOS VARIADOS ............................. 46

6. CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS ...................................... 48

7 BIBLIOGRAFIA ...................................................................................................... 49

6

1. INTRODUÇÃO

Segundo a Associação Brasileira de Indústria de Produtos para Animais de

Estimação (ABINPET), o número de animais de companhia tem aumentado em todo

mundo. Nos lares dos brasileiros, por exemplo, existe um número superior a 30

milhões de animais (ABINPET, 2013). No passado, os animais auxiliavam os humanos

na caça, segurança ou serviam como fonte de alimentação, e atualmente eles são

fonte de companhia e afeto. Hoje é possível encontrarmos nas prateleiras dos pet

shops presentes especiais, novidades para enriquecer a vida dos animais, alimentos

diferenciados, objetos e equipamentos que podem ou não promover o bem-estar dos

animais de estimação.

A rotina agitada e frenética da vida moderna acaba intercalando as horas de

afeto e cuidado com viagens, compromissos de trabalho e poucas pausas. Neste

contexto é importante levantar potenciais problemas de manejo, comportamento e

saúde que possam comprometer a o bem-estar dos animais.

Pensando nesta necessidade do mercado, este trabalho apresenta um

alimentador automatizado para cães e gatos, com o intuito de prevenir possíveis

negligências com relação ao fornecimento de uma alimentação balanceada aos

animais e ao mesmo tempo conciliar os compromissos da vida moderna.

Este alimentador permite agendamento dos horários de alimentação,

monitoramento dos níveis de consumo dos alimentos e ajuste automático da

programação de acordo com a preferência do animal ou recomendação do veterinário,

além de ser possível controlá-lo, via um aplicativo iOS, através da Internet.

7

1.1. OBJETIVO GERAL

O objetivo geral deste trabalho é o desenvolvimento de um alimentador para

cães e gatos, controlado remotamente, através da Internet, por meio de um

smartphone.

1.2. OBJETIVO ESPECÍFICOS

Para atingir o objetivo principal deste trabalho de conclusão de curso, vários

pequenos passos foram elaborados, formando os objetivos específicos deste trabalho

onde foi desenvolvido 1) um aplicativo para o sistema operacional iOS, na linguagem

Swift 2, no ambiente de desenvolvimento integrado Xcode e 2) um protótipo de

alimentador automático para cães e gatos controlado e monitorado remotamente e

que realiza as seguintes tarefas:

a) Obtenção de conhecimentos necessários sobre bem-estar animal, bem

como sobre a linguagem Swift 2 para iOS e na IDE Xcode;

b) Levantamento bibliográfico de trabalhos relacionados, sejam eles

acadêmicos ou comerciais;

c) Desenvolvimento de um aplicativo iOS para controle e monitoramento

remoto pelo iPhone, possibilitando visualização do estado do

reservatório, recipiente e motor, emissão de relatório sobre o consumo

e despejo da ração, acionamento do motor imediato e/ou agendamento

de horário.

d) Criação do servidor com o sistema operacional Windows Server 2012

R2, instalação do Apache Web Server (http://www.apache.org),

instalação do php (http://www.php.net) para o desenvolvimento em Slim

Framework (http://www.slimframework.com/) do webservice e

modelagem de um banco de dados em MySQL (http://www.mysql.com).

e) Construção de um protótipo de estrutura do reservatório, possibilitando

adição dos sensores infravermelho, da balança (cédula de carga) e do

motor de passo com fuso sem fim;

f) Desenvolvimento de um protocolo de comunicação entre hardware e

software.

8

2. FUNDAMENTAÇÃO TEÓRICA

A aplicação de tecnologias inovadoras para a indústria animal, é algo novo no

Brasil. Qualquer tecnologia desenvolvida para este nicho de mercado deve

primeiramente considerar a perspectiva do animal e seu bem-estar no contexto do

desenvolvimento, e também as preferências do usuário. Assim, este capítulo

apresenta conceitos teóricos relacionados a questões de nutrição animal, de mercado

e de tecnologias que forneçam soluções de ponta para a sociedade.

2.1. ALIMENTAÇÃO E BEM-ESTAR DE CÃES E GATOS

O processo de alimentar animais domésticos é uma tarefa especializada. O

mercado proporciona diversas opções com as mais diferentes finalidades. A

alimentação animal no Brasil é regulamentada pelo Ministério da Agricultura (MAPA,

2015), o órgão responsável pela fiscalização do setor de produtos destinados à

alimentação animal. Fórmulas pré-estabelecidas determinam as necessidades diárias

dos animais de acordo com o peso ou com a saúde. Por esta razão, vários animais

de companhia precisam ser mantidos em uma dieta controlada. Deixar a ração o dia

todo disponível faz com que esta absorva umidade e acabe se deteriorando, o que

pode inclusive tornar-se atrativo a roedores e vetores como baratas e camundongos

que disseminam doenças aos seres humanos e aos animais (ALBANO, 2015).

Não somente a escolha do tipo de ração é importante, mas também a

quantidade que será disponibilizada ao animal. Uma forma de estabelecer a

quantidade de ração é seguir a descrição nas embalagens ou seguir a recomendação

do médico-veterinário ou nutricionista.

Cada animal possui um metabolismo diferente e necessidades proteicas e

nutricionais das mais variadas. Portanto, há a necessidade de escolher uma

alimentação adequada para cada espécie (ALBANO, 2015). Ignorar esta regra quase

sempre não traz consequências imediatas, mas provoca reações desagradáveis, a

médio e longo prazo (ALBANO, 2015).

De acordo com Martins (2005) um gato obeso pode desenvolver doenças como

diabetes, hipertireoidismo, doenças cardíacas, circulatórias, hepáticas, articulares e

doenças de pele. Os cães devem receber a ração de maneira fracionada e em horário

fixo, principalmente os destinados à guarda. Segundo Albano (2015), os cães tendem

9

a ter sonolência após as refeições, portanto deixar quantidades de ração a noite toda,

pode causar obesidade e reforçar a sonolência durante a madrugada. Gatos possuem

o costume de alimentarem-se várias vezes ao dia, portanto, é recomendado deixar

ração seca e fresca e água sempre à disposição, e a ração não pode ficar exposta o

tempo todo, pois há redução da palatabilidade. Embora os gatos gostem de comer o

dia todo, a quantidade de alimento em cada refeição/dia deve ser limitada (MARTINS,

2005).

Estar livre de fome é uma liberdade fundamental de qualquer animal. Esta

liberdade foi discutida de forma articulada pela primeira vez em 1965, quando o

governo do Reino Unido encomendou uma investigação, liderada pelo professor

Roger Brambell, sobre o bem-estar dos animais (BRAMBELL REPORT, 1965). O

Relatório Brambell afirmou que os animais devem ter cinco liberdades básicas

atendidas: 1) estarem livres de fome ou de sede pelo pronto acesso à água fresca e

à dieta que o mantenha em plena saúde e vigor; 2) estarem livres de desconforto, em

um ambiente apropriado, que inclui abrigo e uma área confortável de descanso; 3)

estarem livres de dor, lesão ou doenças por prevenção ou diagnóstico rápido e

tratamento; 4) terem a liberdade de expressarem seus comportamentos naturais, em

um espaço suficiente, instalações adequadas e em companhia de sua espécie; 5)

estarem livres de medo e angústia, com ausência de sofrimento mental.

Apesar da fome ser uma liberdade fundamental do animal, o livre acesso a

alimentos de alta qualidade pode resultar em obesidade, levando a patologias e,

portanto, comprometendo a saúde e o bem-estar (por exemplo, DE PAULA VIEIRA et

al., 2008). Assim, um alimentador automático que promova o bem-estar dos animais

deve saciar a fome dos animais, deve ser confortável e não aversivo, deve permitir a

exibição de seus comportamentos naturais e deve promover uma boa saúde, como

por exemplo prevenir a obesidade. A observação dos comportamentos espécie-

específicos bem como durante a interação do animal com o alimentador é fundamental

para a validação do alimentador na perspectiva do animal e direcionará a inovação de

práticas de alimentação de animais nos próximos anos (BRAMBELL REPORT, 1965;

DE PAULA VIEIRA et al., 2008).

10

2.2. TRABALHOS RELACIONADOS

Esta seção apresenta soluções disponíveis hoje no mercado que de alguma

forma utilizam princípios/tecnologias de alguma forma semelhantes aos adotados

neste trabalho de conclusão de curso. O primeiro exemplo é o SuperFeeder

(SUPERFEED, 2015), criado em 1992 com a primeira produção em 1994. A

especialidade foi a fabricação e venda de alimentadores automáticos de qualidade

segundo os fabricantes que buscavam desenvolver um alimentador verdadeiramente

confiável, para alimentos em flocos, que não só poderia ser usado em uma base

temporada de férias, mas também poderia ser instalado de forma permanente. O

SuperFeeder é um alimentador automático para animais, porém a limitação do

alimentador, é a falta de um dispositivo de agendamento de horários, que poderia ser

resolvida com a compra de um temporizador eletromecânico a parte que possibilitaria

configurar o tempo de intervalo entre cada acionamento do motor.

Outro alimentador que existe no mercado internacional é o CatFi (CATFI, 2015).

O CatFi Pro (anteriormente conhecido como Bistro) é o alimentador inteligente com

tecnologia de reconhecimento facial para gatos. No topo do monitoramento remoto, o

CatFi Pro permite o acompanhamento das estatísticas de consumo dos gatos (peso,

alimentação e entradas de água) com uma função de alerta. Um grande diferencial do

CatFi é o reconhecimento facial e vale destacar que projeto do CatFi foi financiado

através de doações no valor de US$ 240.680,00, cuja campanha de arrecadação

finalizou em 14 de agosto de 2014.

11

3. ESPECIFICAÇÕES TÉCNICAS

Para a integração das funcionalidades do Smart Pet Feeder, foi desenvolvido

um aplicativo para o smartphone que solicita e permite informar por meio de uma

interface de hardware e software de boa usabilidade, quantas vezes por dia se deseja

liberar alimento para o animal, bem como seus respectivos horários e volume. Este

alimentador é diferente de outros alimentadores automáticos disponíveis no mercado

brasileiro, pois ele fornece flexibilidade de 100% nos horários de alimentação (por

exemplo, não há obrigatoriedade de alimentar o animal de oito em oito horas com

preconizam outros alimentadores).

As informações fornecidas pela balança digital, antes que o novo alimento seja

liberado no comedouro (por exemplo, se haverá um reabastecimento completo ou

parcial), levam em consideração os eventuais restos de ração deixados pelo animal.

A liberação do alimento no reservatório de ração para o comedouro, é acionado por

um motor de passo, que em seguida aciona uma rosca sem fim para que a nova

porção de alimento seja liberada no comedouro conforme volume definido pela

programação do proprietário.

A Figura 3.1 mostra um diagrama da arquitetura do projeto, que está dividido

conforme as 3 vertentes de desenvolvimento tanto de hardware e software (servidor

e usuário final). O bloco azul, da Figura 3.1 representa o hardware, parte chave do

protótipo para que se atinja um dos objetivos deste trabalho. Nele existe um atuador,

representado pelo MOTOR DE PASSO com a função de transportar a comida para o

recipiente, um SENSOR IR que mede o nível do reservatório de ração, um

RECIPIENTE BALANÇA com um extensômetro para capturar a massa do recipiente

de ração que é enviada para um ADC ADS1115 que converte o sinal analógico para

digital, a RASPBERRY PI encarregada de receber todas estas informações, realizar

os devidos cálculos/processamentos e as enviar através da INTERFACE ETHERNET

para o servidor. O bloco laranja da Figura 3.1 representa a parte do servidor, que

graças ao WEB SERVICE controla os dados/operações entre o hardware e o usuário

final. O servidor também possui um serviço de banco de dados que persiste os dados.

O bloco verde da Figura 3.1 representa o USUÁRIO FINAL, é através destes

processos que o usuário poderá interagir com o sistema, através do SMARTPHONE

ou pelo NAVERGADOR WEB.

12

Figura 3.1 – Diagrama da arquitetura do Smart Pet Feeder.

Ao lado esquerdo da Figura 3.2 está representada a visão geral do projeto, e

ao lado direito suas funcionalidades descritas abaixo.

Figura 3.2 – Visão geral e recursos do Smart Pet Feeder

Funcionalidades do Smart Pet Feeder:

Conexão com a Internet;

Monitoração/controle remoto pelo smartphone;

Acionamento imediato de ração;

Acionamento de ração com agendamento de horário;

Visualização do nível do recipiente;

Visualização do nível do reservatório de ração;

Visualização de um gráfico referente à quantidade de ração depositada e à

quantidade de ração consumida;

Alerta sobre a falta de ração no reservatório;

Bloqueio do acionamento caso o reservatório esteja vazio;

13

Verificação da quantidade de ração a ser inserida (por exemplo, caso já exista

ração no recipiente, um alerta é enviado, evitando-se assim o desperdício de

ração).

Abaixo, na Figura 3.3, está apresentado o protótipo em etapas de montagem,

isto é, de acordo com a distribuição de peças e placas na montagem do produto

interna e externamente, concretizando-se sua organização final.

Figura 3.3 – Protótipo Smart Pet Feeder

3.1. ANÁLISE DE REQUISITOS

Depois de pesquisas e leituras sobre as tecnologias disponíveis para

alimentadores automáticos, foram definidos como requisitos do SMART PET FEEDER

os seguintes itens:

Não ser aversivo ao animal e atender às suas necessidades nutricionais;

Ser de fácil de uso pelo proprietário e pelo animal;

Ser de fácil higienização e com fácil reposição de ração;

Monitoramento adequado da quantidade de ração: Através de um sensor que

perceba a quantidade de alimento existente no pote do animal, para evitar que

mais alimento seja liberado para o mesmo animal que não ingeriu a porção

anterior;

Programação de tempo e quantidade: é preciso que o produto se adapte da

melhor forma possível para todos os tipos de animais (cães e gatos) e também

para a idade e necessidade nutricional de cada um.

3.2. RESTRIÇÕES

O produto possui alguns requisitos mínimos para o correto funcionamento.

Alguns destes requisitos são a alimentação por uma fonte chaveada de 5V de tensão

14

e com uma corrente de no mínimo 8A. A conexão à Internet, é crucial, o protótipo não

é a prova d’água e funciona em temperatura ambiente entre 5ºC e 30ºC (outras

temperaturas não foram testadas).

3.3. DESCRIÇÃO DAS PARTES COMPONENTES E INTERFACEAMENTO ENTRE

SISTEMAS

Embarcado no protótipo, existe um circuito de controle que tem a função de

acionar o motor de passo, a captura de informações dos sensores, o conversor

analógico-para-digital (ADS1115) junto com o amplificador operacional de precisão

(INA125) da balança, como ilustrado pela Figura 3.4.

Os conectores FIOS MOTORES são conectados de acordo com as cores dos

fios do motor. Existe um optoacoplador que protege o circuito TTL para um de

potência. Além disso, o INA1 é responsável pela amplificação dos sinais recebidos

pela BALANCA1. A saída do INA1 é conectada à entrada A0 do ADS1 que converte

a entrada analógica da balança para um valor digital que é enviado através de uma

comunicação I2C para a Raspberry Pi. Foi necessário utilizar este ADC, pois a

Raspberry Pi não possui nativamente uma porta de ADC.

15

Figura 3.4 – Visão geral do esquemático do circuito de controle

16

4. DESENVOLVIMENTO

Este capítulo apresenta o desenvolvimento realizado no projeto. Começando

pela explicação do desenvolvimento do hardware, logo em seguida explanamos sobre

o desenvolvimento de software e finalizamos esclarecendo a comunicação realizada

no conjunto do projeto.

4.1. HARDWARE

Neste trabalho fica perceptível a necessidade da utilização de alguns

componentes de hardware para o correto funcionamento do protótipo final. Para tanto

são apresentados a seguir os componentes utilizados na confecção do referido

projeto.

O fluxograma da Figura 4.1 mostra os processos realizados pelo sistema do

firmware para executar as devidas funcionalidades do SMART PET FEEDER,

iniciando a captura do nível do reservatório, sequencialmente capturando o nível do

recipiente e enviando estes dados para o servidor. Em seguida, o servidor é deve

responder se existe acionamento do motor para executar, caso contrário volta-se ao

início. Caso exista o acionamento, o firmware liga o motor, e ao chegar-se ao estado

desejado, finaliza o processo voltando para o início. Se ainda não chegou-se ao

estado desejado do peso, o motor é acionado novamente e assim por diante.

Figura 4.1 – Fluxograma do Firmware

17

4.1.1. SMARTPHONE COM SISTEMA OPERACIONAL APPLE IOS

Para execução do aplicativo, bem como controle do alimentador, foi utilizado

um smartphone iPhone 5, processador com 1.3 GHz, 16GB de armazenamento,

resolução da tela de 1136x640px, sistema operacional Apple iOS 9 e Wi-Fi.

4.1.2. SENSORES INFRAVERMELHO

Este sensor de proximidade infravermelho é um módulo de reflexão fotoelétrico

que integra um emissor IR e um receptor IR. Contudo este sensor possui um maior

alcance que os tradicionais, podendo variar de 3 à 80 cm com o ajuste do parafuso na

parte de trás do sensor (FILIPEFLOP, 2015).

Neste projeto foi utilizado o sensor infravermelho E18-D80NK que apresenta as

seguintes características e o circuito do mesmo encontra-se na Figura 4.2:

Tensão de operação: 5VDC

Corrente de operação: 10-15mA

Faixa de detecção: 3-80cm

Diâmetro sensor: 18mm

Comprimento sensor: 45mm

O circuito do E18-D80NK, apresentado na Figura 4.2 possui um LED

infravermelho emissor, representado por D1, que emite para o Fotodiodo (D2), para o

U1:A e para o amplificador operacional LM393 configurado como comparador. O

resultado é a recepção de luz infravermelha resultante da diferença de tensão pelo

trimmer (RV1).

Figura 4.2 - Circuito do E18-D80NK / Sensor Infravermelho

18

A parte interna do encapsulamento do sensor infravermelho utilizado é

mostrada na Figura 4.4. A Figura 4.3 apresenta a distribuição onde fica os quatros

sensores na parte superior do protótipo.

Figura 4.3– Parte superior do Smart Pet Feeder

Figura 4.4 – Sensor infravermelho parte interna

4.1.3. MOTOR DE PASSO

O motor de passo AK23/15F6FN1.8 é uma solução eficiente para este projeto

pois possui posicionamento preciso. Dada a sua robustez possui baixíssimo índice de

manutenção. Otimizado para trabalhar com resoluções de micropasso, que garante

uma precisão maior ao sistema de movimentação (ROBOCORE, 2015).

O AK23/15F6FN1.8 na configuração unipolar, que foi escolhido para este

projeto, apresenta as seguintes características:

NEMA: 23

19

Tensão de operação: 3VDC

Corrente de operação: 3A

Holding Torque: 15,0 kgf.cm

Ângulo do passo: 1.8°

N° de passos: 200

Quantidade de fios: 6

O motor de passo utilizado é mostrado na Figura 4.5 que ilustra a parte inferior

do protótipo.

Figura 4.5 – Parte inferior do Smart Pet Feeder

4.1.4. BALANÇA

Existem diferentes maneiras de capturar o peso de objetos em geral. Para este

projeto, após diferentes testes e pesquisas, optamos pela Mini Balança Digital

Diamond CBR1051 que possui não apenas o melhor custo benefício, mas que teve

sua arquitetura inicial, transdutor e estrutura física, mantidos. O circuito inicial foi

retirado e um novo circuito foi desenvolvido especialmente para o projeto, e pode ser

conferido na Figura 4.8. Nas Figuras 4.6 observamos o resultado final em relação a

balança e na Figura 4.7 podemos ver o seu formato inicial.

20

Figura 4.6 – Balança acoplada no protótipo

Figura 4.7 – Balança Digital Diamond CBR1051

Fonte: MERCADO LIVRE, 2015

A balança apresenta as seguintes características:

Transdutor de alta precisão de 0,1g até 500g;

Medidas aproximadas do produto: 15 cm x 7,5 cm x 1,5 cm;

A saída da ponte de wheatstone é ligada diretamente nos pinos 6 (entrada

positiva) e 7 (entrada negativa) do amplificador de instrumentação INA125, dando um

ganho de 64 vezes conforme a equação abaixo:

𝐺 = 4 +60𝑘Ω

𝑅𝐺

Ganho de 64 vezes para RG = 1kΩ.

A Figura 4.9 demonstra esquema elétrico e os pinos do amplificador de

instrumentação INA125 (Burr-Brown® 2009).

O resultado da amplificação do sinal é ligado às portas A0 do módulo ADS1115.

O esquema elétrico do sensor com o amplificado de instrumentação está

exemplificado na Figura 4.8.

21

Figura 4.8 – Esquemático do circuito para captura da informação da balança.

Figura 4.9 – Esquema elétrico do amplificador de instrumentação INA125 (Burr-Brown® 2009).

4.1.5. ADS1115

A Raspberry Pi não possui um conversor analógico para digital internamente,

sendo necessário utilizar um modulo externo do ADS1115, para que a saída analógica

do INA125 seja convertido para digital. A grande vantagem deste módulo é a sua

resolução de 16 bit com um consumo de 150μA.

Neste projeto foi utilizado o ADS1115 que apresenta as seguintes

características:

Tensão de operação: 2.0V à 5.5V

22

Corrente de operação: 150μA

16 bits de resolução

860 amostras por segundo

4 entradas por módulo

O esquemático do circuito do ADS1115 que foi utilizado no projeto, é mostrado

na Figura 4.10.

Figura 4.10 – Circuito do módulo ADS1115

4.1.6. RASPBERRY PI B ( REV 1 )

O Raspberry Pi é uma plataforma microcontrolada do tamanho de um cartão

de crédito, cujo chip baseado em uma Broadcom BCM2835 SoC, possui arquitetura

ARM1176JZF-S em seu processador de 700 MHz, 512MB de memória RAM, duas

portas USB e um controlador Ethernet 10/100. Esta placa é designada para executar

sistemas operacionais baseados no kernel Linux. (ADAFRUIT, 2015)

Na estrutura da Raspberry Pi já existe tanto saída Ethernet 10/100 (RJ45)

quanto portas USB, logo para o Smart Pet Feeder que é crucial o acesso à internet,

pois ela nativamente oferece solução tanto para conexão cabeada quanto para

situações que usem um adaptador USB WIFI.

23

4.2. SOFTWARE

Esta seção abordará detalhadamente o projeto dos softwares desenvolvidos

para o sistema proposto. Primeiramente, será descrito os ambientes de

desenvolvimento utilizados em cada software.

4.2.1. AMBIENTE DE DESENVOLVIMENTO

A programação de aplicativos para o iOS 9 é feita em Swift 2. Esta linguagem

é bastante semelhante ao Java script, linguagem criada recentemente para

desenvolvimento de programas de qualquer produto da Apple (computadores rodando

o sistema operacional OSX, dispositivos móveis rodando o iOS), por fornecer a melhor

performance dentro destes sistemas.

A programação do sistema que roda no Servidor, é feita em PHP, utilizando o

Slim Framework devido à facilidade que este Framework oferece para o uso de Web

Service - RESTful.

Para o banco de dados do servidor, que é responsável por armazenar o nível

do reservatório, nível do recipiente, estado do motor, horários, e etc. é utilizado o

MySQL 5.6.24 - MySQL Community Server (GPL).

4.2.2. DIAGRAMA DE CASOS DE USO

O diagrama de Casos de Uso de um software separa cada interação entre o

usuário e o sistema. Com isso, é possível explicar de forma detalhada cada

funcionalidade do sistema, e as ações do usuário.

Analisando as funcionalidades desejadas para o sistema proposto tem-se o

Diagrama de Casos de Uso do Cenário do aplicativo Cliente no iPhone, conforme a

Figura 4.11:

24

Figura 4.11 – Diagrama de Casos de Uso do Cenário do aplicativo Cliente no iPhone

4.2.2.1. DESCRIÇÃO DOS CASOS DE USO

Caso de Uso – Visualizar Relatório:

Este caso de uso é iniciado quando o usuário decide visualizar o relatório, isto

é, apresenta um gráfico da quantidade de ração depositada e o que foi

consumido pelo animal no dia.

1. O usuário navega até a seção "Relatório" no aplicativo.

2. O aplicativo requer através de Web Service a consulta dos dados no banco de

dados do servidor.

3. O servidor retorna para o usuário também utilizando Web Service, os dados da

ração depositada e o que foi consumido no recipiente.

Alternativas:

2a. Se o aplicativo falhar ao tentar transmitir o pedido de consulta ao servidor por

falta de conexão com a Internet, uma mensagem de erro é exibida.

Caso de Uso – Visualizar Nível do Reservatório:

Este caso de uso é iniciado quando o usuário decide visualizar nível do

reservatório.

25

1. Usuário navega até a seção "Reservatório" no aplicativo.

2. O aplicativo requer através de Web Service a consulta dos dados no banco de

dados do servidor.

3. Servidor retorna para o usuário também utilizando Web Service, os dados do

nível que encontra-se o reservatório.

Alternativas:

2a. Se o aplicativo falhar ao tentar transmitir o pedido de consulta ao servidor por

falta de conexão com a Internet, uma mensagem de erro é exibida.

Caso de Uso – Visualizar Nível do Recipiente:

Este caso de uso é iniciado quando o usuário decide visualizar o nível do

recipiente.

1. O usuário navega até a seção "Recipiente" no aplicativo.

2. O aplicativo requer através de Web Service a consulta dos dados no banco de

dados do servidor.

3. O servidor retorna para o cliente também utilizando Web Service, os dados do

nível que encontra-se o recipiente.

Alternativas:

2a. Se o aplicativo falhar ao tentar transmitir o pedido de consulta ao servidor por

falta de conexão com a Internet, uma mensagem de erro é exibida.

Caso de Uso – Visualizar Agendamentos:

Este caso de uso é iniciado quando o usuário decide visualizar a lista de

horários já cadastrados, que devem ser acionados conforme o horário

programado.

1. O usuário navega até a seção "Agendamento" do aplicativo.

2. O aplicativo requer através de Web Service a consulta da lista de horários.

3. O servidor busca no banco de dados todos os horários requisitados, consulta o

estado para saber se está ativo ou não, e os dias da semana que está

programado.

4. O servidor retorna para o cliente também utilizando Web Service, a lista dos

agendamentos resultantes.

Alternativas:

26

2a. Se o aplicativo falhar ao tentar transmitir o pedido de consulta ao servidor

por falta de conexão com a Internet, uma mensagem de erro é exibida.

Caso de Uso – Adicionar Agendamento:

Este caso de uso é iniciado quando o usuário decide adicionar um novo agendamento.

1. O usuário navega até a seção "Agendamento" do aplicativo.

2. O usuário seleciona no canto superior direito o símbolo de “+”.

3. O usuário escolhe a hora e minuto para realizar o acionamento do depósito de

ração.

4. O usuário seleciona a quantidade de ração.

5. O usuário escolhe a quantidade de dias da semana que deseja repetir o

acionamento do depósito de ração.

6. O usuário decide o estado do agendamento, isto é, se ativado ou desativado.

7. O aplicativo requer através de Web Service a adição do novo agendamento.

8. O banco de Dados é atualizado.

9. O servidor retorna para o cliente também utilizando Web Service, a nova lista

de agendamentos atualizadas.

Alternativas:

7a. Se o aplicativo falhar ao tentar transmitir o pedido de consulta ao servidor por

falta de conexão com a internet, uma mensagem de erro é exibida.

Caso de Uso – Editar Agendamento:

Este caso de uso é iniciado quando o usuário decide editar ou remover algum

agendamento já adicionado no sistema.

1. O usuário navega até a seção "Agendamento" do software.

2. O usuário escolhe um agendamento dentre os agendamentos cadastrados, e

clica sobre o escolhido.

3. O usuário consegue então editar ou remover o agendamento selecionado.

4. O software requer através de Web Service a alteração/remoção do

agendamento selecionado no servidor.

5. O banco de dados é atualizado.

6. O servidor retorna para o cliente também utilizando Web Service, a lista de

agendamentos atualizadas.

Alternativas:

27

4a. Se o aplicativo falhar ao tentar transmitir o pedido de consulta ao servidor por

falta de conexão com a internet, uma mensagem de erro é exibida..

Caso de Uso – Acionamento imediato de ração:

Este caso de uso é iniciado quando o usuário decide realizar o acionamento

imediato de ração.

1. O usuário navega até a seção "Acionamento" do aplicativo.

2. Seleciona a quantidade de ração.

3. O usuário clica para ativar o acionamento.

4. O aplicativo requer através de Web Service, a alteração do estado do motor no

servidor.

5. Banco de Dados é atualizado.

6. O Smart Pet Feeder requer através do Web Service, a consulta do estado do

motor.

7. Até chegar na quantidade selecionada o funcionamento do motor é contínuo

sendo que ao chegar no peso maior ou igual ao selecionado, o motor pára, e o

Smart Pet Feeder envia através do Web Service, a alteração do estado do

motor.

8. O servidor retorna para o cliente também utilizando Web Service, o estado do

motor atualizado.

Alternativas:

4a. Se o software falhar ao tentar transmitir o pedido de consulta ao servidor por

falta de conexão com a internet, uma mensagem de erro é exibida.

4.2.3. DIAGRAMA DE CLASSES

Diagrama de Classes é uma representação da estrutura e relações das classes

que servem de modelo para objetos. É uma modelagem muito útil para o sistema,

definindo todas as classes que o sistema necessita possuir (VARGAS, 2011).

28

4.2.3.1. DIAGRAMA DE CLASSES DO APLICATIVO CLIENTE NO IPHONE

Figura 4.12 – Diagrama de Classes do aplicativo Cliente no iPhone.

A Figura 4.12 ilustra o Diagrama de Classes do Cliente. No Cliente, tudo parte

de uma Splash Screen, que em seguida verifica o funcionamento do sistema

representado pela classe Controle do Sistema. Esta, tem 14 ações. Consultar Motor,

Acionar Motor, Parar Motor, Consultar Relatório, Adicionar Relatório, Consultar Nível

Reservatório, Editar Nível Reservatório, Consultar Nível Recipiente, Editar Nível

Recipiente, Consultar Lista de Agendamentos, Consultar Agendamento, Adicionar

Agendamento, Editar Agendamento e Remover Agendamento.

Consultar Motor leva à classe Acionamento, que possui os atributos Estado,

PesoDesejavel, PesoAtual, obtidos do servidor para apresentar para o usuário. A

partir desta classe, tem-se 3 ações: Consultar Motor, Acionamento Motor e Parada.

29

Consultar Relatório leva à classe Relatório, que possui os atributos Data,

QtdDepositada, QtdConsumida, obtidos do servidor para apresentar para o usuário. A

partir desta classe, tem-se 2 ações: Consultar e Adicionar.

Consultar Nível Reservatório leva à classe Reservatório, que possui o atributo

Peso, obtidos do servidor para apresentar para o usuário. A partir desta classe, tem-

se 2 ações: Consultar e Editar.

Consultar Nível Recipiente leva à classe Recipiente, que possui o atributo Nível,

obtidos do servidor para apresentar para o usuário. A partir desta classe, tem-se 2

ações: Consultar e Editar.

Consultar Lista de Agendamento leva à classe Agendamento, que possui o

Horario, QtdRacao, DiasDaSemana e Estado. A partir desta classe, tem-se 4 ações:

Consultar, Adicionar, Editar e Remover.

4.2.4. DIAGRAMA DE SEQUÊNCIA

Diagrama de Sequência (ou Diagrama de Sequência de Mensagens) é um

diagrama usado em UML (Unified Modeling Language), representando a sequência

de processos em um programa de computador. Como um projeto pode ter uma grande

quantidade de métodos em classes diferentes, pode ser difícil determinar a sequência

global do comportamento do mesmo. O diagrama de sequência representa esta

informação de uma forma simples e lógica (VARGAS, 2011).

30

4.2.4.1 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO ACIONAMENTO

Figura 4.13 – Diagrama de Sequência do cenário Acionamento

Conforme ilustra a Figura 4.13, toda vez em que é feito qualquer tipo de

acionamento tanto o agendado quanto o imediato, o cliente deve enviar um pedido de

acionamento para o servidor. O servidor, por sua vez realiza a atualização do estado

do motor e também do peso desejável no banco de dados, com as atualizações feitas,

a Raspberry ao realizar a consulta no servidor, coleta estas informações e executa o

motor, até chegar no peso desejável. Ao chegar no peso maior ou igual ao solicitado,

o motor pára e a Raspberry envia para o servidor uma nova atualização do valor de

estado do motor, assim como o peso atual. O banco de dados retorna o resultado da

consulta que é então enviado pelo servidor para o usuário (iPhone) que mostra o

resultado de forma amigável e clara.

31

4.2.4.2 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO RELATÓRIO

Figura 4.14 – Diagrama de Sequência do cenário Relatório

O cenário mostrado na Figura 4.14. ilustra a sequência a ser seguida pelo

usuário para visualizar o relatório. Desta vez o servidor realiza a busca da quantidade

de ração depositada no recipiente e a quantidade de ração consumida. O banco de

dados retorna então os valores para o servidor, que são então enviados e

apresentados pelo servidor para o usuário (iPhone), através de um gráfico.

32

4.2.4.3 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO RECIPIENTE

Figura 4.15 – Diagrama de Sequência do cenário Recipiente

O cenário mostrado na Figura 4.15. ilustra, o caminho do usuário ao realizar uma

consulta sobre a quantidade de ração que existe no recipiente e a sequência a ser

seguida. Ela é semelhante à consulta do relatório, contudo neste caso o servidor

realiza a busca do peso atual do recipiente no banco de dados. O banco de dados

retorna então o peso do recipiente para o servidor, e o envia para o usuário (iPhone),

que mostra o valor em gramas.

33

4.2.4.4 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO RESERVATÓRIO

Figura 4.16 – Diagrama de Sequência do cenário Reservatório

O cenário mostrado na Figura 4.16. ilustra, a consulta do usuário sobre o nível

em que se encontra o reservatório. A sequência a ser seguida, é semelhante à

consulta do relatório e à consulta do recipiente, porém neste caso o servidor realiza a

busca do nível do reservatório no banco de dados. O banco de dados retorna então

do nível do reservatório para o servidor, e envia para o usuário (iPhone), que mostra

o nível atual.

34

4.2.4.5 DIAGRAMA DE SEQUÊNCIA DO CENÁRIO AGENDAMENTO

Figura 4.17 – Diagrama de Sequência do cenário agendamento.

O cenário mostrado na Figura 4.17. ilustra, a sequência de adição do

agendamento pelo usuário. Neste caso o servidor realiza a inserção dos valores,

horários, dias da semana, estado e peso desejável no banco de dados. O banco de

dados então retorna o sucesso da adição das informaçnoes para o servidor, que envia

a informação para o usuário (iPhone), atualizando a lista de agendamentos.

35

4.2.5. PROTOTIPAÇÃO DE TELAS

Através da prototipação de telas (Figuras 4.18; 4.19; 4.20; 4.21; 4.22; 4.23;

4.24), pode-se ter uma idéia de como o sistema será desenvolvido. Isto permite

importantes melhorias na interface do programa ainda em etapa de desenvolvimento,

tornando uma eventual correção bem mais fácil.

4.2.5.1 TELA DO RELATÓRIO

Figura 4.18 – Tela de Relatório.

A tela consiste em fornecer o gráfico referente à quantidade de ração

depositada em gramas na cor cinza e a quantidade de ração na cor de um verde

azulado. Esta é a tela que vem logo em seguida ao Splash Screen. Na parte inferior

existe uma Tab Bar e a partir dela o usuário pode acessar todas as funcionalidades

do cliente pelo iPhone:

Visualizar relatório;

Ir para a tela de Acionamento imediato;

Ir para a tela de Nível do Reservatório;

Ir para a tela de Nível do Recipiente;

Ir para a tela de Agendamentos;

36

4.2.5.2 TELA DO ACIONAMENTO IMEDIATO

Figura 4.19 – Tela do Acionamento Imediato.

Nesta tela, o usuário tem controle do acionamento imediato. Ele visualiza o

estado do motor, consegue editar a quantidade de ração para o depósito no recipiente

através do switch ao lado do acionamento que faz o motor ser acionado

instantaneamente.

37

4.2.5.3 TELA DE VISUALIZAÇÃO DO RESERVATÓRIO

Figura 4.20 – Tela de Visualização Do Reservatório.

Nesta tela, o usuário visualiza o estado do reservatório, assim como o sistema

e o nível do reservatório. Como existem 4 sensores no Smart Pet Feeder, o nível mais

alto será o 4, como mostra a Figura 4.19.

38

4.2.5.4 TELA DE VISUALIZAÇÃO DO RECIPIENTE

Figura 4.21 – Tela de Visualização Do Recipiente.

Nesta tela, o usuário visualiza o estado do recipiente, além de informar o peso

da ração que já se encontra no recipiente, o nível máximo de ração permitido neste

protótipo é de 100g. Como ilustrado na figura 4.20, o recipiente deve estar 50%

abastecido.

39

4.2.5.5 TELA DE VISUALIZAÇÃO DO AGENDAMENTOS

Figura 4.22 – Tela de Visualização Do Agendamentos.

Nesta tela, o usuário visualiza todos os agendamentos, cujos dados são

fornecidos pelo banco de dados do servidor. Agendamentos que foram removidos não

aparecem aqui. A partir da parte superior desta tela o usuário pode atualizar os dados

fornecidos pelo banco de dados do servidor ou adicionar um novo agendamento.

40

4.2.5.6 TELA PARA ADICIONAR HORARIO

Figura 4.23 – Tela para Adicionar Horário.

Nesta tela, o usuário seleciona a hora e os minutos para o agendamento e a

quantidade de gramas que deseja para o depósito de ração. A partir desta tela o

usuário pode ir para a tela de Escolha dos Dias da Semana, seleciona os dias, o

estado deste agendamento (ativado/desativado) e salva o novo agendamento no

servidor.

41

4.2.5.7 TELA PARA ESCOLHA DO DIAS DA SEMANA

Figura 4.24 – Tela para escolha dos Dias da semana.

Nesta tela, pode-se visualizar todos os dias da semana, e é possível a seleção

dos dias da semana caso desejar-se repetir o acionamento. Para salvar as escolhas

basta clicar em voltar.

42

4.3. COMUNICAÇÃO

Os Web services RESTful são serviços construídos com o estilo de arquitetura

RESTful. A construção de Web services com a abordagem RESTful está surgindo

como uma alternativa popular ao uso de tecnologias baseadas em SOAP para

implantação de serviços na Internet, por ser mais leve e ter a capacidade de transmitir

dados diretamente via HTTP (NETBEANS, 2015).

Web services criados sobre o protocolo HTTP geralmente possuem formatos

leves, se utilizarmos os métodos GET, DELETE, POST e PUT como padronização de

acesso (LECHETA, 2015). A Tabela 1 ilustra o que fazer para consultar as

informações do motor. Neste caso, é só realizar um GET na página /rpi/serial/motor/,

retornando no formato de JSON os dados do motor. Se realizarmos um PUT logo será

possível através do parâmetro statusMotor, atualizar o valor do estado do motor. Essa

lógica vale para toda a Tabela 1.

Logo o padrão REST utiliza os próprios métodos do protocolo HTTP para criar

a lógica necessária para o Web service (LECHETA, 2015).

URI Método Parâmetros Efeito

/rpi/serial/motor/ GET Consultar informações do motor.

PUT statusMotor Atualizar informações do motor.

/rpi/serial/reservatorio/ GET Consultar informações do reservatório.

POST nivelReservatorio Atualizar informações do reservatorio.

/rpi/serial/recipiente/ GET Consultar informações do recipiente.

POST pesoRecipiente Atualizar informações do recipiente.

/rpi/serial/horarios/ GET id, serial, horario,

qtd, ativo, seg, ter,

qua, qui, sex, sab,

dom

Consultar todos os agendamentos.

/rpi/serial/horario/ POST horário, qtd, ativo,

seg, ter, qua, qui,

sex, sab, dom

Adicionar um novo agendamento.

/rpi/serial/horario/id GET Buscar um agendamento.

PUT horário, qtd, ativo,

seg, ter, qua, qui,

sex, sab, dom

Atualizar um agendamento.

DELETE Remover um agendamento.

Tabela 1 – URIs de acesso a recursos e métodos HTTPs aceito por cada uma delas.

43

5. TESTES E RESULTADOS

Para certificar que o projeto apresentado atingiu seus objetivos específicos,

alguns testes de validação foram realizados e os resultados estão apresentados em

sequência. Para a realização dos testes do aplicativo foi utilizado um iPhone 5 com

capacidade de 16GB. O micro-controlador Raspberry Pi é a versão 1, modelo B com

memória RAM de 512MB, com 800MHz, processador ARM em que uma das duas

portas USB foi conectada a um mini adaptador TP-Link Wireless N USB 300 Mbps

(Modelo: TL-WN823N). O mesmo foi responsável pela conexão da Raspberry à

Internet. Abaixo seguem as características do computador utilizado como servidor

local:

Processador Intel Atom N455 1.66GHz / 512KB de memória cachê;

2GB de memória RAM;

Sistema Operacional Windows Server 2012 R2;

Latência entre o cliente e o servidor: menor que 2 milissegundos.

Na sequência serão apresentados os testes para validação relacionado à

precisão da balança, precisão do sensor do reservatório e testes de assertividade dos

comandos variados.

5.1. PRECISÃO DA BALANÇA

O teste de precisão da balança foi realizado para verificar a efetividade do peso

selecionado, e o que realmente era liberado de ração para o recipiente. Este teste foi

praticado com a seguinte metodologia, inicialmente o recipiente foi completamente

esvaziado, com o aplicativo aberto no smartphone. Foi selecionada a opção do

acionamento imediato, e escolhido o valor do peso desejável. Em seguida, houve a

ativação do despejo da ração para o recipiente, e com o término da execução,

visualizou-se o peso do recipiente no aplicativo. Armazenou-se o valor, e

seguidamente retirou-se a ração que havia sido inserida, realizando-se a medição em

uma balança externa. Posteriormente, comparou-se o valor resultante da balança com

o que era exibido no aplicativo.

O gráfico da Figura 5.1 apresenta os resultados das 50 medições realizadas

individualmente para cada padrão de peso 25g, 50g, 75g e 100g. Observa-se que

existe uma variação de 0g a 11g a mais do que era solicitado, na maioria dos testes.

44

Com estes dados foi possível então realizar os cálculos para descobrir a média

em cada peso. No peso de 25g, a média foi de 28,54g, no peso 50g, a média foi de

54,42g, no peso de 75g, a média foi de 78,42g e no peso de 100g, a média foi 104,92g.

Portanto, a variação média total é de 7%, em relação a 25g, a variação média foi de

11%, já em relação a 50g, a variação média foi de 8%, em relação a 75g, a variação

média foi de 4% e em relação a 100g a variação média foi de 5%.

Percebe-se que existe uma inconstância, possivelmente pelo fato de usarmos

um fuso sem fim, isto é, o sistema realiza o acionamento do fuso, o fuso gira e em

seguida é feito a captura do peso da ração que foi depositada. Desta forma, o

programa verifica se o peso é menor ou igual ao solicitado, explicando porque o

resultado do peso escolhido tenha sido em alguns momentos superior.

Figura 5.1: Gráfico dos resultados da precisão da balança.

5.2. PRECISÃO DO SENSOR DO RESERVATÓRIO

O teste de precisão do sensor do reservatório foi realizado para verificar a

efetividade da captura dos sensores e se estavam realmente calibrados com o nível

de ração. Este teste foi praticado através da seguinte metodologia: inicialmente o

reservatório foi completamente esvaziado. Com o aplicativo aberto no smartphone foi

selecionada a opção para visualizar o nível do reservatório. Em seguida foi observado

0

20

40

60

80

100

120

0 10 20 30 40 50 60

Peso

Número de testes

Precisão da balança

25g

50g

75g

100g

45

o nível, e posteriormente adicionou-se ração ao reservatório e verificou-se se o valor

correspondia realmente à quantidade de ração referente ao reservatório.

O gráfico da Figura 5.2 ilustra os resultados das 50 medições realizadas

individualmente para os 4 sensores. Constatou-se que a calibragem dos sensores,

com o protótipo totalmente fechado, estava ideal para o cenário, pois o resultado foi

excelente, 100% de acerto.

Figura 5.2: Gráfico dos resultados da precisão do sensor do reservatório.

5.3. TESTE DE DESEMPENHO DE COMANDOS VARIADOS

O teste de desempenho de comandos variados foi realizado para verificar o

tempo de resposta para executar as diversas funções do aplicativo. Este teste foi

praticado através da seguinte metodologia: inicialmente abriu-se o aplicativo e de

forma aleatória selecionou-se a funcionalidade desejada. Neste meio tempo

contabilizou-se através de um cronômetro o tempo para executar tal tarefa.

O gráfico da Figura 5.3 apresenta os resultados das 50 medições realizadas

referentes aos comandos das funções do aplicativo, desde a verificação do nível de

ração, nível do recipiente, visualização do relatório até o acionamento de ração

imediato ou agendado.

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

0 10 20 30 40 50 60

Sensore

s

Número de testes

Precisão do sensor do reservatório

Sensor 1

Sensor 2

Sensor 3

Sensor 4

46

Figura 5.3: Gráfico dos resultados da assertividade de comandos variados.

Com os dados obtidos através do tempo de resposta de cada função,

constatou-se que para o acionamento imediato de ração existiu uma variação de 0 a

3 segundos, cuja média foi de 0,92 segundos. As outras funcionalidades possuíram

uma constância em seu comportamento. O teste foi realizado em uma rede local, isto

é, com servidor e roteador localmente instalado, via WIFI.

5.4. TESTE DE ASSERTIVIDADE DE COMANDOS VARIADOS

O teste de assertividade de comandos variados foi realizado para verificar a

quantidade de comandos que foram reconhecidos corretamente nas diversas funções

do aplicativo. Este teste foi praticado através da seguinte metodologia: inicialmente

abriu-se o aplicativo e de forma aleatória selecionou-se a funcionalidade desejada,

verificando-se então se o comando solicitado era realizado com sucesso.

O gráfico da Figura 5.4 apresenta os resultados das 50 medições realizadas

referentes aos comandos das funções do aplicativo, desde verificar o nível de ração,

nível do recipiente, visualização do relatório e acionamento de ração imediato ou

agendado.

-0,5

0

0,5

1

1,5

2

2,5

3

3,5

0 10 20 30 40 50 60

Tem

po e

m s

egundos

Número de testes

Tempo de resposta dos comandos variados

Acionamento de raçãoimediata

Nível do reservatório

Nível do recipiente

Acionamento de raçãoagendada

Visualização do relatório

47

Figura 5.4: Gráfico dos resultados da assertividade de comandos variados.

Conclui-se que existe uma eficácia na execução dos comandos efetuados,

sendo que em todos os comandos realizados foi unânime as execuções, talvez pelo

fato de ser em rede local. Isto favoreceu em 100% os resultados em todos os testes

de assertividade.

0%

20%

40%

60%

80%

100%

120%

0 10 20 30 40 50 60

Porc

enta

gem

dos c

om

andos e

xecuta

dos

com

sucesso

Número de testes

Comandos variados executados com sucesso

Acionamento de raçãoimediata

Nível do reservatório

Nível do recipiente

Acionamento de raçãoagendada

Visualização do relatório

48

6. CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS

Este trabalho apresentou um protótipo de um alimentador para cães e gatos,

controlado e monitorado remotamente, através do smartphone, beneficiando não

apenas a saúde do animal, mas também a rotina de seu proprietário.

O Smart Pet Feeder é uma ferramenta que pode otimizar a rotina dos

proprietários de cães e gatos, melhorando a qualidade de vida dos mesmos. A grande

vantagem deste alimentador, em relação aos alimentadores existentes no mercado, é

o monitoramento do consumo de ração individual por animal, e o fato do mesmo se

conectar à Internet e poder ser controlado por um smartphone ou tablet. O Smart Pet

Feeder também possibilita a verificação de ração no recipiente e possui um controle

de redução de sobras de ração.

Foram realizados testes de precisão da balança e notou-se que há uma

variância média de 7% em relação à quantidade de ração solicitada pelo usuário. Os

testes de precisão dos níveis de ração do reservatório foram 100% eficazes e o teste

de assertividade foram unânimes em mostrar que o SMART PET FEEDER realiza

todos os comandos e possui um muito bom. O único teste que teve uma variação

média de 0,92 segundos foi o de acionamento imediato de ração.

Para desenvolvimentos futuros, é recomendado a alteração do micro

controlador, do motor e de um novo tipo de exibição que permita o gerenciamento das

informações localmente no aparelho (para caso a o usuário não possua uma conexão

com a internet). Há também a necessidade de desenvolvimento de um produto que

atenda às exigências de comportamento e bem-estar animal, e que, portanto, seja

validado cientificamente segundo tais preceitos.

49

7 BIBLIOGRAFIA

ADAFRUIT (2015). Raspberry Pi Modelo B 512 MB de RAM. [S.l.]. Disponível em:

<https://www.adafruit.com/products/998>. Acesso em: 07 dez. 2015 às 07h04.

ALBANO, L. L. M. (2015a). Saúde animal: Aspectos Importantes Da Nutrição

Canina. Disponível em: http://www.saudeanimal.com.br/artigo_luigi_nutricao010.htm.

Acesso em: 11 nov. 2015 às 14h45.

ALBANO, L. L. M. (2015b). Saúde animal: Uma Ração Universal. Disponível em:

http://www.saudeanimal.com.br/artigo_luigi_nutricao002.htm. Acesso em: 11 nov.

2015 às 14h46.

ALBANO, L. L. M. (2015c). Saúde animal: Alimento Correto. Qualidade De Vida

Métodos De Alimentação. Disponível em:

http://www.saudeanimal.com.br/artigo_luigi_nutricao007.htm. Acesso em: 11 nov.

2015 às 14h47.

ABINPET (2013). Associação Brasileira da indústria de produtos para animais de

estimação: Dados de mercado. [2013?]. Disponível em:

http://abinpet.org.br/site/mercado/. Acesso em: 02 dez. 2015 às 20h53.

BRAMBELL REPORT, 1965. Report of the Technical Committee to enquire into the

welfare of animals kept under intensive livestock husbandry systems. Her Majesty’s

Stationery Office, London, UK

CATFI (2015). The Smartest Feeder Ever. [S.l.]. Disponível em:

<https://www.indiegogo.com/projects/bistro-a-smart-feeder-recognizes-your-cat-s-

face#/>. Acesso em: 11 nov. 2015 às 16:32.

DE PAULA VIEIRA, A., GUESDON, V., DE PASSILLÉ, A.M., VON KEYSERLINGK,

M.A.G., WEARY, D.M. (2008). Behavioural indicators of hunger in dairy calves. Appl.

Anim. Behav. Sci. 109: 180-189.

FILIPEFLOP (2015). DETECTOR DE PROXIMIDADE COM SENSOR

INFRAVERMELHO. Disponível em: <http://blog.filipeflop.com/sensores/sensor-

infravermelho-arduino.html>. Acesso em: 11 nov. 2015 às 17:27.

50

LECHETA, R. R. (2015). Google Android: Aprenda a criar aplicações para

dispositivos móveis com o Android SDK. 5. ed. São Paulo: Novatec, 2015. 1068 p.

(978-85-7522-468-7)

MARTINS, L. F. (2005) Humm, come tudo...: a alimentação ideal para o seu pet estar

sempre bem. Almanaque Gatos & Raças 2005, São Paulo, n. 3, p. 22-25.

MAPA (2015). Ministério da Agricultura: Alimentação Animal. Disponível em:

<http://agricultura.gov.br/animal/alimentacao>. Acesso em: 02 dez. 2015 às 21h12.

MERCADO LIVRE (2015). Mini Balança Digital Diamond - Alta Precisão. Disponível

em: <http://produto.mercadolivre.com.br/MLB-705011151-mini-balanca-digital-

diamond-alta-preciso-01g-ate-500g-_JM>. Acesso em: 7 dez. 2015 às 06h56.

NETBEANS (2015). Introdução aos Web Services RESTful. [S.l.]. Disponível em:

<https://netbeans.org/kb/docs/websvc/rest_pt_BR.html>. Acesso em: 13 dez. 2015 às

22:26.

SUPERFEED. [S.l.] (2015). Disponível em: <http://www.super-feeder.com>. Acesso

em: 11 nov. 2015 às 16:36.

ROBOCORE (2015). Motor de Passo - NEMA 23 - 15,0 kgf.cm. Disponível em:

<https://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=609>. Acesso

em: 11 nov. 2015 às 17h38.

VARGAS, R. M. (2011).. Controle de estoque a distância por dispositivo

móvel. TCC (Graduação) - Curso de Engenharia da Computação, Núcleo de Ciências

Exatas e Tecnológicas, Universidade Positivo, Curitiba, 51 ff. Disponível em:

<http://www.up.edu.br/blogs/engenharia-da-computacao/wp-

content/uploads/sites/6/2015/06/2011.18.pdf>. Acesso em: 12 dez. 2015.