Stap 3: magnetische kaartlezer
v\: * {behavior:url(#default#VML);} o\: * {behavior:url(#default#VML);} w\: * {behavior:url(#default#VML);} .shape {behavior:url(#default#VML)}; / * stijldefinities * / tabel. MsoNormalTable {mso-stijl-naam: "Tabel normaal"; mso-tstyle-rowband-grootte: 0; mso-tstyle-colband-grootte: 0; mso-stijl-noshow:yes; mso-stijl-prioriteit: 99; mso-stijl-qformat:yes; mso-stijl-ouder: "";" mso-padding-alt: 0 in 5.4pt 0 in 5.4pt; mso-para-marge: 0; mso-para-margin-bottom: .0001pt; mso-paginering: widow-orphan; lettertype-grootte: 11.0pt; lettertype-familie: "Calibri", "sans-serif"; mso-ascii-lettertype-familie: Calibri; mso-ascii-thema-lettertype: klein-Latijn; mso-Verre Oosten-font-family: "Times New Roman"; mso-Verre Oosten-thema-lettertype: klein-verre Oosten; mso-hansi-lettertype-familie: Calibri; mso-hansi-thema-lettertype: klein-Latijn; mso-bidi-font-family: "Times New Roman"; mso-bidi-thema-lettertype: klein-bidi;}
De eerste stap in dit project is de oprichting van hoe de kaartlezer eigenlijk werkt. Het gegevensblad kan hier worden gevonden: http://www.allelectronics.com/mas_assets/spec/MCR-12.pdf
De twee belangrijkste data lijnen zijn OTO en RCT, die zijn gegevens en klok respectievelijk. De manier waarop die deze kaartlezer stuurt wat het het lezen van deze twee pinnen gebruikt. Wanneer de clock lijn van 1 tot 0 gaat, dat betekent dat de volgende bit van de kaart is aanwezig op OTO. Er is een voorbeeld in de eerste foto.
De OTO-lijn is omgekeerd, wat betekent dat wanneer de klok van 0 naar 1 gaat, als een 0 is aanwezig op RDT, dat betekent dat er een 1 op de volgende bit van de kaart. In het voorbeeld hierboven laat zien wat er kan gebeuren als de gegevens "1101" op de kaart was. Merk op dat de frequentie van de klok pulsen zijn puur afhankelijk van het tempo waarin de kaart wordt gescand. Ze zijn niet noodzakelijk uniforme breedte.
Het volgende deel grijpen de gegevens na is het interpreteren. Meeste magneetkaarten dezelfde indeling, met inbegrip van de school-id's gebruikt. Er is een foto van verstrekte voorbeeldgegevens.
De gegevens zijn in groepen van 5 bits met 4 data-bits en een oneven pariteitsbit. Het eerste stukje is een puntkomma of een 'start-sentinel'. Het heeft van de waarde van 11, en betekent het begin van de kaart. Er is ook een pariteit byte aan het einde van de kaart. Dit vereenvoudigde ontwerp, worden de pariteitsbits genegeerd, omdat elke misread kaart simpelweg in een toegang ontkende fout resulteren zal.