Um telefone costuma ser descrito pelo que ele faz — chamadas, fotos, aplicativos. Descreva-o, em vez disso, pelo que ele contém: um microfone suficientemente calibrado com amostragem a 48 kHz, duas ou três câmeras, uma lanterna LED potente, um motor de vibração, um acelerômetro e uma tela que pode piscar em uma taxa precisa. Isso não é um telefone. É um pequeno laboratório com tela sensível ao toque.
A maioria dos aplicativos usa uma dessas partes por vez, para a finalidade pretendida. As medições interessantes começam quando você as utiliza de forma não convencional e combinada: a lanterna como fonte de luz para a câmera, o motor de vibração como excitador para o acelerômetro, um segundo telefone como a outra metade de um experimento. Este post é um mapa desse território, em três níveis de ambição crescente.
Nível 1: um sensor, ouvindo passivamente
As ferramentas mais simples apontam um sensor para o mundo e analisam o que retorna:
- Espectro sonoro — grave o áudio, calcule o espectro e observe onde a energia se concentra. Este é o cavalo de batalha para fins gerais: motores, zumbidos, chocalhos e tons de objetos percutidos.
- Testes de batida — bata em uma fruta ou em um material e analise o decaimento acústico: a ressonância dominante e a rapidez com que ela decai dizem muito mais sobre o que está dentro do que o volume jamais diria. (Mais no post sobre o teste de batida.)
- Vibração — coloque o telefone sobre uma máquina de lavar, um compressor ou uma impressora 3D, e o acelerômetro registrará a assinatura de vibração.
- Cor e luz da câmera — medição pontual de cor, detecção de oscilação/taxa de intermitência para telas e iluminação LED, iluminância, contagem de objetos repetidos, leitura de medidores analógicos e estimativa de dimensões.
A disciplina unificadora: a captura deve ser tão bruta quanto a plataforma permitir. No Android, isso significa solicitar o caminho de microfone não processado — sem controle automático de ganho, sem supressão de ruído reescrevendo o próprio sinal que você deseja medir — e travar a exposição automática e o balanço de branco da câmera sempre que a medição depender da estabilidade dos níveis de luz.
Nível 2: o telefone excita e, em seguida, mede a própria excitação
Um telefone também possui atuadores, e emparelhar um atuador com um sensor transforma a escuta passiva em um instrumento ativo:
- Lanterna + refletância da câmera — capture um par de quadros com a lanterna desligada e ligada; a diferença isola a forma como a superfície reflete uma luz conhecida, praticamente eliminando a iluminação ambiente do local do resultado.
- Lanterna como iluminante: pulso e translucidez — pressione a ponta de um dedo sobre a câmera com a lanterna ligada e a câmera se tornará um fotodetector que monitora a mudança no volume de sangue a cada batimento cardíaco. A mesma óptica mede o quão translúcido é um material.
- Motor de vibração + acelerômetro + microfone — o telefone vibra contra um objeto enquanto grava como o objeto responde, tanto mecânica quanto acusticamente. Um painel oco e um painel maciço respondem de forma diferente.
As ferramentas ativas têm uma propriedade que falta às passivas: o estímulo é conhecido. Quando você controla a excitação, pode criar recursos com base em proporções e respostas, em vez de níveis absolutos — o que torna os resultados comparáveis entre diferentes modelos de telefone sem precisar calibrar cada dispositivo.
Nível 3: dois telefones, um experimento
Algumas grandezas são intrinsecamente bilaterais: quanto som uma parede bloqueia, quanta luz uma janela transmite. Um único telefone não pode estar nos dois lados ao mesmo tempo — mas dois podem, e a maioria das casas tem dois.
O truque que faz isso funcionar sem equipamentos de laboratório é a proporção de mesmo receptor. O telefone emissor reproduz um estímulo autoidentificável — uma varredura de tom em etapas ou uma tela piscando a uma taxa fixa. O telefone de medição captura duas vezes: uma com o caminho livre até o emissor (a referência) e outra através da parede ou janela. Apenas a proporção dessas duas capturas, feitas no mesmo microfone ou câmera, é usada como resposta. O volume do emissor, a sensibilidade do receptor, a sala — tudo isso se anula. Assim, os dois telefones não precisam de sincronização de relógio, cabo ou calibração entre si. (Passo a passo completo no post sobre isolamento acústico.)
Regra de design por trás dos três níveis: nunca confie em um nível absoluto. Os microfones e câmeras dos telefones variam de acordo com o modelo; ressonâncias, taxas de decaimento, padrões de domínio de ordem e proporções de mesmo receptor geralmente não variam. Recursos criados a partir de grandezas relativas funcionam em diferentes dispositivos; recursos criados a partir de valores absolutos exigem calibração contínua para cada aparelho.
De leituras isoladas a um catálogo
Uma leitura por si só é apenas uma curiosidade. As leituras se tornam conhecimento quando se associam a coisas: este melão, esta roda, esta parede, medidos hoje e novamente na próxima semana. Assim, cada medição pode ser registrada sob um objeto em um catálogo — Categoria → Objeto → Caso de uso → Medição — e qualquer medição pode receber um rótulo de referência real após o fato: você bateu no melão, depois o abriu e registrou o que encontrou. Esse ciclo fechado, repetido por muitos usuários e muitos objetos, é como os classificadores de teste de batida são treinados com frutas reais em vez de amostras de laboratório.
E para tarefas em vez de leituras — como afinar uma roda de bicicleta ou verificar o isolamento de uma sala — atividades guiadas encadeiam várias ferramentas na ordem certa e dizem o que fazer entre as medições, gravando os resultados no mesmo catálogo. O post sobre afinação de raios detalha a primeira delas.
Para onde isso está caminhando
A lista de ferramentas não para de crescer — e a arquitetura foi construída de forma que adicionar uma ferramenta seja um processo cumulativo: uma nova entrada em um registro, sem nunca refazer o que já foi salvo. Tudo roda no próprio dispositivo, offline, com resultados em menos de um segundo; o post sobre offline-first explica por que essa restrição é estrutural, e não apenas um item de checklist.