Você está na página 1de 6

Controle de Fluxo de Passageiros em um nibus Urbano

Danielle Ribeiro, Durval Printes, Flvia Monteiro, Gustavo Schimitt, Jorge Reis, Thiago Augusto
IESAM - Avenida Gov. Jos Malcher, 1148 - Nazar - Belm-PA.

Resumo Este artigo tem como objetivo, descrever o projeto de desenvolvimento de um processo de monitoramento e controle de fluxo de passageiros em transportes coletivos, este processo por sua vez est divido em duas grandes partes, a saber, desenvolvimento do circuito monitorador/controlador e desenvolvimento da aplicao de anlise dos dados, para o desenvolvimento utilizou-se o mdulo Arduno, como microcontrolador, sensores e dispositivos de armazenamento, para o desenvolvimento da aplicao de analise dos dados, optou-se pela linguagem de programao Java, com a IDE NetBeans, driver de conexo JDBC e biblioteca grfica jFreeChart. Palavras Chaves: Arduino, microcontrolador, sensor, nibus, Java, JDBC, jFreeChart. I. MOTIVAO E OBJETIVOS

II. HARDWARE DO SISTEMA O hardware do sistema constitudo por um conjunto de componentes que responsvel pela criao da interface mundo computador. Os componentes principais utilizados para a composio do hardware foram: o Microcontrolador; o Sensores; o Dispositivo de armazenamento; Atravs de um processo de levantamento de requisitos e variveis as quais englobam a problemtica do sistema, foi determinado os componentes que melhor se encaixam no contexto trabalhado, levando em considerao aspectos como: custo, suporte e facilidade de implementao. O microcontrolador escolhido para este projeto foi o Arduino. Assim como os demais microcontroladores ele possui um processador, memria e pinos de entrada/sada, diferindo dos demais pela velocidade de processamento, quantidade de memria interna e pinos de I/O. A plataforma Arduino foi utilizada por ser um ambiente open-source, flexvel, acessvel, de baixo custo e de fcil implementao. A placa Arduino constituda pelo microcontrolador Atmel AVR, e possui uma linguagem de programao baseada em C/C++, alm de conter uma poro de placas de extenses chamadas de Shields, que disponibilizam varias funes especficas como, manipulao de motores, sistemas sem-fio, e no nosso caso: armazenamento de dados.

Este projeto tem por objetivo o controle e monitoramento do fluxo de passageiros em transportes coletivos, como se sabe o transporte coletivo, sofre h muito com a superlotao e tendo em vista a existncia de uma legislao que determinar a carga mxima neste tipo de transporte fica evidente que esta legislao no obedecida, ento este projeto tem como motivao principal o aumento da qualidade de vida dos usurios do transporte publico coletivo uma vez que pode ser usado para o monitoramento da superlotao nos mesmo pelos rgos pblicos competentes.

Fig. 2 Arduino Mega Fig. 1 Modelo conceituao do processo

Para coletar as informaes do fluxo de entrada e sada de passageiros, foi utilizado o sensor de barreira

infravermelha. Este tipo de sensor formado por duas extremidades que criam um feixe de luz invisvel ao olho nu, que ativado a partir da interrupo dessa luz, ou seja, quando algum cruza essa barreira. A figura 2 descreve o esquema do sensor de barreira infravermelho, que constitudo por um par de circuitos, emissor (em rosa) e receptor (em azul) infravermelho, alinhados sobrepostos para que haja a criao do feixe de luz IR(Infrared). O sistema sensorial do projeto formado por dois pares de sensores de barreira colocados na porta de entrada, e dois pares na porta de sada do nibus, para o controle de excees.

As informaes captadas pelos sensores so recebidas pelo Arduino pelos seus pinos de entrada analgica onde sero processadas. Na programao do Arduino, especificado quais pinos sero usados, e atravs de um algoritmo de um filtro determinado uma faixa de variao onde capaz de determinar quando o feixe de luz IR interrompido pela passagem uma pessoa. Segue abaixo o fluxograma do funcionamento do programa referente aos sensores da porta de entrada:

Fig. 3 Esquema do circuito do sensor de barreira IR

No circuito receptor usado transistores com a funo de amplificar o sinal gerado pelo fotodiodo. O fotodiodo funciona de forma reversa, variando a corrente de acordo com a deteco da luz infravermelha, quanto maior a incidncia de luz IR, maior ser a corrente reversa. Os circuitos sero colados de forma que o circuito receptor sempre detecte a luz IR emitida pelo circuito emissor, assim quando essa comunicao for cortada ser possvel atravs do sinal gerado pelo receptor identificar quando uma pessoa esta passando pela porta. Atravs da colocao dos pares de sensores de barreira em uma porta, ser possvel controlar no somente a entrada e sada normal de passageiros, mas tambm, por exemplo, a sada pela porta da frente por um passageiro com prioridade (idosos, deficientes fsicos, gestantes e outros) e a entrada pela porta de traz por um vendedor ambulante. Todos esses tipos de excees sero tratados pelo programa no Arduino.

Fig. 5 Fluxograma do comportamento do programa referente a porta de entrada do nibus urbano.

Os dados gerados pelo programa sero no formato de LOG, onde sero guardadas as informaes de data, hora e tipo de dado: IN (entrada normal), OUT (sada normal) e EXC (excees de entrada e sada). Essas informaes sero armazenadas em um dispositivo de armazenamento. O carto SD foi o dispositivo de armazenamento escolhido para essa funo, por ter memria flash e com isso pode ser regravado vrias vezes, alm de ter seu design fino, compacto e de fcil manuseio. Para fazer a interface entre o Arduino e o carto SD utilizado o Shield SD Card.

Fig. 4 Funcionamento dos sensores no nibus.

Fig. 6 Shield SD Card

Essa placa de extenso do Arduino disponibiliza uma interface para leitura e gravao no carto SD, cria e apaga arquivos .txt. Abaixo na figura 6, segue a imagem das informaes gravadas no carto SD.

Fig. 9 Gerador de dados simulados

Fig. 7 Informaes gravadas no Carto SD

Este programa se mostrou eficiente na simulao do comportamento esperado para entradas e sada de passageiros no coletivo, e foi utilizado como ferramenta de apio durante todo o desenvolvimento da aplicao principal. IV. BANCO DE DADOS Para centralizar e processar o grande volume de dados esperado optou-se pela utilizao de um SGDBR (Sistema de Gerenciamento de Bancos de Dados Relacionais), para esta tarefa foi escolhido o MySQL, pois o mesmo apresenta caractersticas favorveis ao projeto como, por exemplo, ser software livre, dispes de grande volume de documentao altamente acessvel, grande disponibilidade de ferramentas para o gerenciamento e modelagem de bancos de dados, possibilidade de ser escalado para uma arquitetura em clusters, compatibilidade com os servidores Web atuais, oque permitira o acesso aos dados via Web. Para o desenvolvimento do diagrama entidade relacionamento foi utilizado o aplicativo: MySQL Workbench e para a criao e edio das consultas SQL foi utilizado o MySQL Query Browser. O DER (Diagrama Entidade Relacionamento) do sistema mostrado na fig. Xxx.

O resultado da juno de todos esses componentes trabalhando em conjunto foi um sistema de hardware capaz de controlar o fluxo de passageiros em um nibus urbano, alm de coletar dados importantes para analise no software de sistema de controle, que ser detalhado mais a frente no artigo.

Fig. 8 Sistema de Hardware por viso lateral.

Fig. 8 Sistema de Hardware por viso area.

III. SISTEMA GERADOR DE DADOS A fim de simular o comportamento do implementou-se um programa para gerao do log dos dados, Gerador.exe, este programa foi desenvolvido usando a linguagem de programa C++, com a IDE/RAD (Integrated Development Environment / Rapid Application Development) C++ Builder 2009.

Fig. 10 DER do banco de dados

Este modelo consiste de uma tabela que armazenar os registros das vrias empresas cadastradas no sistema,

outra tabela para armazenar os usurios do sistema e uma terceira e mais importante que armazenar todos registros de entrada e sadas ocorridos no veculo. V. APLICAO Para o desenvolvimento do software do sistema foram usadas as seguintes ferramentas: A linguagem JAVA, a IDE Netbeans, a biblioteca para grficos JFreeChart, o SGBD MySQL e a API JDBC. A linguagem JAVA possui as vantagens de independncia de qualquer plataforma necessitando-se apenas de sua mquina virtual (JVM) e por ser uma linguagem orientada a objetos, enfatizando ento as caractersticas de portabilidade, reusabilidade e manutenabilidade ao software. O ambiente de desenvolvimento integrado NetBeans oferece muitas ferramentas para o desenvolvimento rpido de aplicaes em JAVA e em outras linguagens. A JFreeChart uma poderosa e completa biblioteca livre (GNU LGPL) desenvolvida em JAVA para criao de grficos profissionais. Algumas das maiores vantagens quanto ao uso do sistema de gerenciamento de banco de dados MySQL so a alta compatibilidade com a linguagem JAVA e a baixa exigncia de processamento quanto ao uso de recursos ou instrues SQL, consequentemente, uma alta agilidade. Faz-se necessrio ento, o uso da API JDBC para criar a ligao entre o SGDBR e a aplicao JAVA. Para acessar a janela principal do software necessria a autenticao de acesso do operador, cujo ir manusear a aplicao, atravs de uma tela de login (Fig. 1).

Fig. 12 Janela principal.

Fig. 13 Funcionalidades da janela principal.

A tela principal da aplicao possui trs funcionalidades importante (cadastrar, atualizar e visualizar), cada uma ligada a no mnimo uma nova janela, constituindo um total de cinco. As janelas para insero de dados so as de cadastros de empresas (Fig. 4) e de operadores (Fig. 5) e a janela de carregamento de novos registros na base de dados, contidos no arquivo LOG.TXT produzido pelo circuito (Fig. 6).

Fig. 14 Janela de cadastro de empresas. Fig. 11 Janela de login.

Na janela principal a primeiro momento poder ser visualizados o nome do operador que efetuou login anteriormente, a quantidade de empresas e de registros existentes na base de dados (Fig. 2). As interfaces de insero e visualizao dos dados podero ser acessadas na barra de menu (Fig. 3).

Fig. 15 Janela de cadastro de operadores.

Nesta ltima necessrio primeiramente selecionar qual a empresa, anteriormente cadastrada, referente aos novos dados e logo mais localizar o arquivo atravs da interface

Open File (Fig. 7) que acessada clicando no boto Carregar da janela da Fig. 6. Com o intuito de torrnar o processo de carregamento mais transparante para o operador, foi acrescido na tela uma barra de progresso que para no travar a janela o mesmo foi implementado usando Threads e tambm um rtulo para os status na seguinte ordem: desconectado, conectando, armazenando e atualizado.

Fig. 16 Janela de insero de registros.

Fig. 18 Janela de visualizao de registros.

Fig. 17 Janela Abrir Arquivo.

A janela restante a da visualizao dos registros e a gerao de grficos da quantidade de pessoas por hora por determinada empresa e data (Fig. 8). Na mesma podero ser visualizados todos os registros existentes na base de dados de uma determinada empresa ou somente os de um dia especfico, sendo exibido o seu total no rodap da janela. Para gerar a tela do grfico (Fig. 9), o operador dever especificar a data na Fig. 8 e clicar no boto Grfico.

Fig. 19 Janela grfica.

O grfico exibe o fluxo de entrada e sada de pessoas e tambm a ocorrncias de excesses durante um perodo de vinte horas. Na janela logo abaixo, exibido os dados da tabela (empresa e data) e os resultados da anlise, isto , a quantidade mdia de pessoas por hora em cada fluxo. Foi adicionado tambm o recurso de salvar no disco o grfico em uma imagem .JPG ou .PNG a cargo do operador (Fig. 10) acessado no nico boto da janela.

Fig. 10. Janela Salvar Arquivo.

VI. CONSIDERAES FINAIS O produto final desse projeto, ou seja, o circuito monitorador/controlador e a manipulao dos dados para sua anlise posterior oriundos do circuito atravs da aplicao JAVA foram concludos com sucesso. Com os resultados de mdias obtidas e aumentado o campo de avaliao para vrias datas em uma nica anlise, podero ser utilizadas em simulaes atravs do modelo probabilstico de Poisson. Dessa forma o sistema tendo a ser subjugado para situaes reais criando como perspectivas futuras a sua implementao em empresas prestadoras do servio de transporte coletivos, a fim de analisar os dados reais, contudo encontramos grande resistncia a esta implantao, haja vista a grande falta de compromisso das mesmas com a qualidade do servio prestado. VII. REFERNCIAS
[1]DEITEL, Harvey, DEITEL, Paul, C++ Como Programar, Bookman, Porto Alegre, 2001. [2]SCHILDT, Herbert, C Completo e Total, Makron Books, So Paulo, 1997. [3]DEITEL, Harvey, DEITEL, Paul, Java Como Programar, Bookman, Porto Alegre, 2005. [4]DATE, C. J, Introduo ao Sistema de Banco de Dados, Campus, Rio de Janeiro, 2000. [4]WELLING, Luke, THOMSON, Laura, PHP e MySQL Desenvolvimento Web, Campus, Rio de Janeiro, 2001.