www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schachcomputer


Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Iwan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
multiplexen
immer eine Zeile ausgeben und dann die spalten abfragen

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..

@Iwan: Wie meinst Du das?

Alex

Autor: UBoot-Stocki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Iwan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Iwan (Gast)
Datum:

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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wollt ihr eigentlich merken wo welche figur steht??

Autor: Jürgen Berger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das weiss man immer, weil es eine definierte
Anfangsbedingung gibt

Jürgen

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
war zu faul noch die reedschalter zu machen aber das prinzip ist ja das
entscheidende :)

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.