Escolar Documentos
Profissional Documentos
Cultura Documentos
Barueri – SP
2023
UNIVERSIDADE VIRTUAL DO ESTADO DE SÃO PAULO
Barueri - SP
2023
PAIVA, Devanildo A.; ALBUQUERQUE, José V. B.; SANTOS, Marcelo M. R.; JUNIOR,
Vital J. S. Gestão Inteligente de vagas em estacionamento para visitantes em condomínios.
35f. Relatório Técnico-Científico. Engenharia de Computação – Universidade Virtual do
Estado de São Paulo. Tutor: COSTA, Daniel A. Polo Barueri, 2023.
RESUMO
1 INTRODUÇÃO ..................................................................................................................... 5
2 DESENVOLVIMENTO........................................................................................................ 7
2.1 Objetivos............................................................................................................................... 7
2.2 Justificativa e delimitação do problema ............................................................................... 7
2.3 Fundamentação teórica ......................................................................................................... 8
2.4 Aplicação das disciplinas estudadas no projeto integrador1817
2.5 Metodologia ........................................................................................................................ 18
2.6 Resultados preliminares: solução inicial ............................................................................ 20
3 RESULTADOS: 3424
5 REFERÊNCIAS .................................................................................................................. 34
5
1 INTRODUÇÃO
2 DESENVOLVIMENTO
2.1 OBJETIVOS
Desenvolver um sistema IoT com captura, análise e processamento de dados que utilize
sensores de detecção de espaços livres em um estacionamento, utilizando uma interface para
visualização dos dados capturados.
Nas construções da década de 1920, e no início dos anos 30, não havia estacionamentos,
as pessoas paravam os carros nas ruas, e só buscavam o carro caso precisasse dele. Ainda hoje
vemos muitos locais onde há casas com suas portas voltadas diretamente para a rua, sem
garagem ou espaço para guardar carros. Já nas áreas comerciais, a maioria das vagas de
estacionamentos era ocupada por funcionários, e muitas vezes não sobravam vagas para clientes
desses centros comerciais. Por ter muitos carros parados nas ruas, os problemas de
congestionamentos eram comuns em grandes cidades, e isso prejudicava os negócios.
Como o Brasil é um país em estado avançado de transição urbana (Ojima et al., 2013,
p. 2), isso se reflete na recente expansão da frota de veículos, facilitada pela maior oferta de
crédito e melhorias na distribuição da renda. Segundo Martine et al. (2012, p. 178), a frota de
veículos brasileiros dobrou entre 2000 e 2012, passando de 19,9 milhões para 40 milhões, o que
provocou um aumento da relação entre habitantes por carro de 9:1 em 2000 para 5:1 em 2012.
Isso agravou o problema dos congestionamentos frequentes nas grandes metrópoles.
Com o aumento da frota de carros, houve a necessidade de se construir estacionamentos
privativos para atender a demanda crescente ao longo dos anos. Este trabalho apresenta um
projeto específico para automação de um estacionamento com grande número de vagas visando
seu bom funcionamento e acesso as vagas, evitando congestionamentos e estresse por parte dos
motoristas e funcionários do condomínio. Para isso será utilizado o microcontrolador Arduino,
sensores e uma interface para visualização dos dados.
O Arduino Uno é uma placa microcontroladora popular que faz parte da plataforma
Arduino. Ele foi projetado para iniciantes e amadores que desejam começar com eletrônica e
programação. Aqui estão alguns recursos e informações importantes sobre o Arduino Uno: 1.
Microcontrolador: O Arduino Uno é baseado no microcontrolador ATmega328P, que é um
microcontrolador AVR de 8 bits. Possui 32 KB de memória flash para armazenamento de
programas e 2 KB de SRAM para armazenamento de dados.
A plataforma Arduino de hardware e software livres (código aberto), teve sua origem
dentro do Instituto de Design de Interação Ivrea(IDII) na cidade italiana de Ivrea. Foi concebida
para permitir que pessoas com poucos conhecimentos de hardware e software pudessem
aprender eletrônica e programação de uma maneira mais simples, com um bom custo-benefício,
facilitando o processo de prototipagem e aprendizado.
Conforme mencionado, existem vários tipos de hardwares que podem ser utilizados
dependendo da necessidade da aplicação. Apresentaremos como exemplo detalhes do Arduino
UNO para entendermos os conceitos básicos de funcionamento desse elemento.
A tabela 1 apresenta suas principais especificações:
Fonte: https://docs.arduino.cc/hardware/uno-rev3
11
2.3.3. SENSORES
De acordo com a imagem, o sensor possui quatro pinos: VCC, Trig, Echo, GND, cujas fun-
ções estão descritas na tabela 2:
Tabela 2 – Pinagem do sensor HC-SR04
(ainda) não conseguem entender a linguagem natural que usamos todos os dias por isso
necessitamos de outra “linguagem” especial para dizer ao computador para realizar as tarefas
que desejamos. Essa "linguagem" é uma linguagem de programação e, na verdade, existem
muitas delas.
Essas linguagens de programação também são conhecidas como linguagens de
programação de alto nível. A linguagem de programação utilizada no Arduino é C++ (com
pequenas modificações).
Para converter um programa redigido em uma linguagem de alto nível em linguagem
de máquina, usamos o que chamamos de compilador. A ação de converter um programa para
linguagem de máquina é chamada de compilação. Para compilar um programa normalmente
você usa um ambiente de desenvolvimento integrado (IDE), que é um aplicativo de computador
com um compilador integrado, no qual você pode escrever seu programa e compilá-lo. No
Arduino, esse ambiente de desenvolvimento é o Arduino IDE.
O texto escrito em um programa de uma linguagem de programação de alto nível
também é chamado de código-fonte do programa.
digitalWrite(led, LOW);
delay(1000);
}
2.3.7 VARIÁVEIS
int led;
Como o nome sugere, o tipo de dados de uma variável significa o tipo de informação
que essa variável pode armazenar. Em muitas linguagens de programação, como C++, os tipos
de dados devem ser definidos ao declarar uma variável, como vimos acima na declaração de
variável liderada. Para módulos Arduino usando processadores ATmega, os tipos de dados mais
comuns são:
Fonte: SANTOS
2.5 METODOLOGIA
frustrações. Segundo Brown (2008), "a empatia é a base do pensamento do design, pois é
preciso entender as pessoas para criar soluções relevantes para elas".
Com o objetivo de criar uma solução relevante para nosso público-alvo composto pelos
moradores de um condomínio foi essencial essa etapa do Design Thinkin para compreender as
reais necessidades do controle das vagas de estacionamento, pois se tornou evidente e alarmante
o problema de falta de vagas, questões envolvendo a segurança e busca por uma melhor
eficiência no funcionamento do estacionamento.
Para implementar o protótipo, é preciso levar em conta diversos fatores, como recursos
financeiros, tempo, tecnologia e recursos humanos. É importante trabalhar em equipe para
garantir que todas as etapas sejam concluídas com eficiência e eficácia. Durante essa fase, é
possível que ocorram mudanças significativas no produto ou serviço em função dos resultados
dos testes com os usuários.
Nesta etapa do Design Thinking, a de testes, o objetivo é testar o produto ou serviço
com usuários reais e obter feedback sobre sua usabilidade, funcionalidade e relevância.
Todo o desenvolvimento inicial foi realizado na plataforma TinkerCad, que é um
simulador para circuitos digitais, tanto para a especificação dos sensores e atuadores necessários
quanto para a construção da lógica de programação. Para o desenvolvimento completo do
projeto ainda temos a limitação financeira envolvendo a aquisição dos equipamentos
20
apresentados para que assim possamos testar em campo o seu funcionamento adequado. Já
providenciamos a compra de um kit de robótica que iremos utilizar para a finalização do projeto,
optamos pelo conjunto BlackBoard UNO R3 disponível no site: https://www.robocore.net/kit-
arduino/arduino-master-kit
Entretanto, apresentamos aos participantes principais, os porteiros do referido
condomínio, o desenvolvimento inicial na plataforma e as ideias conceituais foram muito bem
aceitas, sendo a única melhoria sugerida a sua conclusão e implementação física do que está
funcionando digitalmente.
Nos testes realizados o circuito funcionou perfeitamente, atendendo muito bem nossas
expectativas. Os próximos passos do desenvolvimento da aplicação envolvem enviar as
informações coletadas para um bando de dados como o Firebase Realtime Database, AWS
DynamoDB ou mesmo o Google Cloud Firestore. Por último, será necessário consumir esses
dados por meio de uma API e exibir tais informações em uma página web com um painel
atualizado em tempo real.
24
3. RESULTADOS
Por outro lado, do ponto de vista do software, algumas mudanças foram necessárias no
código inicial buscando adequá-lo para o acréscimo de toda a lógica envolvendo o envio dos
dados. Para isso foi necessário importar a biblioteca Ethernet Library e realizar a conexão com
o roteador na conexão local, da mesma rede em que se encontra o computador que irá acessar
o painel de monitoramento.
seguida definimos a porta em que o pequeno servidor será ligado. No nosso caso escolhemos a
porta livre :80. Poderíamos usar uma porta acessível por dispositivos externos à rede local do
condomínio usando por exemplo uma porta :8080 mas isso adicionaria camadas extras de
complexidade envolvendo segurança por isso optamos por manter a página acessível somente
Após ligar o servidor, é necessário configurar seu comportamento, em que ele fica
De acordo com a imagem acima, após verificar se a conexão está sendo realizada com
acima, garantindo que as requisições sempre irão receber as respostas mais atuais possíveis
automaticamente, sem a necessidade do usuário ter que atualizar a página manualmente para
prototipagem em que a luz verde permanece acesa enquanto a vaga estiver livre, alterando seu
estado no momento em que o sensor detectar um carro na vaga (definimos o limite mínimo de
1 metro do carro em relação ao final da vaga e local onde será posicionado o sensor) a luz verde
se apaga e a vermelha se acende informando que a vaga encontra-se ocupada. Essa lógica de
alterado para “HIGH”, enviamos via rede wi-fi o sinal de “VAGA OCUPADA” para o servidor
local. Com essa informação, o arquivo HTML configurado modifica a imagem apresentada na
página, substituindo a imagem com um carro e o fundo verde por uma imagem de fundo
condomínio, sem a necessidade de atualização manual da página por parte da equipe. Com isso
conseguimos atingir a um dos requisitos, que era a capacidade de acompanhar o estado das
ficou nítido que as especificações técnicas como o modelo dos equipamentos, linguagem de
programação, hospedagem, não importam muito para o usuário final, sendo sua principal
preocupação saber se o seu problema será ou não resolvido. Dessa forma, foi essencial pensar
28
na usabilidade intuitiva e clara, além de seguir uma estética que fosse ao mesmo tempo simples,
moderna e profissional capaz de fato a agregar valor à forma como o trabalho é desenvolvido
no condomínio.
Uma vez que o sensor não está de fato ligado e enviando as informações a página
permanece estática, sem mudanças de estado. Na imagem abaixo apresentamos exemplos das
alterações que podem ocorrer de acordo com a ocupação das vagas num cenário didático em
que teríamos apenas 3 vagas de visitantes. A página web do protótipo pode ser acessada no link:
https://marcelo5g.github.io/univesp_PI5_prototipo/
Neste primeiro exemplo representa uma situação em que todas as vagas se encontram
ficou nítido que as especificações técnicas como o modelo dos equipamentos, linguagem de
programação, hospedagem, etc, não importam muito para o usuário final, sendo sua principal
do escopo com a inclusão de novas funcionalidades se mostrou uma tarefa árdua e muito mais
complexa do que havíamos previsto. Entretanto, acreditamos ter atingido um resultado bom,
não somente pelo produto final, mas também pelo processo que se demonstrou bastante
design thinking como um elemento norteador para o desenvolvimento da nossa aplicação, mas
com alguns ajustes e adaptações ao longo do caminho. No que se refere a ouvir a comunidade,
o contato foi permanente, sempre avaliando as demandas, críticas e sugestões, e isso foi
fundamental para a evolução do nosso projeto, pois permitiu o ajuste rápido de funções através
No que se refere a parte de criação, talvez tenha sido o ponto de maior amadurecimento
do grupo em relação ao projeto integrador anterior, pois os materiais teóricos das aulas se
mostraram muitas vezes insuficientes para resolver algumas questões mais práticas e a
familiaridade que estamos desenvolvendo com a área e com as documentações das tecnologias
vantajosa do ponto de vista das contribuições que cada um é capaz de fornecer de acordo com
suas experiências individuais. Além disso, como temos integrantes em diferentes níveis de
todos pudessem entender o que estava feito e contribuir da melhor forma possível.
31
4. CONSIDERAÇÕES FINAIS
Internet das Coisas (IoT), tanto a parte de hardware quanto de software, que permitiu a gestão
recorrente de eficiência no controle dessas vagas foi solucionado, contribuindo inclusive para
Nesse sentido, acreditamos ter alcançado nossos objetivos iniciais que giravam em torno
de desenvolver um sistema IoT com captura, análise e processamento de dados que utilizasse
visualização dos dados capturados. Além disso, pudemos também apresentar os benefícios da
visualização de dados.
profissional da portaria a se locomover até o local para identificar quantas e quais vagas estavam
livres para serem utilizadas. Neste cenário, acreditamos que nosso projeto conseguiu apresentar
alguns caminhos possíveis para solucionar os problemas que foram identificados no início,
como falta de vagas devido a erros de leitura visual ou o não monitoramento de carros que
desocupam vagas que constavam como não livres, aumento da insegurança com a exposição do
Sendo assim, o monitoramento remoto via sensores se mostrou uma solução simples e
que resolve praticamente todos os problemas apresentados, e os principais resultados à luz das
referências estudadas foram justamente no que se refere à melhoria da eficiência dos processos
pelo qual tarefas e operações são realizadas automaticamente, sem a necessidade de intervenção
local de vagas de visitantes, uma área descoberta sujeita a intempéries, que num
problema encontrar um local adequado para instalar nossos sensores e conectá-los a rede interna
escalabilidade, num cenário em que tenhamos muitas vagas de visitantes (e não apenas 3 como
nosso exemplo didático) isso nos obrigaria a repensar o layout de nosso painel de
apresenta para as dinâmicas atuais, podendo modernizar processos, com impactos em diversas
dos processos, além de um maior profissionalismo alinhado com tendências atuais, frutos de
O principal balanço que podemos fazer entre solução inicial e final: Foi essencial
durante nossa pesquisa sobre qual o método mais eficiente para enviar e receber os dados dos
sensores, uma mudança de rota, adotando soluções mais simples que não havíamos cogitado
num primeiro momento, resultando na escolha de utilizar a placa Arduino Ethernet Shield
W5100 para a transmissão direta dos dados para uma página web, sem necessidade de se
De forma geral, podemos dizer que houve uma evolução significativa em todos os
materiais de disciplinas passadas para compreender melhor alguns conceitos, o que nos permitiu
uma apropriação bastante clara da proposta do Projeto Integrador em seu sentido mais amplo,
A satisfação em entregar a aplicação é imensa, porém sabemos que ela permanece aberta
e incompleta e ainda pode melhorar bastante. Temos em mãos um protótipo que cresceu
bastante em algumas quinzenas e que tem bastante potencial para crescer ainda mais.
34
5. REFERÊNCIAS
BROWN, Tim. Design thinking. Harvard Business Review, v. 86, n. 6, p. 85-92, jun.
2008
ELETROGATE, 2017. Sensor Ultrassônico HC-SR04 com Arduino. Disponível em:
https://blog.eletrogate.com/sensor-ultrassonico-hc-sr04-com-arduino/ Acesso em: 04 out 2023
SANTOS, Bruno P. et al. Internet das Coisas: da Teoria à Prática. Minas Gerais.
SILVEIRA, Paulo Rogério da; SANTOS, Winderson Eugênio dos. A tecnologia da Informação.
In: ROGÉRIO DA SILVEIRA, Paulo; EUGENIO DOS SANTOS, Winderson. Automação e
Controle Discreto. 1999. ed. [S.l.]: Érica, 1998. cap. 1, p. 21-24.
35