Atom Nieuws 2001 nummer 1
../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif
pagina 3

Kaartlezer

Voor het uitlezen van bridge scorekaarten


Inleiding:

Het is al weer een tijd geleden dat Atom News is verschenen en ik moet zeggen dat het steeds moeilijker wordt om iets te verzinnen op Atom gebied. De laatste tijd heb ik niet veel meer gedaan met de Atom en dan droogt de inspiratiebron uit. Dit is de rede waarom ik gekozen heb voor een oud project, de kaartlezer. Dit project zijn Sjaak Geene en ik ooit begonnen met wat testen en daar is het eigenlijk bij gebleven maar toch wel leuk om er iets over te vertellen.

Idee:

Een kennis van mij speelt bridge in een club en er worden regelmatig wedstrijden georganiseerd. Om alle scores snel en goed te kunnen verwerken maakt men gebruik van zogenaamde scorekaarten. Dit zijn voorbedrukte kaarten waarop men dmv het inkleuren van vakjes de behaalde scores in kan vullen. Hieronder een voorbeeld van zo'n kaart.

bridge-1.gif

Deze kaart wordt dan met een kaartlezer uitgelezen en de score wordt dan verwerkt met de computer. Het leek me gewoon leuk om me eens te verdiepen in de werking van zo'n kaartlezer en er een voor de Atom te bouwen. De kaartlezer bestaat uit 2 gedeeltes, een elektronisch- en een mechanisch gedeelte.

Principe:

Het principe van inlezen is als volgt:

  • Men schuift de kaart in de richting van de pijl (linksonder) in de kaartlezer,
  • De kaartlezer 'ziet' de kaart, transporteert hem langs de leeskoppen en scant de vakjes,
  • De kaart wordt weer uitgevoerd,
  • De computer verwerkt het resultaat.

Wanneer je de kaart goed bekijkt, zie je aan de bovenkant een rij met 21 zwarte rechthoekjes. Dit zijn de triggervlakken, wanneer dit vlakje zwart is mag er data gelezen worden.
De leeskoppen zijn zodanig gepositioneerd dat er vertikaal gezien 12 stuks onder elkaar zitten (komt overeen met vakje A t/m L) op dezelfde verticale afstand als van vakje A naar vakje B. Boven de triggervlakken zit natuurlijk ook een leeskop zodat er in het totaal 13 kopjes onder elkaar zitten. Tijdens een complete scan heeft men, van links naar rechts gezien, een start kolom, daarna 19 data kolommen en als laatste een stop kolom.

Elektronica:

Als eerste hebben we een aantal sensoren bij elkaar gezocht om als leeskop te fungeren. Sjaak had nog een 11-tal Sharp GPL01 opto-couplers liggen welke uit printers gesloopt waren. Eigenlijk zijn er 13 leeskoppen nodig maar om te testen konden we met 11 volstaan. Nadat een schema gemaakt was hebben we een printje in elkaar gesoldeerd om te kijken of de opto-couplers geschikt waren. Zie onderstaand schema:

bridge-2.gif bridge-3.gif

Na wat experimenteren bleek de schakeling te werken maar was wel zeer lichtgevoelig. Een schemerlamp was al voldoende om constant licht te zien met de opto-coupler. In het donker met alleen licht van de monitor bleek het te werken. De constructie waarin de leeskoppen gebouwd moesten worden, moest dus donker zijn.

Mechanica:

Het leeskoppen gedeelte werkte en nu moest er iets gemaakt worden om de kaart te transporteren langs de leeskoppen. Na een tijdje rommelen en zoeken hadden we wat tandwielen, een printerrol met geleiding en een motortje bij elkaar gevonden. De voorkant van de lezer was een dummy frontje wat in de PC zit op de plek van een 5 ¼ diskdrive. Na wat boren, zagen solderen en schroeven is onderstaande constructie ontstaan. In het frontje zaten 2 gleuven, 1 aan de bovenzijde voor invoer- en 1 aan de onderzijde voor uitvoer van de kaart. De kaart werd door wat geleidingen over de printerrol getrokken om daarna aan de onderzijde uitgevoerd te worden. De leeskoppen zouden op het keerpunt van de rol gemonteerd worden. Zie onderstaande schets:

bridge-4.gif

Tot zover is er geëxperimenteerd en daarna is het project blijven liggen. De bedoeling was om net achter de in- en uitvoergleuven een schakelaar te plaatsen welke door de kaart ingedrukt wordt, waardoor de motor begint te lopen als de kaart in de bovenste gleuf gestopt wordt en stopt als de onderste schakelaar vrij komt. Verder moest er nog een afscherming om het geheel komen waardoor de lezer niet groter zou worden dan een 5 1/4 diskdrive.

Software:

Zoals je in het schema kunt zien worden de leeskoppen via de PB-poort van de VIA ingelezen. De aansluitingen zijn als volgt:

Bit

I/O

Signaal

PB 0

Out

Selecteer leeskop 0 t/m 9

PB 1

Out

PB 2

Out

PB 3

Out

PB 4

-

n.c.

PB 5

-

n.c.

PB 6

In

Lees status van trigger kop

PB 7

In

Lees status van geselecteerde leeskop

Om het elektronische gedeelte te testen hebben we een programma geschreven wat de status van de opto-couplers weergeeft. Het geheel is natuurlijk weer in Atomic Windows geprogrammeerd omdat hierin al wat leuke karakters zaten voor een aan/uit leeskop. Een klein assembler programma leest de status van de koppen in een string. Zwart onder een leeskop geeft status '1' en wit onder een leeskop geeft status '0'. Status '1' is $5 en status '0' is $6. Op dit moment staat er dus in de string, van links naar rechts: #06 05 06 06 05 06 05 05 05 06 20 05. De #20 is een spatie tussen kop 9 en de trigger kop. Daarna wordt deze string telkens op het scherm geprint.

bridge-5.gif

Tot zo ver weer een Atomic Adventure. Groeten en prettige vakantie gewenst van:

Sjaak Geene en Kees van Oss

../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif