Ich möchte ein Schachbrett bauen mit Erkennung der Position. Ich dachte an hall Sensoren und Figuren mit Magneten? Aber nur wenn die hall Sensoren aus china was taugen, dort kosten 10 Stück 1€. Sonst wird es zu teuer. Oder habt ihr anderen Vorschlag um zu erkennen das auf dem Feld was steht? Die nächste Frage ist wie bekomme ich 64 Ausgänge in den uC? Es wird wohl ein esp32. Und ich will auch alle Felder ansprechen können. Stichwort Multiplexer, wenn auf dem Multiplexer aber 3 Eingänge geschaltet sind, er hat ja nur einen Ausgang wie kann ich das auswerten? Wenn ich komplett falsch bin, bitte andere Vorschläge.
Die simpelste Lösung wäre ein 3Bit 1->8 Multiplexer (adressiert die Zeilen) kombiniert mit einem 3Bit 8->1 Multiplexer (wertet die Spalten aus). Unter jedem Feld dann ein Reedkontakt, je nach Aufgabenstellung eventuell mit einer Diode in Reihe. Die billigste Lösung ist die Elektronik einer PC-Tastatur. Da gibt es die Auswertung gleich mit und n-Key Rollover ist auch dabei. Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt aber die Info, welche Figur da drauf steht.
Toni E. schrieb: > Wenn ich komplett falsch bin, Der Weg ist noch weit, es fehlt dir an Grundlagen. Mit Hallsensoren kannst du erkennen, OB eine Figur auf einem Feld steht, aber nicht welche. Das musst du aus dem Spielverlauf mitführen, wie es viele Schachcomputer machen. Man kann dann halt nicht einfach eine Stellung aufbauen und weiterspielen, sondern muss die erst mühsam einlernen. Damit man nicht so viele Eingänge am uC braucht, kann man den Weg der DDR Schach und Tastaturen gehen und einen 4-poligen Hallsensor in Matrixanordnung https://www.richis-lab.de/hall01.htm verdrahten.
:
Bearbeitet durch User
Georg G. schrieb: > Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt > aber die Info, welche Figur da drauf steht. NXP iCode SLIX-L RFID Tags nehmen für jede Figur.
So grundsätzlich wäre das mit einer Kamera/ Webcam und etwas Software zu machen. OpenCV wäre vermutlich ein guter Freund dafür. Ansonsten: Beitrag "Figuren auf Spielbrett erkennen"
Georg G. schrieb: > Die simpelste Lösung wäre ein 3Bit 1->8 Multiplexer (adressiert die > Zeilen) kombiniert mit einem 3Bit 8->1 Multiplexer (wertet die Spalten > aus). Unter jedem Feld dann ein Reedkontakt, je nach Aufgabenstellung > eventuell mit einer Diode in Reihe. > Was wenn aber mehr als ein Feld der 8 belegt ist? Der Multiplexer hat ja nur ein Ausgang. > Die billigste Lösung ist die Elektronik einer PC-Tastatur. Da gibt es > die Auswertung gleich mit und n-Key Rollover ist auch dabei. > > Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt > aber die Info, welche Figur da drauf steht. Das ist mir klar, will ich auch erstmal nicht.
Toni E. schrieb: >> Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt >> aber die Info, welche Figur da drauf steht. > Das ist mir klar, will ich auch erstmal nicht. Dann reichen 64 Hallsensoren und 32 flache Neodymmagneten.
Toni E. schrieb: >> Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt >> aber die Info, welche Figur da drauf steht. > Das ist mir klar, will ich auch erstmal nicht. Aber würde es in der Praxis nicht genügen, zu erkennen, wenn eine Figur vom Feld von einer bestimmten Position genommen wurde und dann eine Figur auf einer anderen Position auftaucht, dass das dann die Figur von eben gewesen sein muss? Und so von Anfang an (alle Positionen bekannt) jeden Zug, jede neue Position, zu verfolgen?
Uwe B. schrieb: > Aber würde es in der Praxis nicht genügen, zu erkennen, wenn eine Figur > vom Feld von einer bestimmten Position genommen wurde und dann eine > Figur auf einer anderen Position auftaucht Klar. Genau das meint Michael mit: Michael B. schrieb: > Das musst du aus dem Spielverlauf mitführen, wie es > viele Schachcomputer machen. und dann gilt natürlich > Man kann dann halt nicht einfach eine Stellung aufbauen und > weiterspielen
Toni E. schrieb: > Was wenn aber mehr als ein Feld der 8 belegt ist? Der Multiplexer hat ja > nur ein Ausgang. Informiere dich mal, was ein Multiplexer ist. Hier mal ein alter Klassiker, der sehr gut dokumentiert ist: https://www.ti.com/lit/ds/symlink/tmux4053.pdf
Axel S. schrieb: > Klar. Genau das meint Michael mit: Hab' ich mal wieder den Beitrag nicht weit genug gelesen... (Aber da war ich auch nicht ganz alleine ;-) Steve van de Grens schrieb: > Informiere dich mal, was ein Multiplexer ist. Es geht weniger um das Stichwort Multiplexer, sondern um das Stichwort Matrix. Also zwei 8er Multiplexer.
Uwe B. schrieb: > Toni E. schrieb: >>> Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt >>> aber die Info, welche Figur da drauf steht. >> Das ist mir klar, will ich auch erstmal nicht. > Aber würde es in der Praxis nicht genügen, zu erkennen, wenn eine Figur > vom Feld von einer bestimmten Position genommen wurde und dann eine > Figur auf einer anderen Position auftaucht, dass das dann die Figur von > eben gewesen sein muss? Und so von Anfang an (alle Positionen bekannt) > jeden Zug, jede neue Position, zu verfolgen? Genau so war der plan es zu machen. Ich werde mal erstmal über den multiplexer lesen. Habe noch nie einen benutzt. Jemand schon erprobte Schaltungen parat?
Toni E. schrieb: > Ich werde mal erstmal über den multiplexer lesen. Habe noch nie einen > benutzt. Jemand schon erprobte Schaltungen parat? Multiplexer sind trivial. Dein Thema ist, wie eine Matrix mit 2 Multiplexern gebaut wird. Dazu kann dir https://www-user.tu-chemnitz.de/~heha/Mikrocontroller/Tastenmatrix.htm helfen. Dort insbesondere: "3. Beliebige Tasten gleichzeitig" Und wirklich nachdenken musst du, wenn in der Matrix keine Tasten bzw. Kontakte, sondern Hall-Elemente einsetzen willst.
Georg G. schrieb: > Gemeinsames Problem: Du erkennst, welche Felder belegt sind, es fehlt > aber die Info, welche Figur da drauf steht. das ist leicht, wenn richtig aufgestellt wird weiß Mensch und Maschine ob es ein Bauer Springer Turm oder welche Figur auch immer. Wird sie bewegt gibt es ein Impuls und Maschine achtet darauf das die Figur nur dort landet wo es erlaubt ist.
Joachim B. schrieb: > das ist leicht, wenn richtig aufgestellt wird weiß Mensch und Maschine > ob es ein Bauer Springer Turm oder welche Figur auch immer. > Wird sie bewegt gibt es ein Impuls und Maschine achtet darauf das die > Figur nur dort landet wo es erlaubt ist. Bei Figurenwechsel werden oft eine Figur in die Hand genommen und eine andere dann versetzt, anschließend die in der Hand "geparkte" Figur aufs Brett gestellt. Erkennt der Computer das richtig? Blackbird
Lothar J. schrieb: > Bei Figurenwechsel werden oft eine Figur in die Hand genommen und eine > andere dann versetzt, anschließend die in der Hand "geparkte" Figur aufs > Brett gestellt. > Erkennt der Computer das richtig? Die Frage verstehe ich nicht (ich bin kein Schachspieler), aber der Computer weiß doch, wer ziehen darf und woher die Figur kommt. Das muss er nur von Anfang an verfolgen.
Alexander schrieb: > Welcher Computer? Der da: Toni E. schrieb: > Die nächste Frage ist wie bekomme ich 64 Ausgänge in den uC?
wenn das Schachbrett erkennen soll welche Figur wo steht und die Figuren von Hand gezogen werden, was ist der Nutzen der Erkennung ? Wegen ESP32 vermute ich Online Funktionen ? Beim Schach gibt es 32 individuelle Figuren. Es gibt pro Figur nur eine begrenzte Anzahl erlaubter Schritte. Es gibt einige Sonderfälle (Rochade oder Bauer wird am Spielrand zu einer anderen Figur.) Willst du die Spielzüge auf Korrektheit überprüfen, dann muss dein Erkennungssystem die Schachregeln kennen. Beim Schlagen einer Figur muss erkannt werden das die richtige Figur das Brett verlässt. Du musst also die Farbe der Figuren erkennen und ihre Art = 32 IDs plus Umwidmung eines Bauern in eine andere Figur. Wie teilst du dem System mit welche Figur der Bauer wird damit die Regeln weiterehin überprüft werden können? 64 RFID Spulen und ID Tags in jeder Figur kann schnell kompliziert werden wenn der Lesebereich zu groß ist und du mehrere Figuren mit einem Feld erkennst. Mein Tip: einen Magnet in jedem Feld und jeder Figur damit es einen hohen Anpressdruck an das Feld gibt (oder jede Figur aus dem vollen Stahl gedreht). Dann hat jedes Feld und jede Figur 4 Ringe und einen Mittelstift (5 Bits = 2 hoch 5 Kombinationen = 32 IDs), natürlich jedes Feld ist ein Negativ von dem Figurenfuß. An jedem Ring plus Mittelstift einen Schalter. 64 Felder * 5 Schalter = 320 Schalter (oder Lichtschranken). Das sind nur 3 PC Keyboard Controller die du ins Schachfeld integrieren musst. Du kennst dich mit Induktivitäten aus ? Eine Spule ins Feld, jede Figur verstimmt die Induktivität auf einen anderen Wert durch eingelassene Metallkerne (oder Protopasta 3D Druck Filament mit Eisenanteil). Cypress CPUs haben da Beispielprojekte vom Hersteller. Könnte so aussehen wie ein Ladeport einer Elektrozahnbürste.
Lothar J. schrieb: > Bei Figurenwechsel werden oft eine Figur in die Hand genommen und eine > andere dann versetzt, anschließend die in der Hand "geparkte" Figur aufs > Brett gestellt. Wann außer bei der Rochade? Beim Schach gilt die Regel Berührt-geführt: https://www.spielregeln.de/beruehrt-gefuehrt.html Einfaches Verfolgen (hier verschwindet eine Figur, dort taucht eine auf) ohne Figuren-Erkennung reicht bei einem regulären Spiel vollkommen aus. Und wenn man mal von einer bestimmten Position aus spielen will: Entweder die Ausgangsposition von Hand eintragen, oder aus der Grundposition jede Figur einzeln in die Startposition setzen. Hall-Matrix, 2 Multiplexer 3 auf 8, macht 6 Port-Pins am µC. Und eine Taste für Start, natürlich. Reicht.
Toni E. schrieb: > ch möchte ein Schachbrett bauen mit > Erkennung der Position. Ich dachte an hall Sensoren und Figuren mit > Magneten? Ich habe eine RADAR-basierte Matrix in Arbeit, die mit Stromschleifen arbeitet und als Eingabe für MIDI-Synthesizer arbeitet. Ich möchte 3D-Bewegungen erkennen. Ich arbeite nur mit Stomimpulsen und kann den Finger, also die Störung des Feldes erkennen. Man hat mehrere Sendespulen und Emmpfangspulen. Es funktioniert bereits zuverlässig, ist nur noch zu groß, um zu den normalen Größen einer Klaviatur (16,5mm) zu passen. Eine Zugerkennung beim Schach wäre aber locker möglich. Du brauchst das Ganze in "Einfach" also so, wie eine digitale Schaltermatrix aufgebaut ist, welche zyklisch abgetastet wird. So wie früher bei den Fernsehern mit Sensor-Umschaltet. Schau mal wie Charly-Plexing funktioniert. Ansonsten klassisches Y,X mit MUX vom Typ 595 etc. Man hätte eine einfache An-Aus-Erkennung über das Vorhandensein einer Figur - den Rest erledigt die Software. Die Lösung wäre so, dass ein Draht sendet und ein Nachbar empfängt. Bei Vorhandensein der Figur infolge der Koppelung erheblich stärker. Wegen der Fläche werden aber 1+1 Drähte pro Schachfeld nicht reichen, weil man nicht weis, wo die Figur genau steht. Ich würde schätzen, dass du etwa 4-6 linien pro Schachfeld benötist. Ich würde 8 nehmen, also 4 zum Senden und 4 zum Emfpangen und mit jeweils 9 MUX ( 1 x 8 x 8 = 8 Felder) arbeiten. Wären 18 solcher ICs. Abstastung so, dass ein Zug binnen 0,1 sek erkannt wird -> 64*64 = 50kHz Abtastung. Es wird also immer nur nacheinander ein Feld untersucht, ob dort eine Figur steht. Die Figuren brauchen dann nur eine Metallplatte. Wenn du die Aufstellung mitprotokollierst, brauchst du keine Figurenerkennung, sondern nur eine intelligente Interpretation, welche Figur gerade bewegt wurde und wo sie auftaucht. Das muss man sich merken. Beim Schlagen gibt es dann den Fall, dass erst die Geschlagene verschwindet und dann noch eine Zweite oder umgekehrt, statt dass die verschwindende Postion woanders besetzt wirtd. In beiden Fällen steht dann die Figur auf dem neuen Platz, die zuvor auf dem nun leeren Platz stand. Es muss also nicht einmal gecheckt werden, dass sie höherwertig war, solange die Spieler keinen Mist spielen. Die die verschwunden ist, ist weg und dort wo was neues auftaucht, kommt immer die alte hin, die woanders verschwunden ist. Züge kann man natürlich noch plausibilisieren. Auch das Angreifen und wieder abstellen kann man so lösen.
:
Bearbeitet durch User
Im DDR Schachcomputer wurden Hall-ICs mit enable-Eingang verwendet (B461). Die lassen sich dadurch einfach als 8*8 Matrix verschalten. https://www.richis-lab.de/hall01.htm
Peter D. schrieb: > Im DDR Schachcomputer wurden Hall-ICs mit enable-Eingang verwendet > (B461). Die lassen sich dadurch einfach als 8*8 Matrix verschalten. Man kann Hall-Sensoren mit OC- oder OD-Ausgang auch einfach die Versorgung abschalten. Aktuelle Sensoren brauchen bei 3V so wenig Strom, das kann sogar ein HC595 liefern, für alle 8 einer Zeile/Spalte.
Warum so kompliziert? Einfach Reed-Kontakte nehmen, an jeden eine Diode ran und als 8 x 8 Matrix verschalten. Für die Figuren geht man davon aus, dass der Spieler die korrekt aufbaut und ordentlich spielen will und nicht den Computer verwirren möchte, also erkennt man aus den Bewegungen, welche Figur wo steht.
Die alten Schachcomputer haben auch bloss eine 8x8 Tastenmatrix: https://www.wolfgangrobel.de/electronics/novag.htm
Guido K. schrieb: > Einfach Reed-Kontakte nehmen, an jeden eine Diode ran und als 8 x 8 > Matrix verschalten. 1. ist das hier schon mehrfach erwähnt und diskutiert worden. > Für die Figuren geht man davon aus, dass der Spieler die korrekt aufbaut > und ordentlich spielen will und nicht den Computer verwirren möchte, > also erkennt man aus den Bewegungen, welche Figur wo steht. 2. ist auch das hier schon mehrfach erwähnt und diskutiert worden. 3. Ich halte Reed-Kontakte für wenig geeignet, weil, wenn sie horizontal unter dem Brett liegen, das Magnetfeld eventuell so verlaufen kann, dass sie nicht ansprechen. Wenn schon, dann müssen sie vertikal angeordnet sein. 4. Mit Hall-Sensoren dürfte es billiger und einfacher gehen, weil, vorausgesetzt man nimmt die richtigen, auch die Dioden entfallen können.
:
Bearbeitet durch User
Uwe B. schrieb: > Lothar J. schrieb: > Hall-Matrix, 2 Multiplexer 3 auf 8, macht 6 Port-Pins am µC. Und eine > Taste für Start, natürlich. Reicht. Wenn alle Figuren stehen, sind doch alle 8 spalten und jeweils die ersten beiden Zeilen belegt. Also ab A - H. Dann sind ja beim Spalten multiplexer alles auf on? Hab ich einen Denkfehler?
Toni E. schrieb: > Hab ich einen Denkfehler? Irgendwie schon. Mit Multiplexern für Zeile und Spalte kannst du natürlich immer nur den Zustand eines einzelnen Feldes gleichzeitig abfragen. Um alle Felder abzufragen benötigst du eine Subroutine, die alle Spalten und Zeilen durchgeht und jeweils den Zustand des angewählten Feldes in ein Array abspeichert. Dieses Array ist dann der Eingang in deine nachfolgende Schach-Software.
Toni E. schrieb: > Hab ich einen Denkfehler? Ganz offensichtlich ja. So wie ich erkenne, hast du dich (immer) noch nicht um das mehrfach erwähnte Stichwort "Matrix" gekümmert, was das ist, und wie du mit 2 Multiplexern je 8 Aus- bzw. Eingängen jeden Knotenpunkt einer 8 x 8 Matrix einlesen kannst. Multiplexer sind dabei nur ein Mittel, um 16 Port-Pins (8 Ausgänge. 8 Eingänge) auf wenige zu reduzieren, sie sind prinzipiell nicht erforderlich. Statt Multiplexern kann man z.B. auch Schieberegister einsetzen, wenn die 16 erforderlichen Steuerleitungen nicht direkt am µC zur Verfügung stehen.
Warum nicht einfach mit einem Schaltkreis? Der PI4IOE5V9555 ist dafür genau geeignet. Hardy
Hardy F. schrieb: > Der PI4IOE5V9555 ist dafür genau geeignet. Du brauchst dann aber immer noch eine Erkennung pro Feld!!! Ich hatte mal ein kleines elektronisches Reiseschach als Steckschach. Da war unter jedem Steckfeld eine Folien- oder Elstomertaste. Wegnehmen der Figur: kurz drücken und auf dem Zielfeld auch kurz drücken. Computer rechnet und piepst, das Ergebnis wird am Rand mit je 8 LEDs für a..H und 1..8 angezeigt Jetzt ziehe ich für den Gegner also: seine Figur kurz drücken, dann leuchtet seine neue Position auf den LEDs. Ich stecke seine Figur dorthin und drücke. Jetzt das Ganze von vorn... Rochade hat glaube ich funktioniert indem man den König zuerst zieht. Bauernumwandlung weiss ich nicht mehr, ging aber.
Route_66 H. schrieb: > Du brauchst dann aber immer noch eine Erkennung pro Feld!!! Habe ich doch. GPIO0-7 als Ausgänge, die schalten die Hall-Sensoren direkt (max. 1,1mA pro Sensor) und GPIO8-15 sind die Eingänge. Dann einfach als Matrix-Abfrage. Falls die Hall-Sensoren mehr brauchen oder es mit einem TLC59116 noch kombiniert wird für ein Paar LEDs pro Feld, dann einfach an GPIO0-7 ein P-Kanal Mosfet mit UGS <= 2,5V dran. Hardy
Hardy F. schrieb: > Schach_mit_LED.jpg Bist du sicher, dass die Ausgänge der Hall Sensoren auf HIGH gezogen werden können, während die Sensoren keine Versorgungsspannung haben? Das wäre wegen der üblichen ESD Dioden in CMOS Chips ungewöhnlich, aber nicht undenkbar.
Steve van de Grens schrieb: > Hardy F. schrieb: >> Schach_mit_LED.jpg > > Bist du sicher, dass die Ausgänge der Hall Sensoren auf HIGH gezogen > werden können, während die Sensoren keine Versorgungsspannung haben? Das > wäre wegen der üblichen ESD Dioden in CMOS Chips ungewöhnlich, aber > nicht undenkbar. Die meisten Sensoren haben OC/OD Ausgänge.
Steve van de Grens schrieb: > Bist du sicher, dass die Ausgänge der Hall Sensoren auf HIGH gezogen > werden können Nein, das müßte noch geklärt werden. Lt. Datenblatt ist bei Vq kein Bezug zu Vs, also vieleicht ohne Diode? Auch wie der Hall-Sensor arbeitet, im Datenblatt ist ein Diagramm wonach der Ausgang erst nach zwei Zyklen gesetzt wird. Ein Zyklus hat ca. 100-200ms Sleep drin, das ist für eine Matrix völlig ungeeignet. Hardy
:
Bearbeitet durch User
Hardy F. schrieb: > Route_66 H. schrieb: >> Du brauchst dann aber immer noch eine Erkennung pro Feld!!! Ich bezog mich auf die 64 Hall-Sensoren und die 64 Duo-LEDs: welch ein Aufwand an Material, Stromverbrauch und vielleicht auch Software!
Route_66 H. schrieb: > Hardy F. schrieb: >> Route_66 H. schrieb: >>> Du brauchst dann aber immer noch eine Erkennung pro Feld!!! > > Ich bezog mich auf die 64 Hall-Sensoren und die 64 Duo-LEDs: welch ein > Aufwand an Material, Stromverbrauch und vielleicht auch Software! Was hat Dein Reiseschach? Ein Taster für die Reihe und ein Taster für die Spalte? Er hat doch auch 64 Taster und die LEDs gab es zu Deinem Beitrag noch nicht. Eine oder zwei LEDs pro Feld finde ich auch viel besser. Für das lernen kann das Brett dann alle möglichen Felder einer Figur anzeigen, soetwas geht nur mit 64 LEDs. Hardy
Hardy F. schrieb: > Für das lernen > kann das Brett dann alle möglichen Felder einer Figur anzeigen, soetwas > geht nur mit 64 LEDs. Oder mit einem der – im wahrsten Sinne – unzähligen Bücher über das Schachspiel im Allgemeinen und dessen Regeln im Besonderen. ;-)
Hardy F. schrieb: > Was hat Dein Reiseschach? Ein Taster für die Reihe und ein Taster für > die Spalte? Mein Reiseschach hat keinerlei Taster.
H. H. schrieb: > Hardy F. schrieb: >> Was hat Dein Reiseschach? > Mein Reiseschach hat keinerlei Taster. Die Antwort war für "Route_66 H.". Ist das Dein zweiter Account? Hardy
Hardy F. schrieb: > H. H. schrieb: >> Hardy F. schrieb: >>> Was hat Dein Reiseschach? >> Mein Reiseschach hat keinerlei Taster. > > Die Antwort war für "Route_66 H.". Dann mach das per PM. > Ist das Dein zweiter Account? Sonst noch was?
Hallo, habe seit einigen Monaten mein Board fertig. ESP32 mit Python-Programmierung. Keine Bedienelemente, sondern nur HAL-Sensoren und zwei Status LED. Man kann gepflegt eine Partie spielen, es beginnt immer aus der Startaufstellung und das Programm verfolgt die Figuren und prüft mit den HAL-Sensoren die Belegung. Bewegung über Elektromagnet. Problematisch war die Stromversorgung, sollte über normale USB-Versorgung funktionieren. Daher Step-Up-Regler und Pufferakku verwendet. Gruß aus Bayern Jürgen
:
Bearbeitet durch User
Jürgen F. schrieb: > habe seit einigen Monaten mein Board fertig Wie hast du denn die vielen Hall Sensoren mit dem Mikrocontroller verbunden?
Route_66 H. schrieb: > Ich bezog mich auf die 64 Hall-Sensoren und die 64 Duo-LEDs: welch ein > Aufwand an Material, Stromverbrauch und vielleicht auch Software! Mein Chessmaster hat 64 Hallsensoren und 64 LED. Der zeigt die zu setzenden Figuren direkt an. Sonst würde ja eine unprofessionelle seitliche Anzeige nötig..
Jedes Spielfeld erhält einen HAL Sensor vom Typ 49E. Die Sensoren mit der Beschriftung nach oben, also zum Magneten der Figur, einbauen. Die Ausgangsspannung des Sensors liegt z.B. bei Betriebsspannung von 3.3V im Bereich 1V bis 1.6V. Um Abwärme des 3.3V Linearreglers zu reduzieren mit 5V Betriebsspannung versorgt. Bei falscher Magnetfeldrichtung besteht bei 5V theoretische Gefahr der Überspannung am AD-Eingang des Microcontrollers, aber nur bei sehr starken Magneten. 64 Felder in 4 Gruppen a 2*8 Felden. Jede Gruppe an einem Multiplexer 78HC4067. Die komplette Sensorik benötigt knapp 300mA. Auf den ersten Blick Stromsparpotential durch geschaltete Spannungsversorgung um die Sensoren nur bei Bedarf zu versorgen. Praktisch wird das System die meiste Zeit das Sensorboard abscannen um Aktionen des Spielers zu erfassen. Daher nicht weiterverfolgt.
Durch einen vorgeschalteten NPN Transistor kann der FET mit höherer Spannung durchgeschaltet werden. Die 3.3V vom IO-Pin des Microcontrollers reichen hierzu i.d.R. nicht aus. Auch muss die Magnetspannung bei nicht initialisierten und daher hochohmigem IO-Pin sicher AUS sein. Signal ist daher invertiert, IO auf LOW schaltet ein.
Jürgen F. schrieb: > Jedes Spielfeld erhält einen HAL Sensor vom Typ 49E. Ein linearer Hall-Sensor ist hier unsinnig.
Leider nicht, durch den linearen Sensor kann ich das Board abgleichen und bekomme sehr eindeutige Belegungsinformationen die mir auch die korrektur unsauber gestellter Figuren (vom Spieler) ermöglichen. Ich habe Figuren mit 20mm Durchmesser in 25mm Feldern.
Jürgen F. schrieb: > Ich habe Figuren mit 20mm Durchmesser in 25mm Feldern. Wie will man denn bei dem Gedränge die Figuren unsauber stellen? Beim „Chessmaster“ ist‘s 20/35 und die Magnete ziehen die Figuren in die Mitte des Feldes..
Jürgen F. schrieb: > Bewegung über Elektromagnet. Wie hast du das "Überspringen" von Figuren gelöst, z.B. wenn von der Startaufstellung zuerst ein Springer bewegt werden soll oder wenn später Figuren im Weg stehen?
Julian L. schrieb: > Jürgen F. schrieb: >> Bewegung über Elektromagnet. > > Wie hast du das "Überspringen" von Figuren gelöst, z.B. wenn von der > Startaufstellung zuerst ein Springer bewegt werden soll oder wenn später > Figuren im Weg stehen? Magnet schnell umpolen, dann springt der schon. ;-)
Zuerst wird der Weg analysiert der gezogen werden soll. Soll zwischen zwei Feldern in der Mitte durchgefahren werden, so werden diese zuerst zur Seite geschoben. Dann wird der Zug ausgeführt und die verschobenen Figuren zurückgesetzt. Ist eine einfache Verschiebeliste die erstellt und später reverse abgefahren wird.
Jürgen F. schrieb: > Soll zwischen zwei Feldern in der Mitte durchgefahren werden, so werden Was ist bei einem Läufer von A1 nach H8, wenn auf B1, C2, D3 ... etwas steht? Die 20mm passen bei einen 25mm Feld nicht durch die Lücke. Werden die alle erst "verrückt"? Hardy
Hardy F. schrieb: > Was ist bei einem Läufer von A1 nach H8, wenn auf B1, C2, D3 ... etwas > steht? Dann muss er öfter schlagen.
Ja, zuerst wird verrückt. Wichtig ist noch, dass die Wegfindung immer Wege mit wenig störenden Figuren bevorzugt. Hierzu läuft die Wegfindung mit höherer Auflösung als 8x8. Ich verwende hierzu eine überlagerte 17x17 Matrix um Felder und die Feldgrenzen abzubilden. Der Springer läuft also lieber in großem Bogen zum Zielfeld. Wenn aber z.B. aus der Startstellung der Springer loszieht, ist es natürlich auch nicht zu vermeiden.
Hi >Ja, zuerst wird verrückt. Wichtig ist noch, dass die Wegfindung immer >Wege mit wenig störenden Figuren bevorzugt. Na ja. Bltzschachtauglich wird dieses krude Konzept wohl nie werden. MfG Spess
H. H. schrieb: >> Was ist bei einem Läufer von A1 nach H8, wenn auf B1, C2, D3 ... etwas > Dann muss er öfter schlagen. @H. H. Was soll er da schlagen? Die Figuren stehen auf den Nachbarfelder der Zugstecke. Richtig hinschauen hilft! Hardy
Jürgen F. schrieb: > Soll zwischen zwei Feldern in der Mitte durchgefahren werden, so werden > diese zuerst zur Seite geschoben. Wow! Ganz schön aufwendig.
Hardy F. schrieb: > H. H. schrieb: >>> Was ist bei einem Läufer von A1 nach H8, wenn auf B1, C2, D3 ... etwas >> Dann muss er öfter schlagen. > > @H. H. Was soll er da schlagen? Die Figuren stehen auf den Nachbarfelder > der Zugstecke. Richtig hinschauen hilft! Schachregeln sind nur was für Weicheier. Es wird einfach en passant für den Läufer eingeführt.
Im Normalfall wird ja immer direkt gezogen, es ging mir darum ein "schönes" Brett zu haben mit einem normalen Größenverhältnis von Figur zu Brett. Und nebenbei, einfach kann jeder! Blitzschach verhindert eher meine Schach-Engine, die läuft in Python auf dem ESP32 nicht wirklich schnell (Tiefe 4-5, 30s im Mittel beim alten Bratko Kopec Test, aber habe das ganze ja auch nur gebaut um alte Linearschienen meiner ersten Fräse zu recyclen. Hat sich hier jemand schon mal an das Ankoppeln an Internet-Schach angesehen? Da das Board WLAN kann ...
Hallo Jürgen, Dein Aufbau gefällt mir, eine sehr interesante Variante der Verschiebung. Hast Du eventl. vor Dein Projekt etwas näher vorzustellen? Ich bin auch ein Vertreter der Langsamspieler. Es sieht bestimmt lustig aus, wenn die Figuren zu Seite gehen um dem Pferd Platz zu machen ... Hardy
Hier mal meine Baubeschreibung, für Ideen und Verbesserungen bin ich immer offen. Rechtschreibfehler dienen der Unterhaltung und sind zu ignorieren.
Perfekt für ein Schaufenster, da könnten die "Seher" auch mitspielen. Wie hoch ist die mechanische Fehlerhäufigkeit? MfG alterknacker
"Normalerweise" geht ein Spiel ohne Fehler durch. Eine State-Maschine überwacht die Eingaben des Nutzers, da sind viele Varianten möglich und am Anfang habe ich mit jedem Spieler was neues gelernt... Die Sensorik und Mechanik an sich ist in Ordnung, der Magnet könnte aber die Figur exakter positionieren. Obwohl der Abstand Magnet zur Figur mit 4mm echt minimal ist, ist die Magnetfeldbündelung nicht optimal und die Figur wird etwas nachgeschleppt und ruckelt daher manchmal. Evtl. kleine Magnete als Inlays einarbeiten um in der Mitte des Feldes ein Rastmoment zu erzeugen, aber dann wird die Sensorik wieder schwer ...
Jürgen F. schrieb: > der Magnet könnte aber > die Figur exakter positionieren. Ich schätze, dass die Feldlinien des Magneten nicht genau symmetrisch außen um ihn herum ausgebildet sind, wenn die Position der Figur nicht genau darüber ist. Vielleicht wäre es möglich, mit 3 Hall-Elementen, außen um den E-Magneten herum, direkt unter dem Brett, die Asymmetrie zu erkennen und durch leichtes Hin- und Herfahren ("ruckeln") die Figur besser zu positionieren. Nur so 'ne Idee...
wie und wo stellst du die geschlagenen Figuren ab? MfG alterknacker
Geschlagene Figuren werden in einer 9ten Reihe (mit etwas Abstand, also Reihe 9 1/2) abgestellt, aber in engem Raster sonst reicht der Platz nicht. Dies verhindert leider den automatischen Wiederaufbau des Brettes. So werden nur die Figuren auf dem Feld zurückgestellt, die geschlagenen muss man leider per Hand zurückstellen. Habe Größenlimit, das Spiel musste in eine vorhandene Vitrine passen ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.