;(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

Resistente à água suja? Por que alguns celulares funcionam após molhar

Simone Machado

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

09/05/2023 16h45Atualizada em 09/05/2023 18h39

Um vídeo que viralizou nas redes sociais, no fim de semana, mostra Augusto Figueiredo, de 29 anos, mergulhado em um valão na Barra da Tijuca, no Rio de Janeiro. Com a água até o pescoço, ele tentava achar seu celular, um iPhone 12 Pro Max, que caiu no córrego.

Sem pensar duas vezes, o homem pulou na água suja para tentar recuperar o aparelho, comprado dois meses antes. Apesar de bastante sujo, o celular voltou a funcionar, mesmo após ter ficado três horas submerso. Mas como isso ocorreu?

Para entender como o celular sobreviveu, é preciso entender algumas de suas peculiaridades técnicas.

O aparelho tem a certificação IP68 (abaixo temos a explicação do número). Criada e avalizada pela Comissão Eletrônica Internacional, esse atestado de proteção indica que é garantido que o modelo resiste à água a uma profundidade de até seis metros e durante 30 minutos. É possível, porém, que o equipamento ainda funcione mesmo submetido a condições mais adversas.

Na Apple, possuem essa certificação os seguintes aparelhos:

  • iPhone 14,
  • iPhone 14 Plus,
  • iPhone 14 Pro,
  • iPhone 14 Pro Max,
  • iPhone 13,
  • iPhone 13 mini,
  • iPhone 13 Pro,
  • iPhone 13 Pro Max,
  • iPhone 12,
  • iPhone 12 mini,
  • iPhone 12 Pro,
  • iPhone 12 Pro Max,
  • iPhone SE (2ª geração),
  • iPhone 11,
  • iPhone 11 Pro,
  • iPhone 11 Pro Max,
  • iPhone XS,
  • iPhone XS Max,
  • iPhone XR.

São resistentes a derramamentos acidentais de líquidos do dia a dia, como refrigerante, cerveja, café, chá e suco. Em caso de respingo, enxágue a área afetada com água da torneira e depois seque o iPhone com um pano
Apple

Em resposta à reportagem, a Apple lembra ainda que os testes foram feitos em laboratório em "situação controlada" e que os equipamentos não podem entrar em contato com produtos químicos.

"Evite expor o iPhone a sabão, detergentes, ácidos ou alimentos de alta acidez e qualquer líquido, por exemplo, perfumes, repelentes contra insetos, cremes, protetor solar, óleos, removedores, tintura para cabelo e solventes. Se o iPhone entrar em contato com qualquer uma dessas substâncias, limpe o dispositivo", acrescenta.

Sobre a situação específica do Augusto, que derrubou o celular no esgoto, a Apple não explicou como o aparelho segue funcionando. Mas a vedação que garante aos smatphones uma proteção contra a água ajuda a explicar esse processo.

Como a vedação funciona

Água e circuitos eletrônicos nem sempre se dão bem. Isso porque os circuitos usam eletricidade e a água (exceção feita à destilada) contém sais e outras substâncias que são boas condutoras. O risco é de curto-circuito.

Há algumas técnicas usadas para manter a água longe, como:

  • envolver todo o circuito em uma película de resina ou;
  • criar uma espécie de "caixa estanque" ao redor de circuitos e outras partes sensíveis, como ocorre em smartphones e smartwatches.

A resistência desses gadgets, porém, não se baseia apenas em garantir que sua carcaça seja bem vedada contra líquidos.

Tipos de proteção

O mercado já está recheado de celulares resistentes à água. No entanto, existem diferentes níveis.

Essa especificação costuma ser indicada por uma sigla, que começa com as letras IP ("Ingress Protection" ou "Proteção de Entrada"), e foi criada pela Comissão Eletrotécnica Internacional, órgão regulamentador de padronização de tecnologias e condições de testes para certificação de aparelhos. Essa sigla é composta por dois números.

O primeiro indica a resistência à poeira e vai de 0 a 6. O segundo, a resistência à água e vai de 0 a 8. Quanto maiores os números, maior a resistência do aparelho.

No caso de partículas sólidas, o significado de cada número é o seguinte:

  • 0: Não há proteção
  • 1: Só há proteção contra objetos maiores do que 50 mm
  • 2: Só há proteção contra objetos maiores do que 12,5 mm
  • 3: Só há proteção contra objetos maiores do que 2,5 mm
  • 4: Só há proteção contra objetos maiores do que 1 mm
  • 5: Proteção parcial contra partículas de poeira, que podem entrar no aparelho, mas que não causarão dano
  • 6: Proteção completa

No caso de água, os números indicam os seguintes níveis de proteção:

  • 0: Não há proteção
  • 1: Proteção contra gotas que incidem verticalmente sobre o produto
  • 2: Proteção contra gotas que incidem sobre o produto em um ângulo de 15 graus ou menos
  • 3: Proteção contra gotas que incidem sobre o produto em um ângulo de até 60 graus
  • 4: Resistência contra respingos de água em qualquer direção
  • 5: Resistência contra um jato de água constante e de baixa pressão
  • 6: Resistência contra um jato de água constante, de grande fluxo e alta pressão
  • 6K: Resistência contra um jato de água constante, de grande fluxo e altíssima pressão. É pouco usado
  • 7: Pode ser submerso em até um metro de água por 30 minutos
  • 8: Pode ser submerso em profundidades maiores do que um metro. O fabricante especifica a profundidade máxima
  • 9K: Resistência contra jatos de água de alta pressão e temperatura, mesmo com origem próxima.

Apesar de ter uma certificação de resistência à água, isso não significa que os aparelhos podem ficar submersos por muito tempo. A proteção foi desenvolvida para caso de acidentes ou uma chuva mesmo.

Evite também levar o celular para o mar. Isso porque os testes IP são feitos com água doce, e não com água salgada. O sal pode danificar o aparelho.

*Com informações Rodrigo Lara, em Colaboração para Tilt