Forum: Mikrocontroller und Digitale Elektronik Schachbrett - automatisches PGN Protokoll


von Joschua (yoshiaberanders)


Lesenswert?

Hallo zusammen,

ich bin gerade in der Konzeptionierungsphase für o.g. Projekt. Grundlage 
meiner Ideen sind z.B. Thread 
Beitrag "USB-Schachbrett selber bauen"
oder ähnliche im Internet.

Schachbretter wie die DGT Bretter doch recht kostenintensiv und haben 
viele Funktionen die für mich nicht relevant sind (wie Gegnerzüge in 
Online-Partien anzuzeigen). Da ich aus der IT komme ist nur rudimentäres 
Elektrotechnik-Wissen vorhanden.

Ich habe eigentlich genau einen Use-Case:

*Use-Case:*

Ich möchte gegen eine reale Person1 eine Partie am Brett spielen. Da 
leider nicht immer ein Großmeister zum analysieren vor Ort ist wäre es 
hilfreich eine PGN Datei zu haben, die dann unproblematisch in eine 
Engine eingegeben werden kann.

*Meine Idee:*

Ich habe ein klassisches Holzbrett, die Holzplatte nicht zu stark. Unter 
jedem Feld der 8x8 Matrix haben ich einen REED-Sensor. Unter jeder Figur 
entsprechend einen Magneten. Da mein Spiel ja in jedem Fall in der 
vorgegebenen Figurenaufstellung startet, weiß ich immer, welche Figur 
gerade zieht. Die ganzen REED-Sensor führen irgendwo hin, wo die 
Informationen des Zuges weiter verarbeitet werden. Das irgendwo ist in 
meiner Vorstellung aktuell ein Arduino/RasberryPi etc. Im irgendwo 
werden die Züge dann PGN-Konform in eine Datei geschrieben, die beim 
beenden der Partie auf einem (lokalen) Webserver abgelegt wird. Da ja 
keine Schachengine mitläuft wird kein Partieende festgestellt - die 
Eingabe des Partieendes erfolgt über Taster (Matt, Remis, Patt).

Wie findet ihr die Idee mit den REED-Kontakten? In dem anderen Thread 
(s.o.) wurden "Hall-Effekt-Sensoren" vorgeschlagen. Sind die sinnvoller?
Würdet ihr auch eine 8x8 Matrix empfehlen? Wie ich mit weniger Sensoren 
auskommen würde erschließt sich mir leider gar nicht.

RasberryPi oder Arduino? Bietet sich eine Option eher an? Ich habe ja 
(zumindest beim Pi) nur 16 IO-Ports. Ist da ein Port-Expander die 
richtige Wahl?

Oder habt ihr generell eine Idee, ob man daran etwas anders bzw. 
eleganter realisieren könnte?

Gruß,

Joschua

von Cyblord -. (cyblord)


Lesenswert?

Joschua schrieb:
> RasberryPi oder Arduino? Bietet sich eine Option eher an? Ich habe ja
> (zumindest beim Pi) nur 16 IO-Ports. Ist da ein Port-Expander die
> richtige Wahl?

Ganz ehrlich, wenn ein Projekt mit solchen Fragen anfängt, dann weiß man 
schon dass das nichts wird.
Hast du schon mal mit irgendeinem Controller eine LED blinken lassen?

> *Meine Idee:*

Ideen sind leider so gar nichts wert. Ideen haben viele Leute. Manchmal 
sogar Gute.
Aber umsetzen muss man sie können. In der Umsetzung einer Idee liegt der 
Wert.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Joschua schrieb:
> Wie findet ihr die Idee mit den REED-Kontakten? In dem anderen Thread
> (s.o.) wurden "Hall-Effekt-Sensoren" vorgeschlagen. Sind die sinnvoller?
Ich würde Hallsensoren nehmen. Aber am sinnvollsten ist es allemal, eine 
LED in jedes Feld zu integrieren, die anzeigt, ob der wie auch immer 
geartete Schalter die zugehörige Spielfigur erkannt hat.

> Würdet ihr auch eine 8x8 Matrix empfehlen?
Sinnvoll weil pinsparend ist dieser 8x8 Ansatz bei einem 8x8 Spielfeld 
allemal. Man könnte aber auch 8 Schieberegister hintereinander schalten 
und jeden Eingang an 1 Pin anschließen. Dann wäre die Verwendung von 
Hall-Sensoren leicht möglich.

von Rainer W. (rawi)


Lesenswert?

Joschua schrieb:
> Wie findet ihr die Idee mit den REED-Kontakten? In dem anderen Thread
> (s.o.) wurden "Hall-Effekt-Sensoren" vorgeschlagen. Sind die sinnvoller?

Der Feldverlauf der Magnete muss zu den Sensoren passen. Es gibt sehr 
verschiedene Hall-Effekt-Sensoren. Außerdem muss die Reichweite der 
Sensoren zur Genauigkeit der Figurenpositionierung passen. Der 
Geschwindigkeitsvorteil von Hall Sensoren ist bei der 
Schachbrettbeobachtung nicht relevant.

> Ich habe ja
> (zumindest beim Pi) nur 16 IO-Ports. Ist da ein Port-Expander die
> richtige Wahl?

Binde das Schachbrett über SPI oder I2C Port-Expander an. Das 
vereinfacht die Verkabelung. Für Abfrage der 8x8 Matrix des 
Schachbrettes brauchst du zwei 8-Bit Expander. Hall-Sensoren in einer 
Matrix zu verschalten kann allerdings aufwändiger sein.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rainer W. schrieb:
> Der Feldverlauf der Magnete muss zu den Sensoren passen.
Das ist aber auch bei den Reedkontakten der Fall.

Am einfachsten wäre vermutlich ein optischer Sensor, der von der Figur 
"lichtdicht" abgedeckt wird.

Joschua schrieb:
> Ich habe ja (zumindest beim Pi) nur 16 IO-Ports.
Eine Lösung mit Schieberegistern braucht nur 3: Load, Takt und DataIn.

Cyblord -. schrieb:
> Hast du schon mal mit irgendeinem Controller eine LED blinken lassen?
Das wäre zumindest der Anfang.

Joschua schrieb:
> Das irgendwo ist in meiner Vorstellung aktuell ein Arduino/RasberryPi etc.
Nimm einen µC, der dir die anschließende Weiterverarbeitung per 
"Webserver" einfach macht. Da darf dann schon ein Lunix laufen. Denn 
gegen die Aufgabe "in eine Datei schreiben und per Webserver zum 
Download bereitstellen" ist die Aufgabe "Informationen einlesen und 
Auswerten" geradezu verschwindend.

Also solltest du tatsächlich mal
1. mit dem "Hello World!" der Hardware anfangen: eine blinkende LED 
(dann läuft nämlich schon mal die Toolchain)
2. einen Webserver in Betriebnehmen (gibts irgendwo zum Download)
3. eine Taste einlesen und per Webserver zum Download bereitstellen 
(oder direkt visualisieren)
4. diese Taste in eine Datei loggen und die Daten per Webserver 
bereitstellen
5. 64 "Taster" einlesen, in die Datei loggen und per Webserver 
bereitstellen
6. die Felder einlesen, aus den Daten das gewünsche Protokoll erzeugen, 
das in einer Datei ablegen und per Webserver bereitstellen.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Lothar M. schrieb:
> Also solltest du tatsächlich mal

Dieses "mal" wird für einen Anfänger gerne mal ein paar Monate Zeit 
beanspruchen.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Joschua schrieb:

> Oder habt ihr generell eine Idee, ob man daran etwas anders bzw.
> eleganter realisieren könnte?

Völlig anderer Ansatz:
- Schachbrett ist ein Glastisch.
- Unter jeder Figur ist ein MicroQR oder Datamatrix Code, der die Figur 
identifiziert. Diese Codes sind schön klein und kompakt.
- Von unten auf den Glastisch schaut eine Schwarzweißkamera (ggf mit 
IR-Beleuchtung) und erfasst die Positionen der Figuren.

Hardwareaufwand ist gering. Kameramodule für den Pi gibts genügend. 
Alternativ eine USB-Kamera für den PC. Schwarzweiß reicht bzw ist sogar 
besser, weil Du dann keine Auflösung durch Debayering verlierst. Der 
Hauptaufwand ist Bildverarbeitung. Anhand der Codes können beliebige 
Stellungen automatisch erkannt werden.

Du kannst natürlich auch von oben auf das Spielfeld schauen. Dann müssen 
die Codes auf der Oberseite der Figueren sein. In diesem Fall tut es ein 
normales Schachbrett.

fchk

von Al. K. (alterknacker)


Lesenswert?

Ein "richtiger" Schachspieler benutzt ein Turnierschachbrett und die 
entsprechenden Figuren.

..übrigens ist eine Idee das wichtigste, Ausführung der der Idee kann 
tausendfach erfolgen.

Die Idee sollte nur etwas Neues beinhalten, was hier nicht gegeben ist.

Es ist eine Mechanische und Geistige Fleißarbeit.

MfG
alterknacker

von Cyblord -. (cyblord)


Lesenswert?

Al. K. schrieb:
> ..übrigens ist eine Idee das wichtigste, Ausführung der der Idee kann
> tausendfach erfolgen.

Oder meist gar nicht. Deshalb ist eine Idee nichts Wert.

von Michael B. (laberkopp)


Lesenswert?

Joschua schrieb:
> Wie findet ihr die Idee mit den REED-Kontakten? In dem anderen Thread
> (s.o.) wurden "Hall-Effekt-Sensoren" vorgeschlagen

Geht so, wenn man die Matrix mit einer Diode je Reedkontakt entkoppelt.

Hall geht auch, ist elektrisch aber anspruchsvoller, und ich befürchte 
die Diode braucht man da auch.

Relevant ist der Moment, wo auf dem Brett mal was umgeworfen wird. Wie 
baut man wieder auf, damit Brett und Computerabbild vom Brett identisch 
ist ?

von Cyblord -. (cyblord)


Lesenswert?

Michael B. schrieb:
> Relevant ist der Moment, wo auf dem Brett mal was umgeworfen wird. Wie
> baut man wieder auf, damit Brett und Computerabbild vom Brett identisch
> ist ?

Das sind doch aber keine neuen Probleme. Jeder Schachcomputer hat die. 
Schon mein Europa A aus den frühen 90er hatte dafür eine Lösung.

von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Rainer W. schrieb:
>> Der Feldverlauf der Magnete muss zu den Sensoren passen.
> Das ist aber auch bei den Reedkontakten der Fall.

Aach - die Reedkontakte brauchen einen axialen Feldverlauf. Falls die 
Kontakte flach unter dem Brett liegen sollen, ist das eine erhebliche 
Einschränkung.
Bei den Hall-Sensoren ist man durch Auswahl eines passenden Sensortyps 
viel freier, weil man sich da die auszuwertende Feldkomponente aussuchen 
kann.

von Al. K. (alterknacker)


Lesenswert?

Cyblord -. schrieb:
> Oder meist gar nicht. Deshalb ist eine Idee nichts Wert.

..ohne Neue Idee wird auch nichts neues produziert.

Wenn eine Idee nicht verwirklicht werden kann,
wo ist das Problem.

MfG
alterknacker

von Old (Gast)


Angehängte Dateien:

Lesenswert?

Als Anregung mal der Schaltplan vom Chess Master der DDR. Da wurden die 
Figuren auch mit Hall-Elementen und Magneten im Figurenfuß erkannt.

von Cyblord -. (cyblord)


Lesenswert?

Al. K. schrieb:
> Wenn eine Idee nicht verwirklicht werden kann,
> wo ist das Problem.

Kein Problem. Aber dann ist die Idee halt nichts Wert.

von Lotta  . (mercedes)


Lesenswert?

Ne Idee:

In der DDR hatten die Computertastaturen in den Postämtern
Halltasten drinne, die mit nem Magnet im Tastenkopf und nem
Schaltkreis darunter der TTL-H/L abgab, funktionierten.
Wenn man solche Tasten auftreibt, hat man die Magnete für die
Figuren und die Schaltkreise als Sensor.

https://blog.hnf.de/sozialistische-automaten/

mfg

: Bearbeitet durch User
von Al. K. (alterknacker)


Lesenswert?

Cyblord -. schrieb:
> Kein Problem. Aber dann ist die Idee halt nichts Wert.

nee, es gab schon Ideen welche erst Jahre später realisiert werden 
konnten.


Lotta  . schrieb:
> In der DDR hatten die Computertastaturen in den Postämtern
> Halltasten drinne, die mit nem Magnet im Tastenkopf und nem
> Schaltkreis darunter der TTL-H/L abgab, funktionierten.
> Wenn man solche Tasten auftreibt, hat man die Magnete für die
> Figuren und die Schaltkreise als Sensor.

Das ist richtig, aber die Figuren müssten recht genau ausgerichtet 
werde..


MfG
alterknacker

von Old (Gast)


Angehängte Dateien:

Lesenswert?

Lotta  . schrieb:
> Ne Idee:
>
> In der DDR hatten die Computertastaturen in den Postämtern
> Halltasten drinne, die mit nem Magnet im Tastenkopf und nem
> Schaltkreis darunter der TTL-H/L abgab, funktionierten.
>

In den Tasten war der selbe B461 (äquvalent zum SAS261) IC verwendet 
worden wie beim Chess Master (oder eher umgekehrt). Die B461 gab (gibt 
es noch?) bei Oppermann im Hunderterpack für knapp 30€.

Gerade mal bei Oppermann unter Halbleiter nachgesehen:

Hall - Schalter IC (baugleich mit SAS 261 "Siemens") integrierter 
kontaktloser magnetisch betätigter Schalter (Halleffekt) mit 
Freigabeeingang und offenen Kollektorausgang, absolut prellfrei. Das 
Magnetfeld muß senkrecht mit dem Südpol auf die markierte Fläche 
einwirken. UB= 5 V Ausgangsstrom 50 mA.
Typ B 461 1 St. 0,41 € 10 St. 2,56 € 100 St. 17,90 €

Also jetzt fast zum halben Preis noch gelistet.

von Knut _. (_knut_)


Lesenswert?

Vielleicht mit einem Farbsensor unter jedem Feld und Kodierung auf den 
Figuren? 12 Figuren unterscheiden sollte möglich sein.
Gute Ausrichtung und Ausleuchtung vorrausgesetzt.
Oder: Spielfeld transparent auf einen Flachbrettscanner aufbauen und mit 
OpenCV auswerten.

von Mario M. (thelonging)


Lesenswert?

Joschua schrieb:
> eine PGN Datei

Mitschreiben ist wohl zu einfach? 😂 Das Brett kann man beliebig 
kompliziert aufbauen. Im einfachsten Fall Reed-Kontakte unters Brett, 
Neodym-Magnete in die Figuren und über einen IO-Warrior56 an den PC, bis 
dahin ganz ohne programmieren. Das meiste Gehirnschmalz muss man sowieso 
in die Umwandlung der Schaltvorgänge in PGN stecken, auch wegen der 
ganzen Sonderfälle, wie z.B. Schlagen, Bauernumwandlung und Rochaden.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Old schrieb:
> Die B461 gab (gibt es noch?) bei Oppermann

Bloss gibt es Oppermann offenbar nicht mehr.

Schon vor Corona hatte niemand mehr dort auf Bestellungen reagiert.

von Michael U. (amiga)


Lesenswert?

Hallo,

bei mir steht noch gut gelagert ein DDR-Chessmaster im Originalkarton 
rum.
Den würde ich durchaus abgeben. Eigentlich müßte der auch noch komplett 
funktionsfähig sein, müßte mal schauen.
Unterlagen sind verfügbar, sehe gerade, es müßte der Chessmaster Diamond 
sein.

Bei Interesse schick mir eine PM.

Gruß aus Berlin
Michael

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.