Começar gratuitamente 14 dias grátis
Códigos QR 9 min

Como funciona um código QR: o mecanismo explicado de forma simples

Módulos, padrões de deteção, correção de erros, versões e leitura pela câmara: o funcionamento de um código QR explicado para quem tem um restaurante.

O que é um código QR e de que é feito?

Um código QR é um código de barras a duas dimensões. Enquanto um código de barras clássico alinha apenas barras verticais legíveis num único eixo, o código QR guarda a informação em dois eixos: em largura e em altura. É isso que explica a diferença de capacidade entre os dois formatos.

Foi desenvolvido em 1994 pelo engenheiro Masahiro Hara na Denso-Wave, uma empresa do grupo Toyota. O objetivo era seguir peças em linhas de montagem, mais depressa do que os códigos de barras permitiam. Daí o nome: quick response, resposta rápida.

Na prática, trata-se de uma grelha quadrada composta por pequenos quadrados pretos e brancos chamados módulos. Cada módulo vale um bit: preto para 1, branco para 0. Juntos, estes módulos formam uma mensagem binária. A grelha contém a informação sob a forma de padrões que nada têm de aleatório, mesmo que o olho humano só veja um desenho.

A tecnologia é livre de direitos desde o início. A Denso-Wave abdicou de cobrar pela sua utilização, o que explica por que razão estes códigos são hoje usados em todo o lado: bilhética, pagamento por telemóvel, redes sociais, etiquetas de logística, cartões de visita digitais, ementas de restaurante.

A estrutura da matriz: para que servem os padrões

Amplie um código QR e verá que ele é organizado. Três quadrados grandes ocupam os cantos, uma zona branca envolve o conjunto, linhas de pontos atravessam a matriz. Cada elemento tem uma função precisa.

Os padrões de deteção nos três cantos

São os três quadrados concêntricos colocados em cima à esquerda, em cima à direita e em baixo à esquerda. Permitem ao leitor encontrar o código na imagem e calcular a sua orientação. O quarto canto está propositadamente vazio: é essa assimetria que indica o sentido de leitura.

Resultado prático: pode ler um código QR ao contrário, inclinado a 45 graus ou fotografado de lado. O software endireita a matriz antes de a descodificar. É uma vantagem real na sala, onde ninguém pousa o telemóvel bem direito sobre a mesa.

As outras referências da grelha

  • A zona silenciosa: a margem branca à volta do código, com pelo menos 4 módulos de largura. Sem ela, o leitor não distingue onde começa a matriz.
  • Os padrões de sincronização: as linhas alternadas preto/branco que ligam os padrões de deteção e dão a escala exata de um módulo.
  • Os padrões de alinhamento: pequenos quadrados adicionais que corrigem a deformação quando o código é impresso numa superfície curva ou fotografado obliquamente.
  • A zona de formato: uma faixa de 15 bits colocada à volta da referência principal. Indica o nível de correção de erros e a máscara aplicada.

Esta zona de formato é lida em primeiro lugar. Sem ela, o aparelho não saberia como interpretar o resto dos dados. Está, aliás, duplicada em dois sítios, para sobreviver a uma sujidade localizada.

As versões e a quantidade de dados armazenados

Existem 40 versões de códigos QR. A versão 1 mede 21 módulos de lado, a versão 40 mede 177. Quanto mais alta a versão, mais conteúdo o código consegue guardar, mas mais finos ficam os módulos para a mesma superfície de impressão.

A capacidade depende também do modo de codificação escolhido. O modo numérico, reservado aos algarismos, é o mais denso: até 7 089 caracteres. O modo alfanumérico, que aceita maiúsculas e alguns símbolos, fica-se pelos 4 296 caracteres. O modo byte, o que serve para um URL ou um texto com acentos, desce para 2 953 caracteres.

Estes números são máximos teóricos, obtidos com a correção de erros mais fraca. Na prática, um gerador escolhe automaticamente a versão mais pequena capaz de conter os seus dados. É por isso que um URL curto produz um código visualmente simples, e uma cadeia longa um código denso e difícil de ler à distância.

No terreno, a regra é sempre a mesma: quanto mais curto for o endereço codificado, mais rápida é a leitura. Um código QR de ementa que aponta para um URL de 25 caracteres lê-se numa fração de segundo, mesmo num telemóvel antigo.

A correção de erros Reed-Solomon: porque é que um código danificado continua legível

É o mecanismo mais interessante. Os dados não são apenas escritos na matriz: são acompanhados por bits de redundância calculados pelo algoritmo de Reed-Solomon, o mesmo princípio usado nos CD e nas transmissões por satélite.

Existem quatro níveis de correção:

  • Nível L: cerca de 7 % da superfície pode estar destruída ou tapada.
  • Nível M: cerca de 15 %. É a definição por omissão da maioria das ferramentas.
  • Nível Q: cerca de 25 %.
  • Nível H: cerca de 30 %, à custa de uma matriz maior.

O descodificador não se limita a detetar os erros, ele reconstrói-os. Uma mancha de molho, um canto dobrado, um risco no cavalete de mesa: enquanto os padrões de deteção continuarem visíveis e os estragos não ultrapassarem o limite do nível escolhido, o código funciona. É também isso que permite integrar um logótipo no centro de um código QR sem o tornar ilegível.

Atenção, no entanto: o nível H não permite tudo. Se o logótipo tapar um padrão de deteção, nenhuma correção resolve o problema. Alguns códigos demasiado decorados tornam-se caprichosos consoante a luz.

O que acontece quando lê um código com a câmara

Desde o iOS 11 e o Android 9, a leitura está integrada: já não é preciso instalar nenhuma aplicação. Abre a câmara, aponta, e aparece uma notificação. Em poucas dezenas de milissegundos, o telemóvel encadeia várias operações.

  • Capta uma imagem, converte-a em tons de cinzento e depois em preto e branco puro (binarização).
  • Procura os três padrões de deteção e deduz a posição, o tamanho e a inclinação do código.
  • Endireita a grelha, lê a zona de formato e retira a máscara aplicada aos módulos.
  • Reconstitui o fluxo binário, aplica Reed-Solomon para corrigir o que está danificado e traduz os bits em caracteres.

O resultado é uma cadeia de texto. Se começar por http, o sistema propõe abrir a página web correspondente. Se contiver um número, propõe ligar. O utilizador nunca tem de escrever seja o que for no teclado: é essa toda a vantagem.

Numa fotografia já guardada na galeria, o princípio é idêntico. Na Samsung, o Google Lens e o leitor integrado fazem o mesmo trabalho. No computador, é preciso recorrer a uma extensão ou carregar a imagem num descodificador online. Os mecanismos não mudam, só o ponto de entrada é diferente.

Código QR estático ou dinâmico: a distinção que conta

Coexistem dois tipos de códigos, e a diferença não é cosmética. É ela que determina o que poderá fazer com a sua ementa daqui a seis meses.

Um código QR estático codifica o dado diretamente na matriz. O endereço está fisicamente gravado nos módulos pretos e brancos. Mudar o destino obriga a gerar um código novo e a reimprimir todos os suportes.

Um código QR dinâmico codifica um URL curto de redirecionamento. O código aponta para um servidor que depois reencaminha para a página final. A matriz nunca muda, mas o destino altera-se em dois cliques a partir de um painel de gestão.

CritérioCódigo QR estáticoCódigo QR dinâmico
Conteúdo codificadoO dado final, gravado de forma fixaUm URL curto de redirecionamento
Alteração depois da impressãoImpossível, é preciso reimprimirImediata, sem mexer no suporte
Densidade da matrizElevada se o endereço for longoBaixa, logo leitura mais rápida
Estatísticas de leituraNenhumasNúmero de leituras, horários, aparelho
Dependência de um serviçoNula, o código vive sozinhoO serviço de redirecionamento tem de continuar ativo

Como funciona um código QR dinâmico na prática

O cliente lê o código, o navegador chama o URL curto, o servidor responde com um redirecionamento e mostra a página pretendida. A operação acrescenta algumas dezenas de milissegundos, impercetíveis. Pelo caminho, o servidor regista o evento: data, hora, tipo de telemóvel e, por vezes, o idioma do aparelho.

Para quem tem um restaurante, estes dados mudam a conversa. Fica a saber quantos clientes consultam realmente a ementa, a que horas, e se os turistas mudam para inglês. É isso que permitem as funcionalidades de gestão de ementa online pensadas para este caso de utilização.

Criar, proteger e usar um código QR sem erros

Como criar um código QR

O princípio é simples: escolhe um tipo de conteúdo (URL, texto, wi-fi, cartão de visita, número de telefone), introduz os dados, a ferramenta calcula a matriz e devolve-lhe uma imagem. Há muitos serviços gratuitos com esta função. Para gerar um código feito para durar, prefira uma ferramenta que ofereça o modo dinâmico e exportação vetorial, caso contrário a impressão em grande formato ficará desfocada.

As desvantagens e os limites

O código QR não é perfeito. É preciso rede para abrir a página, luz suficiente e um suporte limpo. Os clientes mais velhos nem sempre conseguem seguir o processo sozinhos. Um código demasiado pequeno, impresso com menos de 2 cm de lado, torna-se arriscado.

Existe também o risco de fraude. Há quem cole um autocolante por cima do código original para reencaminhar para um site fraudulento. A defesa é básica: verifique os suportes na sala, imprima o nome do domínio por extenso por baixo do código e opte por um domínio reconhecível. Um código QR não consegue instalar software sozinho; o perigo vem da página que abre a seguir, não da matriz.

As utilizações para além da ementa

Os códigos QR podem servir para muitos outros serviços: acesso ao wi-fi do estabelecimento, deixar uma avaliação, ficha de alergénios, reservas, pagamento. Podem guardar um texto completo offline quando não há ligação disponível. Podem também apoiar uma ação de marketing pontual, um passatempo ou um cartão de fidelização.

A aplicação concreta na ementa do restaurante

Numa mesa, o código QR substitui a ida do empregado com as ementas em papel. O cliente tira o telemóvel, aponta ao cavalete e a ementa aparece. Sem aplicações para instalar, sem contas para criar.

O modo dinâmico ganha aqui todo o sentido. Muda o prato do dia às 11h e a ementa está atualizada em todas as mesas às 11h01. Acabou o peixe? Esconde a linha. Um aumento de preço? Aplica-se em todo o lado, sem reimprimir 60 cavaletes a 1,50 euros cada.

O formato digital também torna a conformidade mais simples, sobretudo na apresentação das menções obrigatórias e dos alergénios, que num suporte em papel obrigam a refazer tudo a cada alteração. E abre a porta à tradução automática para os clientes estrangeiros.

Um último ponto muitas vezes esquecido: a qualidade do suporte. Imprima o código com 3 cm de lado no mínimo, sobre fundo claro, com a margem branca intacta, e teste-o em pelo menos três telemóveis diferentes antes de o pôr na sala. Se está a começar do zero, montar uma ementa acessível por código QR demora normalmente menos de um dia, fotografias incluídas.

Leia também

Ver tudo