Upload
vuonganh
View
215
Download
0
Embed Size (px)
Citation preview
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).
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
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