Buscar

Projeto de Aplicação Semáforo Inteligente

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DE MATO GROSSO - UFMT 
FACULDADE DE ENGENHARIA, ARQUITETURA E TECNOLOGIA - FAET 
DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DENE 
 
 
 
 
 
 
 
RELATÓRIO PARCIAL - PROJETO DE APLICAÇÃO 
 
 
 
Renner Siqueira França 
 
 
 
 
 
 
 
 
Cuiabá – MT 
2019 
 
 
UNIVERSIDADE FEDERAL DE MATO GROSSO - UFMT 
FACULDADE DE ENGENHARIA, ARQUITETURA E TECNOLOGIA – FAET 
DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DENE 
 
 
 
 
 
 
PROJETO DE APLICAÇÃO – SEMÁFORO INTELIGENTE 
 
 
Relatório Parcial, apresentado ao 
Curso de Engenharia Elétrica da 
Universidade Federal do Mato 
Grosso, como parte dos requisitos da 
disciplina de Microprocessadores. 
Orientador: Prof. Dr. Nicolás Eusebio 
Cortez Ledesma. 
 
 
 
 
 
Renner Siqueira Franca 
 
 
 
Cuiabá – MT 
2019 
 
Sumário 
 
1. RESUMO ............................................................................................................................5 
2. LISTA DE ILUSTRAÇÕES ..............................................................................................5 
3. OBJETIVO .........................................................................................................................5 
4. INTRODUÇÃO ..................................................................................................................5 
5. FUNDAMENTAÇÃO TEÓRICA .....................................................................................6 
5.2. Microcontroladores ....................................................................................................7 
5.3. Sensor Reed Switch ....................................................................................................8 
5.4. Sensor Reflexivo Infravermelho ................................................................................9 
5.5. LEDs ............................................................................................................................9 
6. SOFTWARE .....................................................................................................................10 
6.1. Disposição dos Sensores ...........................................................................................10 
6.2. Controle de Interseções ............................................................................................10 
6.3. Programação .............................................................................................................11 
6.3.1. Regulagem de Semáforos Isolados ......................................................................11 
6.4. Implementação .........................................................................................................12 
6.5. Controlador de Semáforo ........................................................................................12 
6.6. Temporização ...........................................................................................................12 
6.7. Cálculo do Tempo Verde .........................................................................................12 
6.8. Código fonte .asm .....................................................................................................12 
7. Conclusões.........................................................................................................................16 
8. REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................16 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
1. RESUMO 
 
Hoje nos grandes centros urbanos, com o calor da industrialização cada vez mais 
crescente e a demanda por locomoção viável na relação tempo e qualidade temos 
sofrido com a falta de um bom planejamento urbano. Mediante esse problema, a 
população está perdendo qualidade de vida ao ir dormir mais e acordar mais cedo para 
compensar o tempo perdido com os engarrafamentos. Tendo em vista essa problemática 
diária, o intuito deste trabalho é elaborar um projeto de um semáforo inteligente, onde 
tem a função de controlar o trafego de veículos de forma eficiente e tentar solucionar os 
problemas desafiadores existente em Cuiabá e nos grandes centros urbanos. 
O semáforo quando implantado de forma correta atuará como um ótimo controlador 
de trafego, pois a tecnologia de tráfego por meio de inteligência artificial tem se 
mostrado muito eficiente, isso porque ele possui a característica de intervir no direito de 
passagem para os diferentes movimentos de veículos, organizando o trânsito nas 
interseções, diminuindo os conflitos, aumentando a capacidade de escoamento, 
reduzindo a frequência de acidentes e otimizando o tempo de espera. 
Este trabalho propõe um controlador de tráfego que será implementado em uma 
interseção de uma maquete com intuito de que esse controlador possa se adaptar à 
demanda da via principal e via secundária, ou seja, regular os tempos de verde 
proporcionalmente ao fluxo de veículos a fim de diminuir ao máximo o atraso veicular. 
Por isso abordaremos essa temática. 
 
2. LISTA DE ILUSTRAÇÕES 
Figura 1 - Frota de veículos no Brasil ............................................................................................7 
Figura 2 - Microcontrolador PIC16F877A .....................................................................................8 
Figura 3 - Sensor Indutivo ............................................................................................................8 
Figura 4 - Sensor Piezoelétrico .....................................................................................................9 
Figura 5 - LEDs – Verde, amarelo e vermelho ..............................................................................9 
Figura 6 - Fluxograma - Lógica da Programação ............................Erro! Indicador não definido. 
Figura 7 - Sensores instalados nas vias.......................................................................................10 
 
3. OBJETIVO 
 
O objetivo deste projeto de aplicação é projetar e implementar um sistema de 
controle de fluxo de trânsito onde será analisada duas vias, uma principal e uma 
secundária configurando-se uma bifurcação. Ambas as vias contarão com semáforos 
dotados de sistema inteligente, baseado em sensores para identificação do fluxo de 
trânsito, o qual incidirá diretamente no tempo de operação dos semáforos 
implementados. O sistema também contará em ambas as pistas com contagem 
progressiva de tempo de operação, variando conforme a intensidade de trânsito. 
 
4. INTRODUÇÃO 
 
Os grandes centros urbanos vêm crescendo há algum tempo, com o aumento no 
número de habitantes e há consequentemente um aumento no número de veículos 
circulando nas ruas. Nesse âmbito as ruas e avenidas devem se adaptar a esse grande 
volume de tráfego diário e adaptar-se à variação que ocorre durante o dia. 
Em um cruzamento de duas ou mais vias existem movimentos que não podem ser 
feitos simultaneamente, pois são conflitantes entre si. Partindo deste conceito, o modelo 
6 
 
usual de controle de interseções apesar de já ser automatizado não está sendo mais o 
eficaz para monitoramento do tráfego, pois existe a necessidade de se aperfeiçoar a 
automatização, principalmente em função da demanda local de acordo a demanda de 
veículos. Sendo assim, este trabalho propõe o desenvolvimento de um semáforo 
inteligente e totalmente atualizado que faça o controle do tráfego passante em uma 
interseção tendo como base de sua programação um contador crescente da relação 
veículo / tempo. 
A preocupação com a mobilidade urbana deixou-se de ser apenas uma mera questão 
de planejamento urbano, hoje a busca por melhoramento no fluxo de veículos está 
diretamente atrelado no âmbito social, ou seja, de proporcionar as pessoas uma melhor 
qualidade de vida. 
Cada vez mais as pessoas utilizam automóveis para a sua locomoção e com o 
aumento na frota de veículos temque a cada dia o fenômeno do engarrafamento se torna 
maior, segundo Tannús, Soares e Costa (2013), citados por Castro, (2015, p.73) 
”[...] trazem problemas para o deslocamento de usuários, 
aumento da poluição e aumento de acidentes[...]”. 
Castro (2015, p.73) diz que “[...] uma das soluções para ajudar a resolver os problemas 
encontrados no trânsito é utilizar recursos da área 
computacional para identificar e rastrear veículos”. 
Com todo esse mecanismo seria mais fácil programar os recursos para o 
desenvolvimento/ implantação de semáforos inteligentes. Segundo Chen, Li e Chen 
(2007) também citado por Castro (2015, p.73), os sistemas de vigilância de tráfego 
precisam ser discutidos e estudados, pois podem fornecer informações significativas e 
úteis, tais como excesso de velocidade e violação no trânsito. 
 
5. FUNDAMENTAÇÃO TEÓRICA 
 
5.1. Realidade do Trânsito no Brasil 
 
O caos no trânsito já não é uma novidade nos grandes centros urbanos e com isso a 
população acaba buscando meios locomotivos diferentes. Essas dificuldades de 
deslocamento diário acabam gerando certo estresse. A lentidão na locomoção nos 
momentos que os usuários mais precisam chegar com facilidade ao seu destino tem se 
tornando um problema, isso não só para o motorista, mas também para os passageiros 
que estão cada dia mais dependentes dos serviços de transportes privados solicitados 
por plataforma digital, assim como também um problema de todos os usuários que 
colaboram com uma parcela para o mau funcionamento do sistema, resultando assim no 
caótico congestionamento. 
Dourado Montiní (2014, p.306) afirma que: 
[...] o trânsito já não é exclusivo das vias expressas, 
passou a pertencer as ruas de bairro, acidentes que 
ocupam duas faixas, fazem com que uma rodovia 
pare. A facilidade na aquisição, o maior conforto e a 
mobilidade, são algumas das vantagens oferecidas 
pelos meios de transportes ao condutor e também é 
de extrema importância citar que o crescimento 
demasiado também se expande às motos, utilizadas 
não somente para o uso pessoal, como também pelas 
empresas que as utilizam para movimentar a 
7 
 
economia, tendo como exemplo os office boys, os 
delivery’s, entre tantas outras utilidades, devido 
também a grande procura por esse tipo de veículo, 
principalmente nas grandes metrópoles. Em 
contrapartida essa facilidade dificulta cada vez mais 
a movimentação, fazendo com que o trafego fique 
cada vez pior. 
 
Figura 1 - Frota de veículos no Brasil 
 
Fonte:Reis ([s.d.]). 
 
Conforme mostrado na Figura 1, a frota de veículos no Brasil está em crescente 
aumento e analisando a distribuição de veículos por habitante, conclui-se então que a 
maioria do transporte utilizado é terrestre. A cidade de Cuiabá, atualmente tem 
aproximadamente 404 mil veículos circulando nas ruas segundo dados do DETRAN-
MT (Departamento Estadual de Trânsito de Mato Grosso), então faz necessário ter um 
sistema de semáforos eficazes, fazendo assim com que os carros andem sem ficarem 
presos em pontos de lentidão e em congestionamentos. 
 
5.2. Microcontroladores 
 
São dispositivos eletrônicos constituídos de portas de entrada e saída, 
temporizadores, contadores, controles de interrupção, conversor analógico para digital, 
e também memórias RAM e ROM. Esses dispositivos são para utilização com 
aplicações específicas e possuem diversos periféricos, isso tudo com seu tamanho 
reduzido. Tem um baixo consumo de energia e um baixo custo, o que se torna ideal para 
projetos de eletrônica. 
A linguagem aceita para a programação pode ser Assembly, Basic, C e dentre 
outras. Utiliza-se um gravador para compilar o programa. 
 
5.2.1. PIC16F877A 
 
 Fabricados pela Microchip conforme mostrado na figura 1, este 
microcontrolador processa dados de 8 bits. Seu nome é advindo de "Programmable 
Interface Controller". Eles contam com extensa variedade de modelos e periféricos 
internos, além de possuírem alta velocidade de processamento devido a sua arquitetura 
Harvard e conjunto de instruções RISC (conjuntos de 35 instruções), com recursos de 
programação por Memória flash. 
 
Características: 
8 
 
 Sua frequência de operação (clock) vai até 20MHz, resultando em uma 
velocidade de processamento de 5 MIPS. 
 Seu conjunto de instruções RISC se compõe de 35 instruções. 
 Sua pinagem DIP tem 40 pinos. 
 Possui memória (flash) de programa com 8192 palavras de 14 bits, RAM com 
368 bytes e memória EEPROM com 256 bytes. 
 Pode funcionar com alimentação de 2V a 5,5V. 
 A versão mais recente do PIC16F877A contém um módulo de 2 comparadores 
analógicos (CMCON) e um módulo gerador de voltagem de referência 
(VRCON). 
 
Como periféricos ele possui: 
 5 conjuntos de portas de entrada e saída (total de 33 portas) 
 Conversor analógico-digital de 10 bits de resolução e 8 canais de entrada 
 2 Módulos CCP 
 Periférico de comunicação paralela e serial 
Em nosso projeto o PIC faz todo o processamento de informação e direciona os 
dados processados para os periféricos. 
Figura 2 - Microcontrolador PIC16F877A 
 
Fonte: Microchip Technology Inc - 2003 
 
5.3. Sensor Reed Switch 
 
O sensor Reed Switch são dispositivos que funcionam como interruptores ao qual 
são acionados por campos magnéticos produzidos por ímãs ou eletro-ímãs. Ele é 
composto de uma capsula de vidro e de duas lâminas de um material ferromagnético 
(ligas de ferro e níquel). Estas lâminas estão muito próximas, porém sem contato entre 
elas tendo suas extremidades fixadas no vidro e mergulhadas em num gás inerte a fim 
de evitar oxidação. Esse sensor foi escolhido devido a sua facilidade de se obter, ao seu 
custo acessível e a sua flexibilidade de uso, podendo ser usado como sensor, comutador 
ou relé. 
Figura 3 - Sensor Reed Switch 
 
 
Fonte: Reed Switch – UFRGS 
 
9 
 
5.4. Sensor Reflexivo Infravermelho 
 
O sensor reflexivo parte do principio de emitir um feixe de luz infravermelho ao 
qual é rebatido na presença de um objeto e será capturado pelo fotossensor, logo, esse 
modelo escolhido já possui o emissor e receptor dispostos lado-a-lado. 
Este sensor foi escolhido devido a sua simplicidade para implementação e ao baixo 
custo da unidade, porém se analisarmos a sua implementação em uma situação real ele 
não seria recomendado devido à incidência de luz solar o que poderia provocar 
interferências em sua operação. 
Conforme ilustrado na figura 4, o LED IR é diretamente polarizado e ligado em série 
com um resistor de 270Ω. Desta forma este LED sempre estará emitindo luz 
infravermelha que será captada pelo sensor caso um carro se projete sobre ele. No 
segundo circuito tem-se o fotossensor ligado em paralelo com um resistor de 10 KΩ. 
 
Figura 4 – Sensor Reflexivo Infravermelho 
 
Fonte: Nova eletrônica - 2015 
 
 
5.5. LEDs 
 
O LED (Light Emitting Diode) conforme mostrado na figura 4 é um dispositivo 
semicondutor ao qual é composto por uma junção PN (diodo), e quando é polarizado 
diretamente, emite luminosidade. 
O LED comercialmente começou a existir em 1962 apenas no tom de luz 
vermelha de baixa intensidade. Os LEDs de hoje possuem uma alta intensidade 
luminosa e são capazes de irradiar luz em todo o espectro visível, além possuir a 
infravermelha e a ultravioleta logo, ele tem sido cada vez mais utilizado para 
iluminações, em substituição a lâmpadas fluorescentes. 
Um LED basicamente é um diodo semicondutor, assim quando ele é polarizado 
diretamente, a combinação de seus elétrons e lacunas libera energia na forma de fótons. 
A cor da luz gerada é determinada pelo tipo de semicondutor e da impureza adicionada. 
 Nesse projeto os LEDs de cor verde, amarelo e vermelho serão usados para 
representar as sinalizações do semáforo, sendo o verde para seguir, amarelo atenção/dê 
a preferência e vermelho para pare, conforme rege a legislação atual de trânsito. 
Figura 5 - LEDs – Verde, amarelo e vermelho 
10Fonte: Mundo da elétrica - 2020 
 
6. SOFTWARE 
 
6.1. Disposição dos Sensores 
 
Da disposição dos sensores optou-se por colocar o sensor reflexivo para identificar a 
presença do veículo e comandar o incremento do tempo dos LEDs, ele foi escolhido 
devido ao seu alto grau de precisão e confiabilidade representado na figura 7 como um 
círculo azul em ambas as vias, já o segundo sensor, o sensor Reed Switch representado 
por um círculo vermelho tem como função verificar a saída do veículo do perímetro de 
análise. 
Figura 6 - Sensores instalados nas vias 
 
Fonte: Shuntterstock - Adaptado - 2020 
 
6.2. Controle de Interseções 
O direito de passagem dos veículos no cruzamento é dada através das cores de um 
semáforo. Para que haja a troca das cores o semáforo recebe comandos de um 
controlador de tráfego. 
O DENATRAN define o controlador de tráfego com “um equipamento que 
comanda o semáforo através do envio de pulsos elétricos para a comutação das luzes”. 
A determinação do tempo de um semáforo pode ser feita de maneira manual por um 
11 
 
agente de trânsito obedecendo a critérios da situação do trânsito no momento em 
questão, ou de forma automatizada através de câmeras de calor conectas a 
computadores com uma programação feita com base em um estudo prévio da demanda 
local. 
Um controlador considerado ideal é o que produz o menor atraso possível no fluxo 
de tráfego. 
Figura 7 - Formação e destruição típica de uma fila de veículos. 
 
Fonte: Manual de Semáforo 
Conforme mostrado na figura 8, tem-se a formação de uma fila no período 
vermelho, com isso o tempo verde tem como objetivo a destruição desta fila juntamente 
com um pequeno acréscimo de tempo para que carros que cheguem posteriormente 
também sejam atendidos. Conforme ilustrado na figura 9: 
 
Figura 8 - Ilustração de uma fila de veículos (Via 1) 
 
Fonte: Manual do Semáforo (Adaptado) 
 
 
 
6.3. Programação 
6.3.1. Regulagem de Semáforos Isolados 
A agilidade do trânsito e sua segurança estão diretamente relacionadas à regulagem dos 
semáforos existentes nas vias. 
12 
 
Assim, a regulagem do semáforo é desenvolver planos que realizem da melhor maneira 
possível à redução do atraso veicular. 
 
6.4. Implementação 
 
O controlador de semáforo foi feito com um microcontrolador PIC16F72 da 
Microchip® conforme mostrado na figura 2. Os sensores detectores utilizados foram o 
sensor Reed Switch e o sensor Reflexivo Infravermelho conforme ilustrados na figura 3 
e 4 respectivamente. 
 A programação do semáforo foi realizada em assembly através do software livre 
MPLAB® IDE (versão 8.92). 
 
6.5. Controlador de Semáforo 
 
A troca das luzes do semáforo é feita pelo microcontrolador seguindo algumas 
diretrizes, sendo: 
 Ao iniciar, as luzes ascendem indicando que todas estão em funcionamento, 
após alguns segundos a via 1 ascendera a luz vermelha e a via 2 a luz verde. 
 
Através dos dados obtidos dos sensores o controlador do semáforo poderá alterar o 
tempo máximo de verde para cada via. 
 
6.6. Temporização 
 
O tempo sem dúvida é uma das funções mais importantes de um semáforo, pois o 
intuito deste trabalho é exatamente controlar os tempos de verde a cada aproximação 
dos sensores reflexivos. Trabalharemos o TIMER0. 
Neste registrador de oito bits foi configurado para fornecer o tempo de um segundo 
para isso ocorrer o registrador deverá estourar cerca de 16 vezes. 
 
 
6.7. Cálculo do Tempo Verde 
 
O controlador de semáforo verifica a demanda nas aproximações através dos sensores 
para incrementar os tempos de verde para cada via. 
O sistema irá verificar se houve a detecção de algum carro na via, se sim, na via em que 
se encontra o verde acesso será incrementado 10 segundos no próximo ciclo. Após isso 
verificará se o contador chegou ao seu valor máximo, se sim o semáforo fechará e o 
contador reiniciará. 
Após a realização destes passos o novo tempo de verde, e o mesmo se repetirá para a via 
B. 
 
6.8. Código fonte .asm 
 
; ******* UNIVERSIDADE FEDERAL DE MATO GROSSO ******* 
; ********* DISCIPLINA DE MICROPROCESSADORES ******** 
; ********** ALUNO: RENNER SIQUEIRA FRANCA ********** 
; 
; **** SEMÁFORO INTELIGENTE **** 
; 
 list p=16f877a ; Diretiva que define o Processador 
 #include <p16f877a.inc> ; Inclusão de arquivo de declarações 
 __CONFIG H'2F02' ; Palavra de configuração 
13 
 
 ;0010 1111 0011 0010 
 ERRORLEVEL -305, -302 
;Declaração de variáveis (Registradores de propósito geral) 
 cblock 0x20 
 estado, contador_sA, contador_sB 
 unid,FATOR 
 w_temp, status_temp 
 endc 
;;***************************************************************
******* 
;; D E F I N I Ç Ã O D A S P O R T A S 
;;***************************************************************
******* 
#define S1_A PORTB,4 ;Sensor 1, Semáforo da via A 
#define S2_A PORTB,5 ;Sensor 2, Semáforo da via A 
#define S1_B PORTB,6 ;Sensor 1, Semáforo da via B 
#define S2_B PORTB,7 ;Sensor 2, Semáforo da via B 
 
#define VD_SA PORTC,1 ;Led Verde, Semáforo da via A 
#define AM_SA PORTC,2 ;Led Amarelo, Semáforo da via A 
#define VM_SA PORTC,3 ;Led Vermelho, Semáforo da via A 
 
#define VD_SB PORTC,4 ;Led Verde, Semáforo da via B 
#define AM_SB PORTC,5 ;Led Amarelo, Semáforo da via B 
#define VM_SB PORTC,6 ;Led Vermelho, Semáforo da via B 
 
 
;;***************************************************************
******* 
;; V E T O R D E R E S E T 
;;***************************************************************
******* 
 org 0x00 ; vetor de Reset 
 goto inicio 
 org 0x04 
;Rotinas de interrupção 
ISR: movwf w_temp ;salva Wreg 
 movfw STATUS 
 movwf status_temp ;salva STATUS 
 bcf STATUS,RP0 ;importante para zerar os segundos quando ele 
chegar no limite 
 btfsc INTCON,T0IF ;verifica se TMR0 transbordou 
 goto isr_tmr0 ;se não, termina ISR 
 btfsc INTCON, RBIF 
 goto isr_rb 
 goto fim_isr 
; redefine valores do TMR0, cada 64us 
isr_tmr0: ;ISR = rotina de serviço de interrupção 
 movlw .131 ;256-125 
 movwf TMR0 ;valor inicial 
 incf FATOR,F ;FATOR++ cada 64us 
 movfw FATOR 
14 
 
 xorlw .125 ;se FATOR=125, tempo 1seg 
 btfss STATUS,Z 
 goto fim_tmr0 
; completou 1s, atualiza os contadores 
 clrf FATOR ;reinica FATOR 
 incf unid,F ;unid++ 
 
fim_tmr0: 
 bcf INTCON,T0IF ;apaga flag de transbordo 
 goto fim_isr 
 
isr_rb: 
; call delay_20ms 
;Testa a borda de subida dos sensores 
 btfss S1_A 
 goto $ + .8 
 btfss S2_A 
 goto $ + .8 
 btfss S1_B 
 goto $ + .8 
 btfss S2_B 
 goto $ + .8 
 goto fim_rb ;Sai da interrupção se for borda de descida 
 incf contador_sA, F 
 goto fim_rb 
 decf contador_sA, F 
 goto fim_rb 
 incf contador_sB, F 
 goto fim_rb 
 decf contador_sB, F 
fim_rb: 
 bcf INTCON,RBIF ;libera para uma nova interrupção 
 
fim_isr: 
 movfw status_temp 
 movwf STATUS ;recupera STATUS 
 swapf w_temp,F 
 swapf w_temp,W ;recupera Wreg 
 retfie ;retorno 
 
;Configuraçoes dos parâmetros 
inicio: 
 movlw .131 ;valor inicial de TMR0 
 movwf TMR0 
 clrf PORTC 
 bsf STATUS,RP0 ;seleciona banco 1 
 clrf TRISC ;configura PORTC como saída 
 movlw 0x07 ;Ativa Pullups, TMR0 usando Clock_in 
 movwf OPTION_REG ;e prescaler = 256 
 movlw .6 
 movwf ADCON1 
 
15 
 
 
 bcf STATUS,RP0 ;seleciona banco 0 
 bsf INTCON,RBIE ;habilita a interrupção por RB4-RB7 
 bcf INTCON,RBIF ;Bit de flag de interrupção externa 
 bsf INTCON,T0IE ;habilita interrupção x TMR0 
 bsf INTCON,GIE ;bit de habilitação global de interrupções 
 clrf FATOR 
 clrf unid 
 
 ;Liga e desliga leds para teste 
 bsf VD_SA 
 bsf AM_SA 
 bsf VM_SA 
 bsf VD_SB 
 bsf AM_SB 
 bsf VM_SB 
 call delay_1s 
 clrf PORTC 
 
; terminado as inicializações, programa principal: 
loop: 
 
SB_amarelo: 
 clrf PORTC 
 bsf VM_SA 
 bsf AM_SB 
 call delay_1s 
 
 bcf INTCON,T0IE ;desabilita interrupçãox TMR0 
 movlw .131 ;valor inicial de TMR0 
 movwf TMR0 
 clrf unid 
 bsf INTCON,T0IE ;habilita interrupção x TMR0 
 
SA_verde: 
 bsf VD_SA 
 bsf VM_SB 
 movlw .10 ;Valor extra de tempo do semáforo aberto 
 addwf contador_sB, W 
 xorwf unid ;se unidade chegou ao valor max 
 btfss STATUS,Z ;Fecha semaforo e reinicia contador 
 goto SA_verde 
 
SA_amarelo: 
 clrf PORTC 
 bsf VM_SB 
 bsf AM_SA 
 call delay_1s 
 
 bcf INTCON,T0IE ;desabilita interrupção x TMR0 
 movlw .131 ;valor inicial de TMR0 
 movwf TMR0 
16 
 
 clrf unid 
 bsf INTCON,T0IE ;habilita interrupção x TMR0 
 
SB_verde: 
 bsf VD_SB 
 bsf VM_SA 
 movlw .10 ;Valor extra de tempo do semáforo aberto 
 addwf contador_sB, W 
 xorwf unid ;se unidade chegou ao valor max 
 btfss STATUS,Z ;Fecha semaforo e reinicia contador 
 goto SB_verde 
 
 goto loop ;ao retornar da interrupção permanece em repouso 
 
 #include "up_md_atrasos.asm" ;incluye rutinas para manejo de 
retardos 
 
 END 
 
7. Conclusões 
 
Este projeto permitiu a implementação de um sistema que simulasse um controlador 
de tráfego com inteligência para tomar decisão de dividir o tempo de verde 
proporcionalmente entre as aproximações veiculares e assim conceder permissão de 
passagem apenas àquelas vias que possuem uma demanda maior. 
Os sensores tiveram um papel fundamental na programação pois através deles foi 
possível que fosse detectado a quantidade de veículos que circulava nas vias, em qual 
via o veículo havia chegado primeiro, em qual via possui maior fluxo e também se 
algum veículo parou entre os sensores, ou seja, dentro do perímetro de análise da via. 
O projeto atingiu a proposta inicial operando de forma inteligente através de sua 
programação diretamente relacionada ao fluxo de veículos em ambas as vias. Notou-se 
que o sistema de incremento e decremento do tempo de operação de cada semáforo 
funcionou conforme o esperado. 
O projeto não só contribuiu para o estudo do microcontrolador PIC16F877A, como 
também ofereceu estimulo os alunos a exploração da lógica de programação na 
linguagem em assembly, o que resultou uma visão ampla da disciplina de 
“Microprocessadores”. 
 
8. REFERÊNCIAS BIBLIOGRÁFICAS 
 
Data sheet – PIC16F877A - Disponível em: http://www.datasheetcatalog.net/pt/datashee 
ts_pdf/1/6/F/8/16F877.shtml 
 
Data sheet – Sensor Reflexivo - Disponível em: https://html.alldatasheet.com/html-
pdf/26406/VISHAY/TCRT5000/930/5/TCRT5000.html 
Manual dos semáforos – Coleção serviços de engenharia – DENATRAM – Disponível 
em: < https://wp.ufpel.edu.br/csttt/files/2013/05/Manual-Semaforos-Denatran-1984.pdf> 
 
 
RASHID, Muhamed H. Eletrônica de Potencia, Circuitos, Dispositivos e Aplicações. 
Makron Books, São Paulo.1999. 
https://html.alldatasheet.com/html-pdf/26406/VISHAY/TCRT5000/930/5/TCRT5000.html
https://html.alldatasheet.com/html-pdf/26406/VISHAY/TCRT5000/930/5/TCRT5000.html
https://wp.ufpel.edu.br/csttt/files/2013/05/Manual-Semaforos-Denatran-1984.pdf
17 
 
 
SEDRA, Adel. S.; SIMITH Kenneth. C. Microeletrônica (5ª edição) Pearson Makron 
Books, São Paulo. 2007. 
 
CASTRO, A. et al. Identificação e rastreamento de veículos utilizando fluxo óptico. 
V.7, n.2, p.73-88, abr-jun. 2015. DOI: 10.5747 
 
REIS, Thiago. Frota de carros e motos no país: Brasil tem um automóvel para cada 4 
habitantes e uma motocicleta para cada 11 pessoas. G1, ([s.d.]). Disponível em: 
<http://g1.globo.com/carros/frota-carros-motos-2013/> 
DOWBOR, Ladislau. Com aumento da frota, Brasil tem 1 automóvel para cada 4 
habitantes. Disponível em:< http://g1.globo.com/carros/noticia/2014/03/comaumento-
da-frota-brasil-tem-1-automovel-para-cada-4-habitantes.html/> 
 
DOURADO, Rafaela Costa Martins de Mello; MONTINI, Alessandra de Ávila. 
MODELOS DE PREVISÃO DE TRÂNSITO: UMA CONTRIBUIÇÃO PARA A 
GESTÃO PÚBLICA DO TRÁFEGO NA CIDADE DE SÃO PAULO. 2017. 17 v- 
Curso de Eng, Feausp, Usp, São Paulo, 2014. Cap. 3. 
 
YUKI, HelioSaburo. Projeto de Controlador Inteligente para Semáforo. 2008. Trabalho 
(Conclusão de curso) – Faculdade de Engenharia Mecânica, Universidade Estadual de 
Campinas, Campinas-São Paulo, 2008. 
 
Batista, Washington de Lima, Transdutores de Deformação a Base de Sensores 
Piezoelétricos – Pós-Graduação em Engenharia Mecânica – Escola de Engenharia – 
Universidade Federal Fluminense. Disponível em: 
<http://www.mec.uff.br/pdfteses/WashingtonBatistaLima2013.pdf> 
 
Wendling, Marcelo; Sensores – UNESP - Universidade Estadual Paulisa – 2010. 
Disponível em: < 
https://www.feg.unesp.br/Home/PaginasPessoais/ProfMarceloWendling/4---sensores-
v2.0.pdf> 
 
https://hqstockphotos.com/image/shutterstock-eps-133888343 
 
http://blog.novaeletronica.com.br/sensor-de-proximidade-
simples/?fb_comment_id=91255 6032094964_994935720523661 
 
http://www.if.ufrgs.br/mpef/mef004/20061/Cesar/SENSORES-Reed-switch.html 
 
https://www.mundodaeletrica.com.br/o-que-e-um-led/ 
 
 
 
 
 
 
 
 
 
 
 
 
http://www.if.ufrgs.br/mpef/mef004/20061/Cesar/SENSORES-Reed-switch.html
18 
 
ANEXO A – Montagem do Cenário 
 
Material Utilizado: 
1x tábua MDF5 45 x 45 cm; 
Cabo de silicone (preto) 
Arame Recozido 
Tinta acrílica nas cores branco, preto e verde; 
Lixa para madeira 
Pistola e refil de cola-quente; 
Fita crepe; 
Lápis; 
Borracha; 
Compasso; 
Régua. 
 
Primeiramente foi feito o desenho do cenário sobre uma tábua e aplicado a primeira 
mão de tinha, conforme mostra a Figura A.1, após a secagem foi aplicada uma segunda 
mão de tinta conforme mostra a Figura A.2. 
 
Figura A.1 – Desenho e pintura inicial do cenário 
 
Fonte: Autoria própria 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19 
 
Figura A.2 – Segunda mão de tinta do cenário 
 
Fonte: Autoria própria 
 
Esperou-se a secagem completa a fim de evitar borrões e com o auxilio de uma fita 
crepe sobre o desenho delimitou-se a área de pintura conforme a cor e pintou-se a faixa 
de pedestre, conforme mostra a Figura A.3. 
 
Figura A.3 – Pintura das delimitações do cenário 
 
Fonte: Autoria própria 
 
Após a conclusão da pintura do cenário construiu-se os semáforos utilizando 6 
resistores de 330Ω (3 para cada semáforo), 2 LEDs vermelhos, 2 LEDs amarelos, 2 
LEDs verdes e um raio de aço ao qual foi dividido ao meio para constituir a base do 
semáforo, além dos jumpers. Após a montagem realizou-se um teste para verificar o seu 
funcionamento conforme mostrado na Figura A.4. 
 
 
 
 
 
20 
 
 
 
 
 
Figura A.4 – Teste dos LEDs do cenário 
 
Fonte: Autoria própria 
 
Após a conclusão dos testes dos semáforos foi instalado os sensores conforme é 
mostrado na Figura A.5. 
 
Figura A.5 – Segunda mão de tinta do cenário 
 
Fonte: Autoria própria 
 
Depois iniciou-se os testes na protoboard para validar o código e já ir simulando na 
prática conforme é mostrado na Figura A.6. 
 
21 
 
Figura A.6 – Inicio dos testes via protoboard 
 
Fonte: Autoria própria 
 
Por fim o cenário foi finalizado e os componentes instalados conforme mostra a Figura 
A.7. 
Figura A.7 – Cenário finalizado 
 
 Fonte: Autoria própria

Outros materiais