MODELO DE MONOGRAFIA - up.edu.br · Este projeto tem como objetivo o desenvolvimento de um sistema...

37
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO DOUGLAS DA SILVEIRA PRANDINI LEANDRO AUGUSTO ZIMERMANN Restaurante Automatizado Trabalho de Conclusão de Curso. Prof. Mauricio Perretto Orientador Curitiba, Setembro de 2010.

Transcript of MODELO DE MONOGRAFIA - up.edu.br · Este projeto tem como objetivo o desenvolvimento de um sistema...

UNIVERSIDADE POSITIVO

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

CURSO DE ENGENHARIA DA COMPUTAÇÃO

DOUGLAS DA SILVEIRA PRANDINI

LEANDRO AUGUSTO ZIMERMANN

Restaurante Automatizado

Trabalho de Conclusão de Curso.

Prof. Mauricio Perretto

Orientador

Curitiba, Setembro de 2010.

2

UNIVERSIDADE POSITIVO

Reitor: Prof. José Pio Martins

Vice-Reitor: Prof. Arno Antonio Gnoatto

Pró-Reitor de Graduação: Prof. Renato Casagrande

Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi

Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

3

Agradecimentos

Primeiramente gostaria de agradecer a meus pais Isabel e Alaercio Prandini por

todo esforço, sacrifícios e dedicação a minha pessoa para que esse objetivo da minha

vida fosse alcançado, minha família e todos os meus amigos, pelo carinho e apoio

incondicional que recebi durante todo o curso.

Ao meu amigo e parceiro de TCC, Leandro que com muito esforço e dedicação

contribuiu de maneira imensurável efetivando de forma brilhante a parceria em

nosso projeto.

Agradeço em especial:

Ao nosso professor Alessandro Brawerman pela idéia do projeto e compra do

modulo Rabbit nos EUA.

Ao nosso professor e orientador Mauricio Perretto pelo empréstimo do módulo

de desenvolvimento Touch Screen para desenvolvimento do projeto e pela sua

incansável disposição para nos atender resolvendo nossas dúvidas.

A todos os professores do corpo docente do curso de Engenharia da Computação

que fizeram parte do meu caminho do início até o fim da graduação.

Douglas da Silveira Prandini.

4

Agradecimentos

Gostaria de começar a agradecer aos meus pais Itamar Zimermann e Roselis Marisa

Zimermann pelo total apoio neste período de faculdade e TCC, facilitando meus

caminhos, apoiando financeiramente e auxiliando nos momentos difíceis, assim como

meus irmãos que sempre me ajudaram de uma forma ou de outra. Também gostaria de

agradecer ao meu amigo Douglas, parceiro incansável neste trabalho, envolvido muito

em todas as etapas, auxiliando-me em assuntos que eu tinha mais dificuldade,

efetivando de forma brilhante a parceria em nosso projeto.

Também agradeço de coração aos amigos Adelson Tamanini e Rita Tamanini,

sempre facilitaram minhas saídas da empresa para fazer este TCC e não só isso, durante

5(cinco) anos compreenderam minhas necessidades de saídas mais cedo para estudar,

pela ajuda de forma transparente e honesta, além do empréstimo financeiro para a

aquisição do módulo Rabbit necessário ao desenvolvimento do TCC.

Agradeço em especial:

Ao nosso professor e amigo Alessandro Brawerman pela idéia do projeto e compra

do módulo Rabbit nos EUA.

Ao nosso amigo, professor e orientador Mauricio Perretto pelo empréstimo do

módulo de desenvolvimento Touch Screen para desenvolvimento do projeto e pela sua

incansável disposição para nos atender resolvendo nossas dúvidas. A todos os

professores do corpo docente do curso de Engenharia da Computação que fizeram parte

do meu caminho do inicio até o fim da graduação.

Leandro Augusto Zimermann.

5

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS ....................................................... 7

LISTA DE FIGURAS ..................................................................................... 8

RESUMO ...................................................................................................... 9

ABSTRACT ................................................................................................ 10

1.0 FUNDAMENTAÇÃO TEÓRICA ......................................................... 11

2.0 HARDWARE ...................................................................................... 12

1.1 Diagrama em Blocos .............................................................................................................. 13 2.3.1 Descrição dos Blocos ..................................................................................................... 14

3.0 SOFTWARE ...................................................................................... 15

3.1 Requisitos funcionais ............................................................................................................. 15

3.2 Requisitos não funcionais ..................................................................................................... 15

3.3 Implantação e Desenvolvimento ......................................................................................... 16 3.3.1 Hardware........................................................................................................................ 16 3.3.2 Descrição dos Blocos ..................................................................................................... 16

3.4 Módulo Rabbit e Touch Screen ............................................................................................. 16 3.4.2 Caso de Uso ................................................................................................................... 18 3.4.3 Diagramas de seqüência. ................................................................................................ 19 3.4.4 Fluxograma Módulo Rabbit e Touch Screen ................................................................. 24

3.5 Servidor e Desenvolvimento ................................................................................................. 25 3.5.1 Fluxograma Servidor ..................................................................................................... 25

3.6 Módulo Rabbit ....................................................................................................................... 26 3.6.1 Fluxograma Firmware .................................................................................................... 26

4.0 ROBÔ ................................................................................................ 27

5.0 RESULTADOS .................................................................................. 28

6

6.0 CONCLUSÃO .................................................................................... 29

REFERÊNCIAS........................................................................................... 30

ANEXOS A ................................................................................................. 31

ANEXOS B ................................................................................................. 32

ANEXOS C ................................................................................................. 33

7

LISTA DE ABREVIATURAS E SIGLAS

BD Banco de Dados

CI Circuito Integrado

DTE Data Terminal Equipment

DCE Data Circuit-terminating Equipment

NCP Network Control Protocol

ARPANET Advanced Research Projects Agency NETwork

TCP/IP Transmission Control Protocol ant Internet Protocol

OSI Open Systems Interconnection

ASCII American Standard Code for Information Interchange

8

LISTA DE FIGURAS

Figura 1: Esquema da placa Interface entre Serial Rabbit e Display Touch. ............................................ 13

Figura 2: Diagrama em blocos de todo o sistema...................................................................................... 13

Figura 3: Esta figura mostra todas as telas que estão dentro do Display Touch. ..................................... 16

Figura 4: Caso de uso Sistema Restaurante automatizado. ....................................................................... 18

Figura 5: Diagrama de seqüência para fazer um pedido........................................................................... 19

Figura 6: Diagrama seqüência finalizar pedido. ....................................................................................... 20

Figura 7: Diagrama seqüência finalizar pedido. ....................................................................................... 21

Figura 8: Diagrama Seqüência Administrar Cozinha. .............................................................................. 22

Figura 9: Diagrama Seqüência Recebendo dados do Rabbit. ................................................................... 23

Figura 10: Diagrama Seqüência Administrar Cozinha. ............................................................................ 23

Figura 11: Fluxograma Touch Screen. ...................................................................................................... 24

Figura 12: Fluxograma Servidor. .............................................................................................................. 25

Figura 13: Fluxograma Firmware. ............................................................................................................ 26

Figura 14: Exemplo do ambiente do software do Robô. ............................................................................ 27

Figura 15: Mostra o ponto Zero e as mesas. .............................................................................................. 28

9

RESUMO

Seguindo a tendência mundial no avanço da tecnologia para o atendimento de

clientes, propõem-se a criação de um restaurante automatizado, buscando minimizar

o custo de recurso humano com funcionários e também facilitar as solicitações dos

clientes através de cardápio eletrônico, otimizando o tempo de atendimento,

evitando também o inconveniente de um mau atendimento ou erros no pedido.

Este projeto tem como objetivo o desenvolvimento de um sistema automatizado

para restaurantes, onde os clientes terão o conforto para escolher e personalizar seus

pedidos através de um cardápio eletrônico, ou seja, uma interface intuitiva Touch

Screen, ligada a uma central onde todos os dados serão processados, como os

pedidos das mesas e o extrato dos serviços realizados. Todos os dados serão

armazenados em um banco de dados, para futuros estudos na parte financeira do

restaurante, bem como o fechamento do caixa no final do expediente, ajudando

assim na gestão do negócio.

A comunicação entre os módulos (Touch Screen e a Central) é feita através da

tecnologia wireless. Após o pedido ser realizado e processado, um Robô entregará o

pedido na mesa correspondente ao pedido realizado, através do mapeamento das

mesas.

Palavras-Chave: Touch Screen, Wireless, Cardápio eletrônico, restaurante

automatizado, Robô.

10

ABSTRACT

Following the worldwide trend in the advancement of technology in meeting

customers, it proposes the creation of an automated restaurant, with the proposal to

minimize the cost of human resources with officials and also facilitate the

attendance of customers, where they will be met when desirable, and also avoids the

inconvenience of poor service or errors in the application.

This project aims at developing a system automated to restaurants, where

customers will take comfort to choose and customize their requests through an

interface intuitive touch screen that will be connected to a central area all data will

be processed as requests from the tables and extract of the services performed, all

this will be stored in a database, which could later be made in the studies Financial

restaurant, with conditions to close the box at end of the day, helping in the

management.

The communication between modules (Touch Screen and Central) will be done

via wireless technology, after the request is made and sued a robot will deliver the

request to the table corresponding to request made through the mapping tables.

Keywords: Touch Screen, Wireless, Server, Robot.

11

1.0 FUNDAMENTAÇÃO TEÓRICA

Com o passar dos anos a automação vai tomando conta do mercado, começou

com as indústrias, alguns processos diminuíram muito os gastos com folha de

pagamento salarial e também agilizaram a velocidade dos processos aumentando

assim a produção em menos tempo, agora a tendência é que a automação possa

também abranger pequenos estabelecimentos como restaurantes.

Existem alguns sistemas que já fazem algo parecido, o sistema da empresa Pekus

tem um diferencial, os pedidos podem ser feitos através de um celular, a empresa

Habib's possui mais de 30 lojas com o sistema de pedidos por celular. Atualmente, a

Pekus vem desenvolvendo várias soluções com base em tecnologia celular, nas áreas

de auditoria, vendas e pesquisa a grande maioria com via celular.

(http://www.pekus.com.br/frmPaginas.aspx?iIdTipo=3&iIdConteudo=91, 2010).

Uma das tecnologias presentes no mercado, mas de alto custo é a Microsoft

Surface, este projeto foi criado para lugares que precisam de constante inovação na

decoração, alimentação, cardápio e apresentação. É uma mesa com uma tela de 30

polegadas, 5 sensores infravermelhos usados para detecção de movimentos, Sistema

Operacional Vista(http://www.microsoft.com/surface/en/us/default.aspx , 2010).

Surface também possui a capacidade de reconhecer objetos físicos que têm

etiquetas de identificação semelhante à de códigos de barras. Isso significa que

quando um cliente simplesmente define um copo de vinho sobre a superfície de uma

mesa, um restaurante poderá fornecer-lhes informações sobre o vinho que está

requisitando, fotos da vinha veio de alimentos e sugeriu pares personalizados para o

menu daquela noite. A experiência pode se tornar totalmente didática, permitindo

aos usuários acessar informações sobre a região vinícola e nem olhar para os hotéis

recomendados e planejar uma viagem sem sair da mesa

(http://www.microsoft.com/presspass/press/2007/may07/05-29mssurfacepr.mspx,

2010).

12

2.0 HARDWARE

O Restaurante Automatizado é composto por um sistema de mostradores de

cristal líquido, LCD sensíveis ao toque, Display Touch, de 7 polegadas de tamanho.

Os displays apresentam informações do cardápio de forma intuitiva fazendo com

que o toque na tela seja a forma mais simples de se fazer o pedido. O display Touch

recebe comandos pelo toque em imagens de alimentos e bebidas sobre as telas e

executa as trocas de tela. As imagens são armazenadas em uma memória não

volátil. Para que sejam chamadas as telas existe a necessidade que strings

específicos sejam enviados para o Display Touch, o envio destas strings é feita pelo

Módulo Rabbit, que possui um processador interno que aceita firmware feito no

aplicativo Dinamic C.

Módulo Rabbit é um equipamento robusto em que é possível trabalhar com

inteface serial e Wireless ao mesmo tempo. O restaurante automatizado é

exatamente este caso, necessitando da serial para controlar o Display Touch, e após

comandos de fechamento do pedido no Display, o pacote é fechado e enviado por

Wireless para o servidor onde será encaminhado para a produção e logo em seguida

para a entrega.

A interface serial do Rabbit não se comunica com a serial do Display Touch sem

que haja uma conexão entre eles. Apesar de não especificado, foi necessário

acrescentar uma placa com o componente MAX232 para que o mesmo fizesse esta

ligação entre os dois módulos (Figura 1).

13

Figura 1: Esquema da placa Interface entre Serial Rabbit e Display Touch.

Após todos os passos feitos e o pedido pronto pela cozinha do restaurante, o

pedido é colocado em um robô da Lego, para entrega na mesa previamente

mapeada. O robô foi programado com as próprias interfaces gráficas disponíveis nos

computadores da universidade, foi trabalhado com passos e rotações, executando de

forma básica a entrega do pedido, retornando ao ponto inicial.

1.1 Diagrama em Blocos

Figura 2: Diagrama em blocos de todo o sistema.

14

2.3.1 Descrição dos Blocos

O Sistema de Automação de Restaurante conta com um Display Touch que

recebe a entrada de informações fornecidas pelo cliente de acordo com o seu pedido.

Estas informações são enviadas através da comunicação serial para o Módulo

HabbitCoret Wireless. Este módulo recebe as informações, executa o tratamento e

codificação do pacote, enviando-o ao servidor através do Wireless. O pacote

enviado por Wireless é recebido por um servidor, colocando o pedido em uma fila.

Na tela do servidor irá existir uma fila de pedidos todos em ordem de chegada. Com

o pedido pronto, o cozinheiro coloca o pedido em um robô Lego, o robô estará

mapeado com todas as posições das mesas. Após a entrega, o robô irá retornar ao

local de origem.

15

3.0 SOFTWARE

Para a programação do Firmware é necessário a instalação do aplicativo

DynamicC no computador onde será feita a programação e o desenvolvimento do

software em linguagem C, com um cabo serial é possível gravar o Firmware em

desenvolvimento no Módulo Rabbit. Para o servidor é usado a linguagem C#, com

toda a interface gráfica para facilitar o uso, no servidor também são programados

desde a comunicação via Wireless até o processamento do pedido para o chefe de

cozinha. As imagens carregadas no Display são necessariamente enviadas por

programa chamado BMPload_1_10_0, estas imagens são passadas por um cabo

serial ligado no computador onde as imagens se encontram até o Display Touch,

estas imagens são gravadas em ordem de entrada, se a gravação não for completa ou

de alguma forma for esquecida a entrada de alguma imagem todo o procedimento de

gravar as imagens com o Display deverão ser feitas novamente.

3.1 Requisitos funcionais

Fazer Pedido

Personalizar Pedido

Finalizar Pedido

Exibir Estatísticas do Restaurante

3.2 Requisitos não funcionais

O servidor será operado em ambiente Windows

Banco de dados instalado no Servidor

Ter instalado .NET Framework 3.5

Servidor deverá ter placa de rede wireless instalado

Finalizar Pedido.

16

3.3 Implantação e Desenvolvimento

3.3.1 Hardware

Computador com placa de rede sem fio wireless

Módulo Rabbit

3.3.2 Descrição dos Blocos

Servidor com sistema operacional Windows 7 com banco de dados e

plataforma .NET Framework 3.5 ou superior.

3.4 Módulo Rabbit e Touch Screen

3.4.1 Descrição do Módulo Rabbit e Touch Screen

O módulo Touch Screen deve ser primeiramente carregado com as respectivas

imagens nomeadas de acordo com as posições nas telas de pedidos, exatamente

como na Figura 3.

Figura 3: Esta figura mostra todas as telas que estão dentro do Display Touch.

17

Para que estas imagens possam ser chamadas corretamente deve-se enviar um

comando serial, estes comandos devem ser passados para o Display da mesma forma

que um computador envia. Então com o uso de uma placa de interface serial com o

componente MAX232 é possível fazer com que o Rabbit envie corretamente os

comandos para o Display.

Os comandos são usados repetitivamente. Um exemplo é a letra z, para limpar a

tela. Os comandos são os seguintes:

z //Limpa Tela

bb 0 //Desliga o Bip (Padrão)

z

bb 10 //Liga o Bip

z

bd 0 50 20 2 " " " " 100 100 100 100 1 2 //Imagem Inicial (imagem 1 e 2)

bd 31 290 210 2 " " " " 25 25 25 25 44 45 //Imagem do Alto-falante (imagem 44 e 45)

z

bd 1 10 10 2 " " " " 100 100 100 100 5 6 //Imagem Pratos(imagem 5 e 6)

bd 2 10 130 2 " " " " 100 100 100 100 7 8 //Imagem Lanches (imagem 7 e 8)

bd 3 130 10 2 " " " " 100 100 100 100 9 10 //Imagem Bebidas(imagem 9 e 10)

bd 4 130 130 2 " " " " 100 100 100 100 11 12 //Imagem Sobremesa (imagem 1 e 2)

bd 5 240 130 2 " " " " 75 75 75 75 3 4 //Imagem Fechar Pedido (imagem 3 e 4)

z

bd 6 10 10 2 " " " " 100 100 100 100 13 13 //Imagem Comercial 1 (imagem 13)

bd 7 10 130 2 " " " " 100 100 100 100 14 14 //Imagem Comercial 2 (imagem 14)

bd 8 150 10 2 " " " " 100 100 100 100 15 15 //Imagem Comercial 3 (imagem 15)

bd 9 150 130 2 " " " " 100 100 100 100 25 25 //Imagem Sair do Menu (imagem 25)

z

bd 10 10 10 2 " " " " 100 100 100 100 16 16 //Imagem Cheese (imagem 16)

bd 11 10 130 2 " " " " 100 100 100 100 17 17 //Imagem Fritas (imagem 17)

bd 12 150 10 2 " " " " 100 100 100 100 18 18 //Imagem Cheese e Fritas (imagem 18)

bd 13 150 130 2 " " " " 100 100 100 100 25 25 // Imagem Sair do Menu (imagem 25)

z

bd 14 10 10 2 " " " " 100 100 100 100 19 19 //Imagem Refri Coca (imagem 19)

bd 15 10 130 2 " " " " 100 100 100 100 20 20 //Imagem Suco Uva (imagem 20)

bd 16 150 10 2 " " " " 100 100 100 100 21 21 //Imagem Suco Laranja (imagem 21)

bd 17 150 130 2 " " " " 100 100 100 100 25 25 // Imagem Sair do Menu (imagem 25)

z

bd 18 10 10 2 " " " " 100 100 100 100 22 22 //Imagem Cake de Baunilha (imagem 22)

bd 19 10 130 2 " " " " 100 100 100 100 23 23 //Imagem Pudim de Leite (imagem 23)

bd 20 150 10 2 " " " " 100 100 100 100 24 24 //Imagem Torta de Banana(imagem 24)

bd 21 150 130 2 " " " " 100 100 100 100 25 25 // Imagem Sair do Menu (imagem 25)

z

t "Quantidade do Item" 120 5 //Texto usado para mostrar o que se refere esta tela

18

bd 22 25 25 2 " " " " 50 100 50 100 26 27 // Quantidade 1 de itens (imagem 26 e 27)

bd 23 25 80 2 " " " " 50 100 50 100 28 29 // Quantidade 2 de itens (imagem 28 e 29)

bd 24 25 135 2 " " " " 50 100 50 100 30 31 // Quantidade 3 de itens (imagem 30 e 31)

bd 25 25 190 2 " " " " 50 100 50 100 32 33 // Quantidade 4 de itens (imagem 32 e 33)

bd 26 160 25 2 " " " " 50 100 50 100 34 35 // Quantidade 5 de itens (imagem 34 e 35)

bd 27 160 80 2 " " " " 50 100 50 100 36 37 // Quantidade 6 de itens (imagem 36 e 37)

bd 28 160 135 2 " " " " 50 100 50 100 38 39 // Quantidade 7 de itens (imagem 38 e 39)

bd 29 160 190 2 " " " " 50 100 50 100 40 41 // Quantidade 8 de itens (imagem 40 e 41)

bd 30 269 25 2 " " " " 230 50 230 50 42 43 // Sair (imagem 42 e 43)

z

t "Relação dos Itens do Pedido\n\n" 10 30 //Texto usado para mostrar o que se refere esta tela

t "Refrigerante Coca\n" //Texto usado para mostrar os itens escolhidos

t "Macarrã0 Alho e Óleo\n" //Texto usado para mostrar os itens escolhidos

xi 50 260 0 //Imagem Azul (imagem 50)

bd 32 265 60 2 " " " " 50 50 50 50 46 47 // Imagem Aceitar Pedido (imagem 46 e 47)

bd 33 265 130 2 " " " " 50 50 50 50 48 49 // Imagem Cancelar Pedido (imagem 48 e 49)

3.4.2 Caso de Uso

Figura 4: Caso de uso Sistema Restaurante automatizado.

A figura 4 mostra o caso de uso de todo o sistema, onde o cliente pode fazer um

pedido, customizá-lo, finalizar ou cancelar o mesmo.

Quando o cliente finalizar o pedido, o sistema comunica-se com a central,

dizendo o que o cliente deseja, assim ela guarda essas informações em fila,

armazena em uma base de dados para ser usado posteriormente.

19

Após essa etapa, o administrador do restaurante, gerente, ou até mesmo o

cozinheiro, irá verificar os pedidos e indicará ao robô qual mesa deverá ser entregue

o pedido.

3.4.3 Diagramas de seqüência.

Figura 5: Diagrama de seqüência para fazer um pedido.

A figura 5 mostra o diagrama de seqüência de quando o cliente escolhe um item,

o que ele vai querer em um cardápio, (ex. Lanches, sobremesas...), o Touch informa

para o Rabbit qual cardápio o cliente escolheu, e o mesmo mostra a tela com as

opções de refeições para o cliente continuar escolhendo.

Logo após o cliente escolher um item, o Touch informa para o Rabbit qual item

o cliente escolheu, e o mesmo mostra a tela com as quantidades que o usuário

poderá escolher de cada item. O cliente informa a quantidade, e o pedido é

finalizado.

20

Figura 6: Diagrama seqüência finalizar pedido.

A figura 6 mostra o diagrama de seqüência quando o cliente finaliza um pedido,

o Touch informa ao módulo do Rabbit que o pedido será finalizado, mostrando na

tela todos os pedidos do cliente junto com sua quantidade.

O cliente nessa hora aceita o pedido e o Touch informa o módulo Rabbit, este

avisa a central qual pedido foi realizado e em seguida mostra o cardápio principal

novamente caso o cliente queira fazer outro pedido.

21

Figura 7: Diagrama seqüência finalizar pedido.

A figura 7 mostra o diagrama de seqüência quando o cliente cancela um pedido.

É uma seqüência onde o Touch informa o módulo do Rabbit que o pedido será

finalizado, logo após o Rabbit plota a tela com todos os pedidos do cliente junto com

sua quantidade.

O cliente nessa hora cancela o pedido e o Touch informa o módulo Rabbit, que

em seguida mostra o cardápio principal novamente para o cliente.

22

Figura 8: Diagrama Seqüência Administrar Cozinha.

A figura 8 mostra o diagrama de seqüência quando o administrador pode

verificar e atualizar o status do pedido (status finalizado), primeiramente ele pode

consultar quais pedidos encontram-se abertos, a central faz uma rápida consulta ao

banco de dados, retornando os pedidos abertos.

O administrador poderá atualizar o pedido caso o mesmo já tenha sido entregue,

marcando o mesmo com um sinal finalizado. A central informa para a base de

dados que o mesmo já foi entregue.

23

Figura 9: Diagrama Seqüência Recebendo dados do Rabbit.

A figura 9 mostra a seqüência de envio de dados do Rabbit para a central, onde

são decodificados e enviados para o banco de dados os pedidos recebidos pelo

cliente.

Figura 10: Diagrama Seqüência Administrar Cozinha.

A figura 10 mostra a seqüência em que o administrador da cozinha configura o robô

para entregar o pedido até a mesa.

Primeiramente o administrador configura qual mesa o robô deve ir, logo após coloca

o pedido no mesmo, acionando-o para a entrega do pedido. O robô vai até a mesa, faz a

entrega e volta para o ponto de início (cozinha).

24

3.4.4 Fluxograma Módulo Rabbit e Touch Screen

Figura 11: Fluxograma Touch Screen.

25

3.5 Servidor e Desenvolvimento

O desenvolvimento do software do sistema pode ser separado em duas partes, o

software do firmware (Rabbit para controlar o Touch e se comunicar com a central)

e o software da central (Servidor).

A central(servidor) foi feita em duas etapas.

A primeira recebe os dados via conexão socket, processando-os para identificar

o que o usuário pediu, na segunda etapa todas essas informações foram gravadas em

banco de dados, para possibilitar a retirada de relatórios, gerando estatísticas de

consumo do restaurante.

3.5.1 Fluxograma Servidor

Figura 12: Fluxograma Servidor.

26

3.6 Módulo Rabbit

A princípio foi desenvolvido o Firmware para conectar o módulo Rabbit na

central via WI-FI

Com o Touch e a comunicação WI-FI funcionando, a última etapa de

desenvolvimento do Firmware foi a execução da lógica (regra de negócio) do

restaurante, onde foi utilizada a linguagem ANSI-C.

3.6.1 Fluxograma Firmware

Figura 13: Fluxograma Firmware.

27

4.0 ROBÔ

O Robô que fará a entrega è da marca Lego modelo Mindstorms

(http://mindstorms.lego.com/en-us/default.aspx - Lego - 2010) foi programado com

a interface gráfica fornecida pelo fabricante (figura 14). A combinação de

comandos é por blocos, cada bloco representa um movimento, então basicamente foi

trabalhado com movimentos de rotação (duas rodas girando juntas) e angulação

(uma roda girando para ficar no ângulo desejado).

Figura 14: Exemplo do ambiente do software do Robô.

O Robô entrega o pedido na mesa onde foi configurado. Na memória do Robô

foram configuradas três mesas, quando o cozinheiro ou administrador aperta o botão

da mesa o Robô faz a entrega, após a entrega ele volta ao ponto zero esperando

outro pedido, poderiam gravar muitas mesas na memória, também poderiam ter mais

robôs no restaurante (figura 15).

28

Figura 15: Mostra o ponto Zero e as mesas.

5.0 RESULTADOS

O sistema como um todo, funcionou perfeitamente, porém muitas vezes ocorrem

falhas de comunicação tanto no modulo wireless quanto no modulo RS-232. Testes

realizados mostraram que clicando rápido na tela, a comunicação entre Touch-

Screen e Rabbit se perde, o modulo de Touch-Screen dispara muitos eventos a cada

toque e o modulo Rabbit em todas as vezes não consegue receber a mensagem em

que este teste foi feito, pois o mesmo está processando a requisição anterior.

Outra falha de comunicação é quando se finaliza o pedido do restaurante e o

mesmo é enviado via socket para a central, muitas das vezes a mensagem não chega

ao destino imediatamente, demorando muito, porém, essa mensagem não é perdida,

ela simplesmente custa a chegar, sempre em torno de um a dois minutos. Essa falha

do modulo Rabbit acontece com muita freqüência, os testes realizados mostram que

a cada dez finalizações de pedido, cinco custam a chegar ao destino imediatamente.

29

6.0 CONCLUSÃO

O projeto Restaurante Automatizado teve como objetivo mostrar um controle de

pedidos e entregas reduzindo o tempo de atendimento, a mão de obra assim como

erros em anotar pedidos, se mostrando ser bastante eficiente em relação ao tempo de

entrega.

Os resultados mostraram uma nova forma mais tecnológica de tratamento de

clientes de restaurantes, principalmente cliente os que se adaptam à tecnologia de

forma mais amigável, fazendo com que o mesmo faça o pedido quando estiver com

vontade. Este projeto melhora a acessibilidade a pessoas com dificuldade auditiva

facilitando seu pedido sem constrangimento.

Basicamente o cliente senta-se à mesa, coloca o aparelho na posição para

começar o pedido, clica em fazer pedido e escolhe o que gostaria de pedir. Assim

que o pedido é finalizado, o mesmo é enviado por rede sem fio ao servidor que

estará aguardando os pedidos, o cozinheiro irá tratar do pedido e assim que estiver

pronto, coloca-o em um Robô para fazer a entrega.

O Robô está com todas as posições das mesas mapeadas na sua memória, assim

que o cozinheiro colocar o pedido, ele irá executar a rotina de entrega de acordo

com as posições previamente gravadas na memória .

A intenção deste projeto não é diminuir vagas de garçons, muito pelo contrário, é

de dar mais opções aos comerciantes, principalmente quem gosta de ter a tecnologia

como uma aliada para o funcionamento do seu negócio.

30

REFERÊNCIAS

S. gast, MattheW. 802.11 Wireless network. 2 ed. O'Reilly Media INC. Sebastopol,

CA, EUA. 2005

D. Michael, C. Kenneth TCP/IP Sockets in C: Practical Guide for Programmers.

Elsevier INc. Burlington, MA, EUA, 2009

S. Rob, L. Paul, P. Mridula, G. Meeta. TCP/IP a Biblia. Elsevier, Rio de Janeiro - RJ.

2002

A. Jan. Serial Port Complete. Lakeview Research. Madison, WI, EUA. 2000

E. COMER, DOUGLAS. REDES DE COMPUTADORES E INTERNET. Prentice

Hall. Sao Paulo - SP. 2004

S. Herbert. C Completo e Total. 3 ed. 1997. 856p

R. Messias, Antonio. COMUNICAÇÃO COM A PORTA SERIAL. Disponivel em:

http://www.rogercom.com. Menu Serial Acessado em: 19 de Março de 2010.

C. Edmur. MINICURSO - Comunicação Serial - RS232. Disponivel em:

http://www.professores.aedb.br/arlei/AEDB/Arquivos/rs232.pdf. Acessado em: 19 de

Março de 2010.

M, Herbert. Treinamento Profissional em C#.Sao Paulo: Digerati Books, 2006 160 p.

F. Adam. Pro .NET 4 Parallel Programming in C#. Apress. New York, EUA. 2010.

S. Andrew, G. Jennifer. Head First C#. O'Reilly Media INC.Sebastopol, CA, EUA.

2010

Microsoft Surface

< http://www.microsoft.com/surface/en/us/default.aspx > Acessado em: Outubro de

2010

Microsoft Surface

< http://www.microsoft.com/presspass/press/2007/may07/05-29mssurfacepr.mspx

> Acessado em: Outubro de 2010

31

ANEXOS A

32

ANEXOS B

33

ANEXOS C

Restaurante Automatizado

Leandro A. Zimermann – [email protected] Formando do Curso de Engenharia da Computação - Universidade Positivo. Douglas Prandini – [email protected] Formando do Curso de Engenharia da Computação - Universidade Positivo. Mauricio Perreto - [email protected] Orientador - Universidade Positivo. Endereço para contato: Universidade Positivo – UP. Curso de Engenharia da Computação Rua Prof. Pedro Viriato Parigot de Souza, 5300 – Campo Comprido 81280-330, Curitiba – PR Resumo: Seguindo a tendência mundial no avanço da tecnologia no atendimento de clientes, propõem-se a criação de um restaurante automatizado, com a proposta de minimizar o custo de recurso humano com funcionários e também facilitar o atendimento dos clientes, onde os mesmos serão atendidos no momento desejável, evitando também o inconveniente de mau atendimento ou erros no pedido. Este projeto tem como objetivo o desenvolvimento de um sistema automatizado para restaurantes, onde os clientes terão o conforto para escolher e personalizar seus pedidos através de uma interface intuitiva Touch Screen que vai estar ligada a uma central onde todos os dados serão processados, como os pedidos das mesas e o extrato dos serviços realizados, tudo isso será armazenado em um banco de dados, que mais tarde poderão ser feitos estudos na parte financeira do restaurante, tendo condições de fechar o caixa no final do expediente, ajudando assim na gestão. A comunicação entre os módulos (Touch Screen e a Central) Será feita através da tecnologia wireless, após o pedido ser realizado e processado um Robô entregará o pedido até a mesa correspondente ao pedido realizado, através do mapeamento das mesas. Palavras-chave: Touch Screen, Wireless, Cardápio eletrônico, restaurante automatizado, Robô. Abstract: Following the worldwide trend in the advancement of technology in meeting customers, it proposes the creation of an automated restaurant, with the proposal to minimize the cost of human resources with officials and also facilitate the attendance of customers, where they will be met when desirable, and also avoids the inconvenience of poor service or errors in the application. This project aims at developing a system automated to restaurants, where customers will take comfort to choose and customize their requests through an interface intuitive touch screen that will be connected to a central area all data will be processed as requests from the tables and extract of the services performed, all this will be stored in a database, which could later be made in the studies Financial restaurant, with conditions to close the box at end of the day, helping in the management. The communication between modules (Touch Screen and Central) will be done via wireless technology, after the request is made and sued a robot will deliver the request to the table corresponding to request made through the mapping tables. Key words: Touch Screen, Wireless, Server, Robot.

34

2. INTRODUÇÃO O Restaurante Automatizado é composto por um sistema de mostradores de cristal líquido, LCD sensíveis ao toque, Display Touch, de sete polegadas de tamanho. Os displays apresentam informações do cardápio de forma intuitiva fazendo com que o toque na tela seja a forma mais simples de se fazer o pedido. O display Touch recebe comandos pelo toque em imagens de alimentos e bebidas sobre as telas e executa as trocas de tela. As imagens são armazenadas em uma memória não volátil. Para que sejam chamadas as telas existe a necessidade que strings específicos sejam enviados para o Display Touch, o envio destas strings é feita pelo Módulo Rabbit, que possui um processador interno que aceita firmware feito no aplicativo Dinamic C. 2.1 Modulo Rabbit Módulo Rabbit é um equipamento robusto em que é possível trabalhar com inteface serial e Wireless ao mesmo tempo 2.2 Modulo Rabbit Módulo Rabbit é um equipamento robusto em que é possível trabalhar com inteface serial e Wireless ao mesmo tempo. O restaurante automatizado é exatamente este caso, necessitando da serial para controlar o Display Touch, e após comandos de fechamento do pedido no Display, o pacote é fechado e enviado por Wireless para o servidor onde será encaminhado para a produção e logo em seguida para a entrega. A interface serial do Rabbit não se comunica com a serial do Display Touch sem que haja uma conexão entre eles. Apesar de não especificado, foi necessário acrescentar uma placa com o componente MAX232 para que o mesmo fizesse esta ligação entre os dois módulos (Figura 2.1).

Figura 2. 1: Esquema da placa Interface entre Serial Rabbit e Display Touch.

2.3 Software Todo o sistema embarcado foi programado em ANSI C, utilizando a IDE DynamicC, fornecida pelo próprio fabricante do módulo RABBIT. Para o servidor é usado a linguagem C#, com toda a interface gráfica para facilitar o uso, no servidor também são programados desde a comunicação via Wireless até o processamento do pedido para o chefe de cozinha. As imagens carregadas no Display são necessariamente enviadas por programa chamado BMPload_1_10_0, estas imagens são passadas por um cabo serial ligado no computador onde as imagens se encontram até o Display Touch(Figura 2.2 e 2.3), estas imagens são gravadas em ordem de entrada, se a gravação não for completa ou de alguma forma for esquecida a entrada de alguma imagem todo o procedimento de gravar as imagens com o Display deverão ser feitas novamente.

35

Figura 2. 2: Esquema da placa Interface entre Serial Rabbit e Display Touch.

Figura 2. 3: Esquema da placa Interface entre Serial Rabbit e Display Touch.

36

2.3.1 Caso de Uso

Figura 3. 1: Caso de uso Sistema Restaurante automatizado

A figura 3.1 mostra o caso de uso de todo o sistema, onde o cliente pode fazer um pedido, customizá-lo, finalizar ou cancelar o mesmo. Quando o cliente finalizar o pedido, o sistema comunica-se com a central, dizendo o que o cliente deseja, assim ela guarda essas informações em fila, armazena em uma base de dados para ser usado posteriormente. Após essa etapa, o administrador do restaurante, gerente, ou até mesmo o cozinheiro, irá verificar os pedidos e indicará ao robô qual mesa deverá ser entregue o pedido. 3.0 RESULTADOS O sistema como um todo, funcionou perfeitamente, porém muitas vezes ocorrem falhas de comunicação tanto no modulo wireless quanto no modulo RS-232. Testes realizados mostraram que clicando rápido na tela, a comunicação entre Touch-Screen e Rabbit se perde, o modulo de Touch-Screen dispara muitos eventos a cada toque e o modulo Rabbit em todas as vezes não consegue receber a mensagem em que este teste foi feito, pois o mesmo está processando a requisição anterior. Outra falha de comunicação é quando se finaliza o pedido do restaurante e o mesmo é enviado via socket para a central, muitas das vezes a mensagem não chega ao destino imediatamente, demorando muito, porém, essa mensagem não é perdida, ela simplesmente custa a chegar, sempre em torno de um a dois minutos. Essa falha do modulo Rabbit acontece com muita freqüência, os testes realizados mostram que a cada dez finalizações de pedido, cinco custam a chegar ao destino imediatamente.

CONCLUSÃO

O projeto Restaurante Automatizado teve como objetivo mostrar um controle de pedidos e entregas reduzindo o tempo de atendimento, a mão de obra assim como erros em anotar pedidos, se mostrando ser bastante eficiente em relação ao tempo de entrega. Os resultados mostraram uma nova forma mais tecnológica de tratamento de clientes de restaurantes, principalmente cliente os que se adaptam à tecnologia de forma mais amigável, fazendo com que o mesmo faça o pedido quando estiver com vontade. Este projeto melhora a acessibilidade a pessoas com dificuldade auditiva facilitando seu pedido sem constrangimento. Basicamente o cliente senta-se à mesa, coloca o aparelho na posição para começar o pedido, clica em fazer pedido e escolhe o que gostaria de pedir. Assim que o pedido é finalizado, o mesmo é enviado por rede sem fio ao servidor que estará aguardando os pedidos, o cozinheiro irá tratar do pedido e assim que estiver pronto, coloca-o em um Robô para fazer a entrega. O Robô está com todas as posições das mesas mapeadas na sua memória, assim que o cozinheiro colocar o pedido, ele irá executar a rotina de entrega de acordo com as posições previamente gravadas na memória .

37

A intenção deste projeto não é diminuir vagas de garçons, muito pelo contrário, é de dar mais opções aos comerciantes, principalmente quem gosta de ter a tecnologia como uma aliada para o funcionamento do seu negócio.

REFERÊNCIAS S. gast, MattheW. 802.11 Wireless network. 2 ed. O'Reilly Media INC. Sebastopol, CA, EUA. 2005 D. Michael, C. Kenneth TCP/IP Sockets in C: Practical Guide for Programmers. Elsevier INc. Burlington, MA, EUA, 2009 S. Rob, L. Paul, P. Mridula, G. Meeta. TCP/IP a Biblia. Elsevier, Rio de Janeiro - RJ. 2002 A. Jan. Serial Port Complete. Lakeview Research. Madison, WI, EUA. 2000 E. COMER, DOUGLAS. REDES DE COMPUTADORES E INTERNET. Prentice Hall. Sao Paulo - SP. 2004 S. Herbert. C Completo e Total. 3 ed. 1997. 856p R. Messias, Antonio. COMUNICAÇÃO COM A PORTA SERIAL. Disponivel em: http://www.rogercom.com. Menu Serial Acessado em: 19 de Março de 2010. C. Edmur. MINICURSO - Comunicação Serial - RS232. Disponivel em: http://www.professores.aedb.br/arlei/AEDB/Arquivos/rs232.pdf. Acessado em: 19 de Março de 2010. M, Herbert. Treinamento Profissional em C#.Sao Paulo: Digerati Books, 2006 160 p. F. Adam. Pro .NET 4 Parallel Programming in C#. Apress. New York, EUA. 2010. S. Andrew, G. Jennifer. Head First C#. O'Reilly Media INC.Sebastopol, CA, EUA. 2010