Forum: Mikrocontroller und Digitale Elektronik Schachcomputer


von Alex1 (Gast)


Lesenswert?

Hallo zusammen,

ich bin dabei Hardware fuer einen Schachcomputer zu bauen.

Allerdings habe ich ein Problem mit dem Brett:

Ich wollte eine 8x8 Matrix mit ReadKontakten aufbauen, so dass man
erkennen kan, wann und wo eine Figur bewegt wurde. Nur das ist nicht so
einfach, da ja gleichzeitig 32 Figuren draufstehen koennen.

Hat jemand ne Idee wie man so etwas loesen kann?
Danke.

Alex

von Iwan (Gast)


Lesenswert?

multiplexen
immer eine Zeile ausgeben und dann die spalten abfragen

von Alex1 (Gast)


Lesenswert?

Hallo..

@Iwan: Wie meinst Du das?

Alex

von UBoot-Stocki (Gast)


Lesenswert?

Hi Alex,

ich kann Dir zwar Deine aktuelle Frage nicht beantworten. Aber mich
interessiert brennend warum Du überhaupt eine spezielle Hardware
baust ? Ist das noch "zeitgemäss" ?

Würde man nicht eher ein "normales" PC-Programm schreiben?

Gruß

UBoot-Stocki

von Alex1 (Gast)


Lesenswert?

Hallo...

@UBoot-Stocki: Natuerlich, Du hast recht. Das Programm laeft ja auch
schon auf dem PC. Es macht aber mehr Spass so etwas mal zu bauen.

Alex

von Markus_8051 (Gast)


Lesenswert?

Matrix ist schon richtig, zusätzlich noch eine Diode zu jedem
Reedkontakt in Reihe, damit man keine Fehlinfos aus anderen
Zeilen/Spalten der Matrix bekommt.

Viel Spaß beim Bauen,
Markus_8051

von Iwan (Gast)


Angehängte Dateien:

Lesenswert?

8 waagrechte "drähte" für jede Zeile
8 senkrechte "drähte" für jede Spalte
ein reed kontakt an den Kreuzungen für jedes Feld


gib auf a ein high
und schau dann ob auf 1 oder oder 3 oder 3 ........
ein high zurückkommt
wo ein high zurückkommt steht eine Figur

das selbe dann mit b und c und....

hab dir in paint was gekritzelt hoffe du kommst damit klar

von Iwan (Gast)


Lesenswert?

solltest in reihe zu jedem Kontakt eine Diode schalten, damit dir das
high signal über die anderen Kontakte nicht verschwindet

von Rahul (Gast)


Lesenswert?

Guck mal bei atmel.com nach der Application Note 240.
Da ist ein ziemlich einfacher Algorithmus für eine Matrix-Tastatur
beschrieben. Den müsste man auf jeden Fall etwas abändern, aber für den
Anfang könnte der schon interessant sein.
Es wird auf jeden Fall umständlicher (bin auch gerade am Überlegen...)

Gruß Rahul

von Tobi (Gast)


Lesenswert?

wie wollt ihr eigentlich merken wo welche figur steht??

von Jürgen Berger (Gast)


Lesenswert?

Das weiss man immer, weil es eine definierte
Anfangsbedingung gibt

Jürgen

von Alex1 (Gast)


Lesenswert?

Hallo...

Das mit der Matrix ist mir klar (habe schon oeffter Matrizen
eingesetzt). Mein Problem ist, das man bei einer Matrix "nur eine"
(je nach dem, wo man drueckt auch zwei) Tasten erkennen kann. Bei einem
Schachbrett stehen aber 32 Figuren am Anfang auf dem Brett, d.h. ich
kann z.B. wenn auf einer Spalte 2 figuren hintereinander und in einer
Reihe 2 Figuren nebeneinander stehen, kann ich das nicht erkennen, da
der Readkontakt geschlossen ist (die Figur steht).
Wie so etwas geht weiss ich nicht. ;-((

Juergen hat recht: Es gibt einen definierten Anfangszustand. Die Engine
hat diesen Zustand und verwaltet auch das Brett. Wenn jetzt aber jemand
die figuren umstellt oder nicht richtig hinstellt, dann geht dieses
Verfahren nicht. Das werde ich aber erstmal noch nicht versuchen.
Erstmal muss das so laufen.

Alex

von Stefan (Gast)


Lesenswert?

Hi Alex,

Du musst die Reed-Schalter mit Dioden entkoppeln, sprich: zu jedem Reed
eine D in Serie.
Dann kannst Du alle gleichzeitig erkennen.

Stefan

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

war zu faul noch die reedschalter zu machen aber das prinzip ist ja das
entscheidende :)

von Alex1 (Gast)


Lesenswert?

Hallo,

Danke fuer die Tips, aber..

Oder bin ich zu "bresig" oder ihr wisst etwas von den Readkontakten,
das ich nicht weiss. Fallen die den nach einer Zeit ab?

Wenn ich jetzt mal die o. g. Schaltung (matrix.jpg) betrachte...

Angenommen alle 6 Schalter sind geschlossen: Ich lege zuerst an die
Zeilen eine "1" und lese die Spalten -> alle sind Null. Jetzt
andersherunm. Wie soll ich jetzt erkennen, wenn R3C3 weggenommen
wurde?

Alex

von Tobi (Gast)


Lesenswert?

reedkontakte bleiben angezogen solange ein magnet in der nähe ist.

du liest die spalten einzeln aus. jede leitung wird einzeln
überprüft/bekommt einen eigenen port. wenn jetzt nur auf einem feld
einer reihe eine figur steht, sagen wir mal auf dem 2. dann ist auch
nur die schalterstellung an port nr 2 verändern. die dioden verhindern,
dass ein offener schalter gleich die ganze reihe als geschlossen
markiert.
geh das einfach mal im kopf anhand der sschaltungsskizze durch dann
siehst du was wir meinen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.