Forum: Mikrocontroller und Digitale Elektronik USB-Schachbrett selber bauen


von Kai H. (dynup)


Lesenswert?

Hallo Leute,

ich bin nach langer Zeit wieder dem Schach verfallen und habe mich 
erstmal Schlau gemacht, was es inzwischen für Schachcomputer und 
Möglichkeiten gibt. Leider sind alle vernünftigen
Schachcomputer viel zu teuer. Es gibt da ein schönes USB-Schachbrett von 
DGT das man in Verbindung mit dem Raspberry Pi zu einem vollwertigen 
Schachcomputer verwandeln kann. Auch hier, leider wieder zu teuer.

Wie könnte man so ein USB-Schachbrett selber bauen?

Folgende Merkmale sollte es aufweisen:

1. 9x9 LED-Matrix um die Felder anzuzeigen. Jeweils 4 LEDs für ein Feld 
(wie beim Relevation II).

2. Erkennung, ob auf einem Feld eine Figur steht (evtl. mit 
Reed-Schaltern). Direkte Erkennung, um welche Figur es sich handelt, ist 
nicht nötig.

3. USB-Schnittstelle um die LEDs anzusteuern und die belegten Felder 
auszulesen.

Bin erstmal auf Ideensuche bzw. erstmal schauen, ob sich sowas überhaupt 
realisieren läßt.

Wäre Euch für Hilfe, Tipps usw. sehr dankbar!

Gruß
Kai

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Eigentlich dachte ich, Schach spielt man auf einem Feld mit 8x8 (nicht 
9x9) Feldern :-) ???

Am Ende benötigst du also eine LED pro Feld, (mit der der Computer 
anzeigt, was du für ihn setzen sollst) und eine 
Figuren-Anwesenheitskontrolle, womit der Computer erkennt, was du 
gesetzt hast. Letzteres würde ich mit Hall-Sensoren machen.

Insgesamt müsste zur Interface-Steuerung ein Arduino Uno oder Nano 
ausreichen, der dann auch gleich den USB-Anschluß zur Verfügung stellt.

von Andreas R. (daybyter)


Lesenswert?

Könnte man so etwas evtl mit einem Touchscreen realisieren?  Also der 
Bildschirm als Brett?

von Bernd K. (prof7bit)


Lesenswert?

Bau nen Roboterarm mit dem der Computer seine Figuren bewegen kann, dann 
sparst Du Dir schonmal die LEDs. Zum Erkennen der menschlichen Züge wäre 
dann eine Kamera die dazu angemessene Eingabemethode. Die Kamera könnte 
am Ende des Arms positioniert sein so daß er von oben auf das Brett 
schaut, er könnte damit auch die genaue Position und Drehung des Brettes 
erkennen.

Alles andere wäre langweilig und Rechenzeit-Verschwendung.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Andreas R. schrieb:
> Könnte man so etwas evtl mit einem Touchscreen realisieren?  Also
> der
> Bildschirm als Brett?

Das wird Nichts oder sehr sehr schwierig.  Für einen druckempfindlichen 
Touch sind die Figuren nicht schwer genug. Für einen kapazitiven 
Multitouch sind 32 Figuren wohl etwas zu multi ...

von Frank G. (frank_g53)


Lesenswert?

Hier ein paar Impressionen:http://www.elpeon.com/index.php?mod=rb#1

von Kai H. (dynup)


Lesenswert?

Frank E. schrieb:
> Eigentlich dachte ich, Schach spielt man auf einem Feld mit 8x8 (nicht
> 9x9) Feldern :-) ???
Ja schon, aber es sollen immer 4 LEDs das Feld anzeigen, jew. eine an 
jeder Ecke des Feldes. Wie beim Relevation II!

Frank E. schrieb:
> Figuren-Anwesenheitskontrolle, womit der Computer erkennt, was du
> gesetzt hast. Letzteres würde ich mit Hall-Sensoren machen.
Ist das mit den Reed-Schaltern nicht so gut? Das "Signal" muss ja durchs 
Holz!

Frank E. schrieb:
> Insgesamt müsste zur Interface-Steuerung ein Arduino Uno oder Nano
> ausreichen, der dann auch gleich den USB-Anschluß zur Verfügung stellt.
An den Arduino habe ich auch schon gedacht. Aber ich brauche ja dann für 
die LED-Matrix und für die Figuren-Anwesenheitskontrolle insgesamt 34 
Anschlüsse am Arduino. Würde da nicht eher der Arduino Mega in Frage 
kommen!?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Eigentlich könnte man ja auch gleich auf dem Bildschirm spielen und 
diesen mittels Touch bedienen ... nennt sich heutzutage "Tablet" :-)

von ben (Gast)


Lesenswert?

Ich bin mein eigener menschlicher Roboterarm :O)

Ich ziehe die Züge für den Computergegner (die auf einem Display 
angezeigt werden)

von Rene H. (Gast)


Lesenswert?

Frank E. schrieb:
> Letzteres würde ich mit Hall-Sensoren machen.

Bei 64 Felder? Das wird dann aber ein teures Schachbrett. Die Idee mit 
den Redekontakten finde ich eigentlich ganz ok.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rene H. schrieb:
> Frank E. schrieb:
>> Letzteres würde ich mit Hall-Sensoren machen.
>
> Bei 64 Felder? Das wird dann aber ein teures Schachbrett. Die Idee mit
> den Redekontakten finde ich eigentlich ganz ok.

Geizhals. Wenn man richtig einkauft, kostet ein Sensor ca. 0,30 Euro.

von Steven M. (8023)


Lesenswert?

für die leds könnte man direkt auf einen LED-streifen mit WS2812B die 
gibts mit 60led/m für etwa 12-15€ in der bucht

die erfassung hängt etwas davon ab, wie es am ende optisch aussehen soll
das fängt bei kapazitv an und hört bei microschaltern auf

von Rene H. (Gast)


Lesenswert?

Frank E. schrieb:
> Rene H. schrieb:
> Frank E. schrieb:
> Letzteres würde ich mit Hall-Sensoren machen.
>
> Bei 64 Felder? Das wird dann aber ein teures Schachbrett. Die Idee mit
> den Redekontakten finde ich eigentlich ganz ok.
>
> Geizhals. Wenn man richtig einkauft, kostet ein Sensor ca. 0,30 Euro.

:). Ok, bei 30 Cent ist das ok, ich hatte da eher 1€ im Kopf.

von Steven M. (8023)


Lesenswert?

Frank E. schrieb:
> Rene H. schrieb:
>> Frank E. schrieb:
>>> Letzteres würde ich mit Hall-Sensoren machen.
>>
>> Bei 64 Felder? Das wird dann aber ein teures Schachbrett. Die Idee mit
>> den Redekontakten finde ich eigentlich ganz ok.
>
> Geizhals. Wenn man richtig einkauft, kostet ein Sensor ca. 0,30 Euro.

zumal man ggf nicht für jedes feld einen eigenen braucht ^^

von Dieter F. (Gast)


Lesenswert?

Kai H. schrieb:
> Bin erstmal auf Ideensuche bzw. erstmal schauen, ob sich sowas überhaupt
> realisieren läßt.

Wird wohl gehen, da DGT das kann :-)

Kai H. schrieb:
> (wie beim Relevation II)

Hübsches Teil - nur etwas teuer ...

Kai H. schrieb:
> 3. USB-Schnittstelle um die LEDs anzusteuern und die belegten Felder
> auszulesen.

Das reicht wohl nicht ganz - muss ja auch mit dem Programm etc. 
vernünftig kommunizieren können.


Was erwartest Du eigentlich? Soll Dir jemand "vorkauen", wie das geht?

von Michael U. (amiga)


Lesenswert?

Hallo,

bei im Keller liegt noch ein DDR-Chess-Master. War zumindest vor 2 
Jahren noch funktionsfähig.
Alles komplett, Feld mit Hall-Sensoren, CPU ist ein U880 (Z80).
https://de.wikipedia.org/wiki/Schachcomputer_in_der_DDR#CM

Vielleicht sollte ich den halbwegs günstig abgeben?

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Mani W. (e-doc)


Lesenswert?

Und woher kommt das Programm selbst?


Eine Matrix mit 8x8 ist ja noch im Rahmen, doch benötigt es ja
auch das Programm selbst mit verschiedenen Schwierigkeitsgraden,
der Auswertung der Figuren und der Anzeige für die Züge selbst...

von Rene H. (Gast)


Lesenswert?

Mani W. schrieb:
> Und woher kommt das Programm selbst?
>
> Eine Matrix mit 8x8 ist ja noch im Rahmen, doch benötigt es ja
> auch das Programm selbst mit verschiedenen Schwierigkeitsgraden,
> der Auswertung der Figuren und der Anzeige für die Züge selbst...

Da dürfte Stockfish zum Zug kommen, es gibt aber noch weitere sehr gute 
Schach Engines unter Linux.

von Klaus S. (Gast)


Lesenswert?

Sieh dir das mal an:

https://sites.google.com/site/bergersprojects/reedcb
Die Reed-Matrix ist hier sehr gut beschrieben.

Er benutzt aber aber keine LEDs zur Anzeige sondern Sprache.

Trotzdem kannst du dir da sicher die eine  oder andere Anregung holen.

Außerdem gibts noch eine neue Version mit Bluetooth.

Gruß
Klaus

von Mani W. (e-doc)


Lesenswert?

Als Bauprojekt sicher interessant, aber Schachcomputer gibt es
ab 33 Euronen, von "C" 100 Euronen mit allem Drum und Dran...

von Stefan F. (Gast)


Lesenswert?

> Ist das mit den Reed-Schaltern nicht so gut?
> Das "Signal" muss ja durchs Holz!

Holz ist für Magnetfelder kein Hindernis. 5mm gehen völlig ohne 
Probleme. Mit starken Neodym Magneten kann ich mir durchaus auch 10mm 
vorstellen. Aber wer braucht schon so ein dickes Brett?

von Kai H. (dynup)


Lesenswert?

Erstmal vielen Dank für Eure vielen Beiträge!

Ich weiß noch gar nicht so genau, wie ich die LEDs und Reeds ansteuern 
soll. Mit dem Raspberry direkt geht das ja wohl nicht!? Der hat nur 26 
GPIO-Pins. Aber ich brauche ja 34!

Mit einem Arduino Mega oder Due würde das evtl. funktionieren, die haben 
jeweils 54 Pins!?

von chris (Gast)


Lesenswert?

Für die LEDs braucht es 9 Pins.
Für den Reed Kontakt im worst case 1 ADC Eingang wobei ich hier eher 2-3 
verwenden würde. Mit Hall Sensoren braucht man mehr Pins, bzw muss 
externe IC verwenden.

von wendelsberg (Gast)


Lesenswert?

Stefan U. schrieb:
>> Ist das mit den Reed-Schaltern nicht so gut?
>> Das "Signal" muss ja durchs Holz!
>
> Holz ist für Magnetfelder kein Hindernis. 5mm gehen völlig ohne
> Probleme. Mit starken Neodym Magneten kann ich mir durchaus auch 10mm
> vorstellen. Aber wer braucht schon so ein dickes Brett?

Kommt auf die Figurengroesse und deren Material an, 10cm hohe 
Vollmetallfiguren wuerde ich nicht auf ein 3mm Brett stellen wollen.

wendelsberg

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Kai H. schrieb:
> Aber ich brauche ja 34!

Das ist Unsinn. Es gibt Schieberegister. Für Aus- und Eingänge. Lassen 
sich auch prima in einer Matrix verwenden. 8x8 ist ideal dafür.

https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

Beachte insbesondere die Weblinks unten.

: Bearbeitet durch Moderator
von Kai H. (dynup)


Lesenswert?

Ich wollte die LEDs einzeln ansteuern und die Reeds einzeln auslesen. 
Funktioniert das dann auch mit so einem Schieberegister?

von Cyblord -. (cyblord)


Lesenswert?

Kai H. schrieb:
> Ich wollte die LEDs einzeln ansteuern und die Reeds einzeln auslesen.
> Funktioniert das dann auch mit so einem Schieberegister?

Ganz ehrlich, wenn du nicht mal in der Lage bist, kurz zu schauen was 
ein Schieberegister tut, und wenn man sich deine Sätze mit den vielen 
"!?" ansieht, ist das Projekt für dich einfach zwei Nummern zu groß. 
Fang kleiner an, lerne die Grundlagen, mache kleine Schaltungen. Aber so 
wird das nichts.

Wenn man sich als SW-Only (und ich hoffe du bist in SW wenigstens fit) 
raus an die Hardware wagen will, muss man vorher schon ein wenig über 
Digitalelektronik lesen und ein bisschen üben. D.h. Steckbrett und mal 
einfache Schaltungen ausprobieren. Anders bekommt man kein Gefühl für 
die Elektronik und keinen Überblick über die Bauteile und deren 
Funktionsweise.

: Bearbeitet durch User
von Kai H. (dynup)


Lesenswert?

Ich bin davon ausgegangen mit einem Arduino Mega/Due könnte ich das 
ziemlich einfach aufbauen. Die 9x9 LED-Matrix (inkl. Vorwiderstände) an 
18 Pins und die Reed-Matrix an 16 Pins. So ist das einfach aufgebaut und 
ich habe auf alle LEDs und Reeds einzeln Zugriff.

Aber für weitere Basteleien mit Transistoren und ICs ist mir das zu 
aufwendig und meine Elektronikkenntnisse sind tatsächlich schon etwas 
eingerostet. Bin schon sehr lange (> 20 Jahre) raus.

von Alex R. (itaxel)


Lesenswert?

Hallo zusammen,

ich finde das ist ein sehr schönes projekt.

Ich würde eine eigene Schaltung auf Basis des Arduinos erstellen. 
Vielleicht mit einem atmega168 oder atmega328. Vielleicht auch 2 davon 
einsetzen die mit einander kommunizieren.

Für die 81 LED's und 64 Sensoren würde ich auf jeden Fall 
Multi-/Demultiplexer einsetzen.

Als Sesnor würde ich Hall-Effekt-Sensoren benutzen. (Bei Pollin ab 
0,29€)

Die USB-Schnittstelle würde ich mit einem FT232Rl von FTDI oder mit 
einer Software-USB-Schnittstelle (vUSB) realisieren.

Software müsste ich erst mal schauen was es da gibt. Seitens µC und 
Windows. Eine eigene Software für windows müsste ich dann auch noch 
programmieren.

Ich könnte gerade so weiter machen aber ich will dir ja nicht das 
projekt weg nehmen ;)
Dies wären so meine Grundgedanken.

Wäre toll wenn du dein Projektstand weiterhin postest. Werde es 
interessant verfolgen :))


Gruß Alex

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Ich wollte mal das gleiche bauen wie du und hatte mich dann für eine 
Touch-Version entschieden ...

Rausgekommen ist das hier:

https://www.youtube.com/watch?v=vWxy01oAM68

Die Anzeige lief über einen 128*64px DIY Mini-Beamer mit 20W LED (nur 
64*64px benutzt). Die Erkennung über eine Webcam im Inneren der Box, die 
quasi die Schatten der Figuren filmt.

Angebunden war das ganze über FICS.

Mittlerweile aber schon wieder auseinander gebaut, weil das Ding soviel 
Platz gebraucht hat :D

Das hier war der DIY-Beamer: https://www.youtube.com/watch?v=FSo2oi95M2Y

Hier auch noch ein Bild vom Aufbau: 
https://chessdailynews.com/internet-chess-table/

: Bearbeitet durch User
von Kai H. (dynup)


Lesenswert?

Alex R. schrieb:
> ich finde das ist ein sehr schönes projekt.
>
> Wäre toll wenn du dein Projektstand weiterhin postest. Werde es
> interessant verfolgen :))
Danke! Mal sehen, wie sich das Projekt entwickelt.

Mampf F. schrieb:
> Ich wollte mal das gleiche bauen wie du und hatte mich dann für
> eine
> Touch-Version entschieden ...
Cool, das ist mir aber zu aufwendig. Aber tolles Projekt!


Habe mich inzwischen für den Raspberry Pi 3 entschieden. Da ich den 
sowieso hier habe, kann ich das Brett dann auch direkt dort anschließen. 
Bin noch am Suchen, wie ich das alles anbinde!

von Stefan F. (Gast)


Lesenswert?

Mit Schieberegistern, wie bereits gesagt.

von Kai H. (dynup)


Lesenswert?

Stefan U. schrieb:
> Mit Schieberegistern, wie bereits gesagt.
Ich habe da eher die I2C-Busse mit dem MCP23017 im Sinn. Siehe hier:

http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-IO-Expander/

Weiß allerdings noch nicht, ob die Schaltung auch mit Reeds (als 
Eingang) funktioniert.

: Bearbeitet durch User
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.