Søk i artikler

Hvordan virker strekkode?

Vi kommer oss bak strekkoden for å se hvilket system som blir brukt.

Det finnes ufattelig mange standarder når det kommer til strekkoder. Det er egne for blader og bøker (ISBN strekkoden) det er egne for lagre og egne for butikker og hver verdensdel har laget sin egen standard osv. osv. Det er to store man møter på i dagliglivet. Det er den amerikanske U.P.C. (Universal Product Code) som kan finnes på visse produkter i Norge. Så har man den typen vi har valgt å titte på, nemlig EAN (European Article Number). Det er den som er på melka og på VG.

EAN (European Article Number)

Her ser man en EAN strekkode med koden 012345678901.

Det man kanskje først legger merke til er begynnelsen, midten og slutten som har en litt lengre del en resten. Om du lurer på hva dette er, er det akkurat det det er: Begynnelsen, midten og slutten. La oss komme tilbake til det.

Når man holder strekkoden foran leseren, som regel er en laser, men kan også være et kamera, vil en prikk løpe fra den ene enden til den andre. Denne laseren er fargefølsom. Det vil si at den kan selv oppfatte hvilken farge den ser på. Laseren løper over og leser strek for strek, som for den, oppfattes som prikk for prikk, da laseren selv kun er en prikk. Den oppfatter først startstrekene (på venstre side) så leser den tall, leser midtstrekene så tall og til slutt stoppstrekene. Disse kalles "guardbars" fordi dem holder på strukturen og kalibrerer tykkelsen på strekene.

Så hvordan oversetter denne laseren dette til tall? Det hele er en binær sak. Se på strek som "1" og ikke strek som "0". Hvert tall har 7 slike 1ere og 0er og disse oversettes slik:

DesimaltallBinært tall
0 0001101
1 0011001
2 0010011
3 0111101
4 0100011
5 0110001
6 0101111
7 0111011
8 0110111
9 0001011
Start 101
Stopp 101
Midt 01010

Den forskjellige tykkelsen på strekene kommer da selvsagt av at det er flere "1ere" som står ved siden av hverandre. Dette gjelder også forskjellig tykkelse på mellomrom.

Hvert tall er satt sammen av 7 streker og ikke-streker.

Den observante leser har kanskje sett at bitkoden for 6,7,8,9,0 og 1 ikke stemmer på høyre side av midten i strekkoden vår. Dette er det selvsagt en grunn for. På høyre side av strekkoden er alle bitkoder motsatt. koden for 0 som er 0001101 blir på høyre side 1110010. Og hvorfor det spør du? Jo det er fordi at det skal være mulig å skanne strekkoden opp ned. Leseren vil da skjønne hvor speilvendingen er og snu strekkoden deretter.

Oppbygning av EAN

EAN er delt opp i fire deler som følger:

EAN-strekkoden er delt opp i soner.

Hvor startkoden, første tall og, i noen tilfeller, tall nummer tre er en landskode. Så har man fem siffer satt av til fabrikant som angir hvem som har laget det, og til slutt har vi produktkoden. Siden alle produsenter har en unik produsentkode kan hver produsent kun ha 99.999 produkter på markedet til en hver tid. Men man skulle tro det gikk greit. Helt på tampen er det en checksum eller en kontrollnummer som det så fint heter på norsk.

Checksum - kontrollnummer

Checksumen eller kontrollsifferet er der for å konstatere at strekkoden er riktig lest inn. Man gjør en lang og kjedelig regneoperasjon med alle tallene i koden, så deler man på 10 og skriver resten som et kontrollsiffer. For å gjøre det litt enklere å forklare en checksum tar vi et mindre tall: tallet 234, hvor det siste sifferet skal defineres som en checksum. Vi lager vår egen kontrollmetode som sier at alle sifrene skal ganges med 7 og legges sammen for å lage checksumen. Regnestykket blir dermed:
(2x7)+(3x7)+(4x7) som blir:
14+21+28 = 63 - vi deler 63 på ti og tar ut resten som er 3. 3 er vårt kontrollsiffer det fullstendige nummeret er dermed 2343. Blir et av tallene nå lest inn feil, vil sannsynligvis checksumen ikke stemme med resten av tallet og vi kan konstatere at noe er lest inn feil.

Andre "kule" strekkoder

Strekkoden vi har sett på kalles endimensjonal, da lengden på strekene ikke har noe å si. Det er kun det som står vannrett som har noe å si. Men det finnes også strekkoder som er todimensjonale. De kan inneholde mye mer informasjon og ser helt snåle ut. Noen eksempler:

StrekkodeNavn
Azteccode
Datamatrix
Semacode
ShotCode

Lik oss på Facebook