Figuren auf Spielbrett erkennen

OP #6611758
Lesenswert?

Liebe Gemeinde,

ich möchte Belegungen von Spielbrettflächen erkennen. Dazu verwende ich 
Reedkontakte. Es handelt sich um eine Schachbrettfläche. Natürlich 
können mehrere Flächen belegt sein, weshalb ich glaube, dass eine 
8x8-Matrix mglw. nicht geeignet ist. Ich lese die Fläche mit PCF8574 
Zeilenweise aus. Mein Ansatz dazu ist das Schema im Anhang. Der Arduino 
wertet sie aus und das Ergebnis soll an einen Raspberry seriell 
weitergegeben werden. Ist dieser Ansatz geeignet oder kennt jemand 
bessere Möglichkeiten?

Vielen Dank fürs Anschauen
Sakura
Angehängte Dateien:
(Firma: matzetronics) #6611763
Lesenswert?

Thomas W. schrieb:
> Natürlich
> können mehrere Flächen belegt sein, weshalb ich glaube, dass eine
> 8x8-Matrix mglw. nicht geeignet ist.

Wie kommst du darauf? Das ist doch der Witz an einer Matrix. Und du 
brauchst nicht 8 Stück, sondern nur einen PCF8574 als Sender in die 
Matrix und einen als Empfänger von der Matrix, denn die haben ja schon 8 
I/O Ports.
Um Mehrfachdeutungen zu vermeiden, bekommt jeder Reedkontakt eine Diode 
in Reihe.
Probleme bei Schach ergeben sich eher daraus, das der Typ der Figur 
nicht erkennbar ist.
OP #6611771
Lesenswert?

Vielen Dank!

Ok, ich habe mir schon gedacht, dass ich wohl einen sehr umständlichen 
Weg gewählt habe. Das Problem mit dem Erkennen der Figur, glaube ich 
dadurch zu lösen, dass das Abheben und Abstellen genau verfolgt werden 
sollte. So weiß man immer genau wo sich welche Figur befindet. Das 
Abheben mehrerer Figuren gleichzeitig sollt nat. vermieden werden.
Gast #6611795
Lesenswert?

Thomas W. schrieb:
> Ich lese die Fläche mit
> PCF8574 Zeilenweise aus. Mein Ansatz dazu ist das Schema im Anhang.

Inwiefern Schema ?

Das sind eine hand voll auf ein Blatt gekippte Bauteile.

Für Verbindungen warst du wohl zu faul.

> Natürlich können mehrere Flächen belegt sein, weshalb ich glaube, dass
> eine 8x8-Matrix mglw. nicht geeignet ist.

Das geht schon, wenn in Reihe zu jedem Reed-Kontakt eine Diode kommt.

Es reichen dann zwar 8 Ausgänge und 8 Eingänge am uC, aber immer noch 64 
Reedkontakte und 64 Dioden mit 272 Lötkontakten zu verbinden. Wenn du 
dir den Aufwand machen willst...

Man konnte schon 1954 (Kernspeichermatrix) ein einzelnes Bit in einer 
Matrix identifizieren, mit nur mit 8 Zeilentreibern und 8 
Spaltenverstärkern, ohne Dioden, ohne Reedschalter. Der Aufbau erfordert 
halt mehr know how, ähnlich einem Graphiktablett.
OP #6612121
Lesenswert?

Hallo,

ich habe nun meine Schaltung geändert und wollte mal fragen ob das so 
Sinn macht. Der Arduino schaltet abwechselnd immer nur ein Ausgang auf 
High, dann lese ich den PCF8514 aus -> Ausgang wieder auf Low, dann 
Ausgang 2 u.s.w. So bräuchte ich doch die zusätzlichen Dioden nicht, 
oder versteh ich da etwas falsch?

Vielen Dank fürs Anschauen
Thomas
Angehängte Dateien:
Gast #6612147
Lesenswert?

MaWin schrieb:
> Thomas W. schrieb:
>> So bräuchte ich doch die zusätzlichen Dioden nicht
>
> Doch.
>
> Sonst gibt es "Phantom" Stellungen
>
> (A1 und A4 und C1 besetzt -> C4 wird auch als besetzt erkannt).

OMG.

Scheinbar müssen solche Trivialitäten doch immer und immer wieder 
durchgehechelt werden...

Und das in Zeiten, da auch jeder ernsthaft interessierte Anfänger das 
gesamte Internet zu Verfügung hat...
Gast #6612208
Lesenswert?

Das mit dem schlagen ist doch ganz einfach.
Angenommen schwarz ist am zug:
Wird eine weiße Figur angehoben und dann noch eine schwarze soll die 
weiße geschlagen werden.

Werden zwei Schwarze angehoben und zwar König und Turm ....
Gast #6612217
Lesenswert?

Matthias S. schrieb:
> Probleme bei Schach ergeben sich eher daraus, das der Typ der Figur
> nicht erkennbar ist.

Naja die Alternative ist komplizierter, etwas teurer aber perfekter.

Kleb unter jede Figur ein RFID-Chip und auf jedes Feld ein Reader. Dann 
abfragen und das wars. So kannst du auch Figuren in das System 
automatisch einlesen.
(Firma: matzetronics) #6612219
Lesenswert?

LostInMusic schrieb:
> gibt
> es bereits seit geraumer Zeit zu kaufen

Gut, aber fast 260 Mäuse für ein Plastikbrett finde ich jetzt nicht 
besonders günstig. Und die Figuren sind auch aus Kunststoff, wenn ich 
das richtig lese.

@TE: Die Dioden müssen schon rein, habe ich doch in der ersten Antwort 
geschrieben - zumindest, wenn du nicht das ganze Konzept über den Haufen 
werfen willst.
Gast #6612238
Lesenswert?

Am Einfachsten ist es, wenn jede von den 32 Schachfiguren auf der 
Unterseite einen 5 Bit (2^5=32) RFID Chip, oder bei einer Glasplatte als 
Spielfeld, einen Barcode aufgeklebt bekommt.
Auf der Unterseite muss dann ein Barcode Scanner, oder für jedes Feld 
ein eigenes RFID Läsegerät montiert werden.
Für das sechste Bit (64 Felder) kann dann das Lesegerät selbst zum 
Einsatz kommen und für die Positionsbestimmung ausgewertet werden.
Gast #6612299
Lesenswert?

Georg schrieb:
> Schach Matt schrieb:
>> wenn jede von den 32 Schachfiguren auf der
>> Unterseite einen 5 Bit (2^5=32) RFID Chip
>
> Warum? Turm ist Turm und Bauer ist Bauer, das geht also auch einfacher.

Du brauchst 10 verschiedene Codes.

Bauer, springer, läufer, Turm, Dame, König.  Das ganze 2 x (sw / weiß).

Den unter jede Figur. Danach kann der Computer das Brett scannen. Und 
diverse Funktionen ausführen. Besonders wenn man über Stellungen 
nachdenkt ist das eine riesen Hilfe.

Vor ungefähr 25-30 Jahren gab es ein 1000 DM teures Holzbrett mit LED,s 
zu JEDEN Feld. Der Computer wusste über Magnete welche Figur angehoben 
wurde (LED blinkte) und wo sie dann hingesetzt wurde.

Wenn du es mir Real-Kontakten machst wären ergo so LED's pro Feld keine 
Schlechte IDEE und günstiger als RFID.

Stellungen gingen so. Man tippe auf den Computer z.b. weißer Bauer und 
alle Felder blinken wo ein weißer Bauer hin musste, bzw. Bei nachspielen 
man ihn hinsetzen konnte.

Ich hab mit den Teil beim Karstadt gespielt zu einer Zeit wo 
Schachcomputer der Renner im Weihnachtsgeschäft war. Spiele wie Skat + 
Senso waren in der selben Zeit.

Es gab bei den Teil sogar eine Version mit Computer-Arm für ca. 4000 
Euro. Habe ich aber nie in Real gesehen und den letzten bei Ebay für 
3000 Euro (geboten).
OP #6612303
Lesenswert?

Percy N. schrieb:
> Das wird sich bei der Rochade kaum vermeiden lassen; und hin und wieder
> möchte man auch schlagen ...

Wenn man zuerst den König (zwei Schritte, statt einem) setzt, weiß das 
Programm dass es sich um eine Rochade handeln muss. Schlagen kann 
natürlich auch erkannt werden. Wenn "Schläger" auf dem Feld eines 
"Geschlagenen" steht, wurde geschlagen. Ein Abbild des aktuellen 
Spielstandes ist ja immer vorhanden.
Gast #6612317
Lesenswert?

Schach Matt schrieb:
> Am Einfachsten ist es

Natürlich ist das nicht dir technisch einfachste Lösung, aber die 
einzige, die dir einfällt. Also die für dein Gehirn einfachste.

Schlaumaier schrieb:
> Vor ungefähr 25-30 Jahren gab es ein 1000 DM teures Holzbrett mit LED,s
> zu JEDEN Feld. Der Computer wusste über Magnete welche Figur angehoben
> wurde (LED blinkte) und wo sie dann hingesetzt wurde.

Das dürfte heute 10 EUR kosten.

Thomas W. schrieb:
> Schlagen kann natürlich auch erkannt werden. Wenn "Schläger" auf dem
> Feld eines "Geschlagenen" steht, wurde geschlagen.

Én passant ?

Georg schrieb:
> Es soll ja vorkommen dass man eine Figur umwirft o

Z.B. den König.

Klassische Computerschachbretter lösrn das, in dem sie zeigen, wie dr 
letzte ihnen bekannte Stand ist.
Ab da darfst du dann weiter spielen.

Aber auch Figurenidentifikation erfordert nicht unbedingt RFID, das geht 
von Magnetkraft per Hallsensor über Gewicht (muss man nur an 3 
Auflagepunkten des Bretts messen), und LC Gliedern unterschiedlicher 
Resonanzfrequenz, oder primitiv wenn die Figur unten 2 elektrische 
Kontakte bekommt über einen dazwischen eingebauten Widerstandswert...
#6612322
Lesenswert?

Thomas W. schrieb:
> Wenn "Schläger" auf dem Feld eines "Geschlagenen" steht, wurde
> geschlagen.

Genau das setzt aber die Unterscheidbarkeit der Figuren voraus. Sinnvoll 
wäre allein, genau dann von einem Schlagzug auszugehen, wenn eine Figur 
der jenigen Farbe angehoben wird, die gerade nicht am Zug ist und 
nachfolgend ihr Feld von einer Figuer der zugführenden Partei bezogen 
wird.
Gast #6612328
Lesenswert?

MaWin schrieb:
> 2 elektrische
> Kontakte bekommt über einen dazwischen eingebauten Widerstandswert...

Die biligste Variante sind die Folienschalter. Minus von Oben und unten 
dann der Kontakt via Layout. Erkennt man sehr gut bei Brettern die 
einige Zeit gespielt wurden. Die Felder haben alle eine Kuhle unter der 
Figur. Gibt es ab ca. 50 Euro.
Gast #6612338
Lesenswert?

Thomas W. schrieb:
>>
>> Das wird sich bei der Rochade kaum vermeiden lassen; und hin und wieder
>> möchte man auch schlagen ...
>
> Wenn man zuerst den König (zwei Schritte, statt einem) setzt, weiß das
> Programm dass es sich um eine Rochade handeln muss. Schlagen kann
> natürlich auch erkannt werden. Wenn "Schläger" auf dem Feld eines
> "Geschlagenen" steht, wurde geschlagen.

Nungut, da Du Dich als TE selbst auf diesen Nebenschauplatz zu Deiner 
ursprünglichen Frage eingelassen hast:

Wie erkennt man ohne weitere Hilfsmittel, in welche Figur bei 
Bauernumwandlung umgewandelt wurde, wenn es mal nicht die naheliegende 
Dame sein soll?


Zum Thema:

Ich erinnere als möglichen Unterscheidungsmechanismus noch, dass die 
Figuren z.B. unterschiedlich resonierende LC-Kreise enthielten. Sowas 
lässt sich auch noch ganz gut auf 64 Feldern multiplexen, ohne dass es 
in eine Materialschlacht ausartet.

(re)
OP #6612348
Lesenswert?

re schrieb:
> Nungut, da Du Dich als TE selbst auf diesen Nebenschauplatz zu Deiner
> ursprünglichen Frage eingelassen hast:
Warum darf ich mich nicht mit in die Diskussion einbringen? Ich möchte 
ja aus meinen Fehlern lernen.

> Wie erkennt man ohne weitere Hilfsmittel, in welche Figur bei
> Bauernumwandlung umgewandelt wurde, wenn es mal nicht die naheliegende
> Dame sein soll?
Ein sehr gutes Argument!!!! Danke!
OP #6612360
Lesenswert?

Schach Matt schrieb:
> Ja. Den Doppelschritt führe ich zwar nicht real durch, aber beim
> endgültigen Absetzen der Figur, muss das Programm anhand der neuen
> Position erkennen können, dass es sich um einen Doppelschritt gehandelt
> haben MUSS!

Wenn diese Erklärung stimmt, sollte es doch möglich sein!
https://www.youtube.com/watch?v=1dSQN4QwO7E

Trotzdem wird mir bei allen wohlmeinenden Hinweisen klar, dass mein 
Ansatz doch sehr Fehleranfällig ist und den Aufwand nicht rechtfertigt. 
Ich muss einen Weg finden die Figuren zu erkennen. (aus anderen 
Hinweisen: RFID, LC-Kreise o.ä)

Ich danke euch für eure Hilfe.
Gast #6612364
Lesenswert?

Thomas W schrieb
> Warum darf ich mich nicht mit in die Diskussion einbringen?

Doch, "darfst" Du natürlich, als TE sowieso, und es ist imho auch sehr 
förderlich.

Es sah nur anfangs danach aus, dass dieses zweite Thema etwas wäre, 
wonach Du gar nicht gefragt hattest und den ganzen Thread von Deiner 
eigentlichen Frage abgelenkt hätte. Deswegen meine Rechtfertigung.

Sorry, wenn das anders herüber kam, als es von mir gemeint war.

(re)
Gast #6612368
Lesenswert?

re schrieb:
> Wie erkennt man ohne weitere Hilfsmittel, in welche Figur bei
> Bauernumwandlung umgewandelt wurde, wenn es mal nicht die naheliegende
> Dame sein soll?

Gar nicht. Ohne Computerhilfe der was auf den Display anbietet. Einige 
Billig-Schachcomputer können es nicht einmal. Die machen immer eine 
Dame.

Ich hab sogar mal an einen gespielt der mich gefragt hat Springer o. 
Dame.

Én passant ist kinderleicht. Ist das Zielfeld nicht auf der selben Line 
wird halt Én passant geprüft o. ob der Bauer eine andere Figur schläft. 
Das ist kinderleicht.

Genau so wie die Rochade. Geht der König 2 Felder und er bewegt sich zum 
ersten mal wird die Rochade ausgeführt. Einige Schachcomputer vergessen 
aber die Zusatzregel das die Rochade nur ausgeführt werden darf wenn der 
König NICHT im Schach steht.

Ich spiele seit > 40 Jahren gegen Schachcomputer und habe schon gegen 
unzählige Modelle gespielt. Ich besitze aktuell sogar noch 4. Inklusive 
einige Schachbretter aus Holz + Glas und selbstgegossene Figuren aus 
Gießkeramik ;)
Gast #6612387
Lesenswert?

Schlaumaier schrieb:
> Einige Schachcomputer vergessen
> aber die Zusatzregel das die Rochade nur ausgeführt werden darf wenn der
> König NICHT im Schach steht.

Zusätzlich dürfen sich weder der König noch der Turm bewegt haben. 
Außerdem darf der König bei seiner Seitwärtsbewegung nicht über ein Feld 
gehen, dass von einer gegnerischen Figur beherrscht wird.


Wenn schon Schlaumaier, dann bitte vollständig.
#6612418
Lesenswert?

Schlaumaier schrieb:
> Genau so wie die Rochade. Geht der König 2 Felder und er bewegt sich zum
> ersten mal wird die Rochade ausgeführt.

Es ist fraglich, ob das unter allen denkbaren Umständen sinnvoll ist. 
Falls der Spieler  den König zwei Felder weit gezogen hat, ist unllar, 
ob es eine unvollständige Rochade sein soll und der Computer noch die 
Ausführung des Königszuges abwarten muss, oder ob hier versehentlich der 
König regelwidrig zwei Felder weit gezogen wurde. Art 4 der FIDE-Regeln 
hilft hier auch nicht weiter, es sei denn, es werde auch noch 
ausgewertet, dass der Spieler seine Uhr betätigt.
Gast #6612546
Lesenswert?

Auf ALLEN Schachcomputer die ich bisher gespielt habe, zeigt der 
Computer IMMER an das die amtierende Farbe weiter dran ist. Was 
bedeutet, man nimmt den Zug zurück (Was lt. Schachregeln NICHT erlaubt 
ist, da gilt BERÜHRT-GEFÜHRT) oder man gibt den Turm-Zug irgendwie ein.

Bei meinen Chess-Champion MK2 / mein Mephisto (ohne Brett) + bei mein 
Chess-Champion-System mit LCD-Display, Drucker etc. ist das genau der 
Fall. Da erfolgt die Eingabe so über Tastatur. Alle 3 Teile sind über 25 
Jahre alt.

Bei den 4. (20 Euro vom Flohmarkt) geht es über Drucksensor im Brett. 
Der kann sogar labern aber nicht gut Spielen. Den bekomme ich mit der 
c2-c3 Eröffnungszug (Abgewandelter Schäferzug) matt in unter 11 Zügen.
#6612862
Lesenswert?

Schlaumaier schrieb:
> Auf ALLEN Schachcomputer die ich bisher gespielt habe, zeigt der
> Computer IMMER an das die amtierende Farbe weiter dran ist.
Seltsam. Bei meinem uralten Teil von ~ 1980 wurde angezeigt, wenn der 
6502 am Denken war. Eine weitere Zugeingabe war dann nicht möglich.
> Was
> bedeutet, man nimmt den Zug zurück (Was lt. Schachregeln NICHT erlaubt
> ist, da gilt BERÜHRT-GEFÜHRT) oder man gibt den Turm-Zug irgendwie ein.
Das ist das nächste Problem mit einem elektronischen Brett: die Sensorik 
kann zwar bemerken, wenn eine Fugur angehoben bzw abgestellt wird, nicht 
aber, ob sie berührt oder losgelassen wurde.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren