I’m currently planning a Arduino Chess board which is capable of connecting to the internet with the intend of monitoring a real physical game online. I’m encounter an issue of Identifying chess pieces individually .initially I thought to use reed switches without identifying pieces but It has some drawbacks like handling pawn promotion.
Have you anyone faced this issue before ?
Any easy way to handle this ?
How about using RFID or NFC ?
It’s better than the reed switch to identify the existence of a piece but my requirement is to Identify the each place out of six different pieces separately in the board.
Vision is the immediate solution that comes to mind, but I could see you not wanting to do that, as then you could just stream the video.
If you could get something like a passive RFID tag that echos something unique when probed, and sweep the board one square at a time, look to see what the strongest echo was, maybe with some other form of error checking?
Sounds like it could be expensive though.
You could try somehow creating a circuit with the piece, each piece having a unique voltage, but you would then need to have contacts on the board, which I don't know if they are reliable.
Here is a chess set that says it is magnetic. Still not sure how it works though. What is the pillar at the back left of the board? How does the computer figure out what piece is on what square?
[http://www.chessbaron.co.uk/chess-CMD2002.htm/url]
I presume the chess men are all passive?
Is there some kind of reader under each square and how can it tell one piece from another?
Maybe I am making too much of this, perhaps you don;t need to "read" the identity of each piece, how about this;
If you have a fairly strong magnet in each piece and a magnetic reed switch under each square you probably don't need to know by reading which piece is which. Instead you just make the assumption that the players set up the board correctly, that white makes the first move and that all the moves are legal. Then, with a knowledge of the rules, the computer can calculate what is on each square.
Pawn promotion is a snag though because you cannot assume it will be a Queen and, even after it moves, you still might not know what it is. i think manual input for promotion might be required.
Why not use 64 3.5mm stereo panel connectors, equip each piece with a plug and identify 'm by resistance ?
If you would make it an "electro-punk" chess set you could equip pawns with dip-switches telling whether one was promoted and if so to what piece. By equipping the extra line on each piece with a led, it could be used to show tons of info about the game.
I'd just go with a presence sensor under each square as radman suggests and assume that the piece picked up is the same one that is put down. I don't see pawn promotion as an issue since you know when it is a valid thing to do and can simply assume it has been done.
if I expand the words of "radman", in pawn promotion we can select one of the pieces according to our preference (normally select Queen 8) ). So if I go with Hall Effect sensor or reed switches I have to give an option to select the piece either using key pad or using a TFT touch screen, then the game become not natural. The challenge is to integrate the technology by preserving the natural gaming experience.
What do you think about using RFID or NFC?
some of the 64 pin interfaces I found B64 Shield -64 pin 8x8 matrix | Centipede Shield with 64 pin
radman:
There are existing computer chess boards how do they work?
I don't think they detect what the piece is- they detect its presence. They know what it is, since at the start of the game, the pieces and their positions are well known, and after that it just keeps track of them.
On the machine we have, when you move a piece you first push it down into its hole- presumably some kind of switch in there, so that then the machine knows what position's piece is being moved, and so knows what the piece is.
You could do it possibly with 4 sensors per square.
There are 13 ways in which each square could be:
6 different white pieces
6 different black pieces
1 being square is empty
In which case if you have 4 sensors, you will have 4 bits of information for each square (16 states).
The sensor could be as say 4 metal rings on a PCB on each square with a fifth contact in the centre. Each piece would be put down on the square and make contact with the centre (maybe some sort of alignment slot like in travel chess boards). The centre contact would be connected to +5V and each ring would go to a digital input of some multiplexer with a pull down resistor.
When a piece is plugged in, it would make a connection between the centre and a given set of the four rings. This would identify the piece.
Another option would be to have 4 hall sensors and up to 4 magnets attached to each piece. Which magnets are attached identifies the piece.
I still don't see why pawn promotion is a problem. You know when it occurs, and you know which piece it was performed on, and you know which pieces it could have been promoted to. You can infer which piece it was actually promoted to as soon as the player makes a move with which is not permitted by the other alternatives.
I'm not a chess player, only played it as a kid. But for some reason, chess -sets- have always fascinated me.
I've thought on doing this, identifying chess pieces on a board, using something like RFID before there was RFID, I see from that patent that someone did it or something like it.
That doesn't look complex to me. Clever. Not RFID, but coils resonant at slightly different frequencies. It has 8 transmit coils as long coils that run under rows, and 8 receive coils as long coils under columns. Transmit activates (potentially) 8 pieces along a row, but you select each receive coil in turn and so only "see" one piece per space.
Doesn't seem too difficult. But instead of the resonant coils inside the pieces, use RFID on the bottom of each piece. They'll each have unique ID numbers, just program the Arduino to know which ID signifies which piece.
Myself and a few others had considered this for a Kickstarter project, but the rest lost interest. I'm a hardware guy, not a coder, so I can't do it by myself.
Polymorph's idea sounds plausible and, assuming it works, you get unique identification of each piece.
Another way with the reed switches is to have an extra 7 squares off to the side of each player (14 in total) on which players are obliged to place any major pieces they capture. That way it becomes possible to determine if a player has decided to promote a pawn to a queen, rook, bishop or knight. This means though that you need magnets in all the pieces plus 78 squares fitted with reed switches.
However if polymorph's idea is correct you could uniquely identify each piece and have much simpler code. You would need RFIDs in each piece (and cheap passive ones would probably be best), plus 8 transmitter coils and 8 receiver coils. This seems like the prime candidate to me.