Vorrei sapere come funziona uno strumento che legge codici a barre. Che tipo di dato restituisce al computer? Come si può recuperare questo dato?
(Risponde Luca Fini)
La lettura dei codici a barre è concettualmente molto semplice: un dispositivo fotoelettrico viene fatto passare di fronte alle barre del codice, opportunamente illuminate, e riceve il segnale derivante dalla presenza di zone bianche e nere alternate.
I lettori più semplci sono simili a penne che devono essere "strisciate" sul codice, altri, adatti alla lettura a distanza, hanno un illuminatore costituito da un diodo laser il cui fascio viene fatto ruotare in modo da "spazzolare" il codice e l'elemento fotosensibile è tarato sulla lunghezza d'onda del diodo laser in modo da minimizzare gli effetti dell'illuminazione circostante.
In ogni caso l'uscita dell'elemento fotoelettrico è un segnale elettrico in cui l'informazione viene codificata sulla base delle larghezze relative delle zone bianche e nere. Prendendo la più stretta delle bande come unità si hanno bande di 1,2,3 e 4 unità. Sono utilizzate sia le bande nere che gli spazi, ovvero il primo elemento da considerare è la prima banda nera sulla sinistra, il secondo lo spazio successivo, il terzo la banda successiva e così via.
A seconda degli usi esistono vari tipi di codice. I più semplici codificano solo le dieci cifre decimali. Ad esempio un tipico codice a dodici cifre inizia sempre con la sequenza 1-1-1 (una barra, uno spazio, una barra, tutti di lunghezza minima) ed utilizza la seguente codifica:
| cifra | larghezza barra o spazio |
|---|---|
| 0 | 3-2-1-1 |
| 1 | 2-2-2-1 |
| 2 | 2-1-2-2 |
| 3 | 1-4-1-1 |
| 4 | 1-1-3-2 |
| 5 | 1-2-3-1 |
| 6 | 1-1-1-4 |
| 7 | 1-3-1-2 |
| 8 | 1-2-1-3 |
| 9 | 3-1-1-2 |
Sono comunemente usati per applicazioni diverse una decina di codici con varie caratteristiche. Alcuni di essi (ad esempio il "Code 128") possono rappresentare 128 diversi caratteri e simboli.
Tutti gli apparecchi per la lettura di codici a barre hanno internamente la circuiteria necessaria a leggere il codice e trasformarlo nella relativa sequenza di caratteri e si interfacciano al computer in vari modi: simulando la tastiera (il computer riceve i caratteri come se fossero digitati sulla tastiera); tramite la porta seriale; tramite la porta USB. I programmi di lettura dovranno quindi leggere da tastiera o dalla porta seriale, oppure dovranno utilizzare un libreria per il supporto delle porte USB, a seconda del tipo di interfacciamento.