;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Como o radar 'à prova de migué' flagra mau motorista de longe

Radar Doppler fiscalização de velocidade - Prefeitura de Curitiba/Divulgação
Radar Doppler fiscalização de velocidade Imagem: Prefeitura de Curitiba/Divulgação

Simone Machado

Colaboração para Tilt*, em São José do Rio Preto (SP)

16/06/2023 04h00Atualizada em 18/06/2023 16h08

Com a promessa de acabar com motoristas que tentam "enganar" radares ao frear perto do equipamento de fiscalização para evitar multas, o radar Doppler já vem sendo testado em rodovias no interior de São Paulo e Curitiba (PR).

O novo equipamento começa a medir a velocidade de um veículo antes do ponto onde está instalado e continua a mensuração até 50 metros depois. Com isso, o condutor que acelerar logo após ar o radar é flagrado e multado.

Isso é possível porque diferentemente dos radares convencionais, que medem a velocidade por meio de sensores instalados no asfalto, a novidade mede ondas eletromagnéticas. Funcionam assim:

  • Quando é emitida, a onda eletromagnética reflete no veículo em movimento;
  • Ao receber essa onda, o carro, caminhão ou moto rebatem de volta para o radar, que capta o sinal com uma antena;
  • A partir deste estímulo, o equipamento calcula a distância e chega à velocidade do automóvel analisado.

Essa tecnologia faz com que o condutor não diminua a velocidade apenas "em cima" do radar, mas permaneça dentro do limite da via por pelo menos 50 metros após a localização do dispositivo.

Os radares possuem tecnologia para distinguir a fiscalização feita de dois veículos próximos e não confundir os dados gerados por eles.

Essas antenas são muito diretivas e com pontaria bastante apurada. Por isso, o radar mede o carro de forma precisa e não confunde com o que está ao lado, por exemplo Eduardo Pouzada, doutor e professor de Engenharia Eletrônica do Instituto Mauá de Tecnologia (IMT)

Além de fiscalizar velocidade, os "radares à prova de migué" também podem flagrar outras infrações de trânsito, como mudança de faixa em local proibido e avanço de sinal vermelho.

Existe um ponto estático, que é o sensor e o emissor, e tem algo que está sendo sensoriado, no caso um carro, uma moto. Como a onda está mudando, o radar consegue saber a localização ou a mudança de localização do objeto, se está mais à esquerda ou mais à direita Arthur Igreja, especialista em tecnologia

Doppler, o nome do radar, faz menção a um fenômeno físico que analisa o efeito das reflexões de uma onda quando o emissor se aproxima do receptor. Uma forma prática de ilustrar isso é o exemplo de uma ambulância ando.

Dependendo da distância do veículo, percebemos o som da sirene mais agudo (quando está próximo a você) ou mais grave (quando ele se afasta).

"Se pegar essa mudança no som e o quão rápido essa mudança está acontecendo, é possível calcular a velocidade do veículo e mapear onde ele está. Dependendo da variação do barulho da ambulância, dá para saber quando ela chegará a você. E é isso que esse radar faz", comenta Igreja.

Para fazer essa medição —emitir e receber as ondas eletromagnéticas—, os radares fixos do tipo Doppler possuem em sua estrutura uma ou duas antenas, que, normalmente, ficam embutidas no aparelho.

Esses equipamentos estão homologados por portaria do Inmetro e são averiguados periodicamente, conforme resolução do Contran (Conselho Nacional de Trânsito).

*Com informações de Jainara Costa, em Colaboração para o UOL

Errata: este conteúdo foi atualizado
Diferentemente do informado sobre o exemplo do efeito Doppler com uma ambulância ando, a percepção de som não está relacionada ao volume do barulho. O fenômeno envolve a mudança de frequência (sons graves e agudos, por exemplo). O erro foi corrigido.