A leitura de código de barras é quase sempre feita de forma ótica, distinguindo as barras e os espaços pelo contraste. Uma das consequência disto é a necessidade de uma região vazia em torno do código de barras, a chamada
margem ou zona de silêncio.
O contraste entre as barras e espaços depende das suas cores e da cor da luz utilizada na leitura. Normalmente a luz usada na leitura é o vermelho, o que significa, por exemplo, que barras vermelhas impressas sobre branco não serão legíveis.
Uma vez distinguidas as barras e espaços, o leitor determina as suas larguras relativas e faz a decodificação, o que inclui determinar qual a simbologia do código. Feita a decodificação, o leitor precisa passar adiante os caracteres decodificados. As forma mais comum são por comunicação serial assíncrona e emulação de teclado. No primeiro caso o sistema que vai utilizar o código precisa ter um tratamento da serial. No segundo caso a leitura é transparente para o sistema, o que tem a desvantagem de impedir um tratamento diferenciado conforme o código foi lido ou digitado.
As formas mais comuns de leitura são:
- caneta ótica
- leitor de fenda
- leitor laser
- leitor CCD (ou linear imager)
- leitor de imagem
Vejamos alguns detalhes sobre elas.
CanetaA caneta é uma forma extremamente barata e pouco confiável. A caneta possui uma fonte e um sensor de luz. A leitura é feito movimentando-se manualmente a caneta por sobre o código. A distância de leitura é muito baixa, tipicamente a ponta da caneta é encostada no código, o que traz desgate para ambos. Uma boa leitura depende principalmente da habilidade de manter uma velocidade constante.
Leitor de FendaÉ praticamemte igual à caneta, porém a fonte/sensor fica fixo e o código é que é movimentado.
Leitor LaserNo leitor laser um diodo laser gera um feixe de luz que incinde sobre um espelho que oscila, fazendo com que o ponto se movimente. O circuito e o mecanismo de um leitor laser pode atualmente ser encapsulado em um módulo de tamanho próximo ao de um apontador.
É comum encontrarmos os leitores laser operando de três formas:
- Em um dispositivo segurado por um operador, como uma pistola ou coletor. Neste caso cabe ao operador apontar o feixe de luz para o código de barras.
- Em um dispositivo fixo na frente do qual o qual o operador apresenta ou passa o objeto com código de barras, como nos leitores de supermercado. Para maior agilidade, neste caso é comum termos um leitor omnidirecional, onde são usados mais de um espelho e/ou diodo laser para gerar raios em várias direções de forma a garantir que um deles corte todas as barras do código independente de sua orientação. Existem até mesmo leitores ditos "tridimensionais" compostos de um plano vertical e um horizontal.
- Em um dispositivo fixo que aponta para uma esteira onde os objetos com códigos de barras passam. Dependendo da libertada de posicionamento dos códigos na esteira, podem ser necessários vários leitores para garantir a leitura, criando os chamados túneis de leitura.
Uma dica sobre a leitura com leitores portáteis: ao incindir um feixe de luz em uma superfície temos um reflexão
especular, mais intensa e com igual ângulo em relação à perpendicular, e a reflexão
difusa, causada pelas imperfeiçoes da superfície e portanto menos intensa. Os leitores são normalmente projetados para operar com a reflexão difusa e podem ficar "ofuscados" pela reflexão especulara a curta distância. Por este motivo, a leitura costuma ser mais fácil quando o leitor é segurado com uma pequena inclinação em relaçaõ ao código.
Leitor CCDO leitor CCD se assemelha ao sensor de um scanner de imagem: uma sequência linear de sensores de luz. Originalmente os leitores CCD operavam apenas com distâncias muito curtas (próximas ao contato), mas hoje existem modelos capazes de ler a algumas dezenas de centímetros. Embora o desempenho possa ser um pouco inferior que os leitores a laser, o leitor CCD é mais barato. Além disso, um dos fabricantes possui patentes que lhe garante royalties sobre os leitores laser fabricados pelos seus concorrentes, o que torna o leitor CCD mais atraente para eles.
Leitor de ImagemO leitor de imagem é basicamente uma câmera digital. Através de processamento de imagem o código é localizado e as barras decodificadas. Normalmente os leitores de imagem permitem decodificação omnidirecional e suportam códigos 2D. É comum também permitirem o seu uso como uma câmera monocromática de baixa resolução. A desvantagem é que é necessário um processamento maior, o que torna a decodificação mais lenta. Graças à
Lei de Moore, a cada ano isto é menos problemático.
Desempenho dos LeitoresO desempenho de um leitor é normalmente indicado por diagramas como o abaixo:
Estes diagramas indicam a que distância é possível a leitura de códigos, em função do tamanho da barra mais fina. No caso dos leitores laser, a largura do feixe aumenta com a distância, o que afeta a leitura de códigos largos. Isto também é indicado no diagrama.
Escolhendo um LeitorO primeiro passo para escolher um leitor é definir os códigos que serão lidos: suas simbologias, quantidade de caracteres e tamanho da barra mais fina (o que junto com as informações anteriores define a largura do código). No caso de leitura em esteira, pode ser importante também a altura do código. Verifique também a necessidade de ler códigos danificados ou sujos.
O segundo passo é definir a forma de leitura (leitor manual ou fixo, etc).
O terceiro passo é definir a forma como o leitor se comunicará com o resto do sistema.
De posse destas informações, uma visita aos sites dos fabricantes indicará quais os modelos que atendem a estas especificações. Seguem alguns dos sites: