Everybody loves sitting down to play a game with a friend, but given the current global health crisis meeting up with a worthy opponent may not be the wisest move. This dilemma was what spawned the idea for AUTOcheckers.
What it does
AUTOcheckers is basically a normal checkers board that also acts as the opponent. You play the game just like on any other checkers board and the AUTOcheckers board plays against you by physically moving its pieces just like any human opponent would.
How we built it
CODE: The C# code written for this project enables the board to make educated moves and then realize those moves in front of the player. A combination of board scanning sensor data and past piece layouts are fed into an algorithm that determines a good move for the board to make. This move is then passed into a method that uses a combination of motor movement code and digitalWrites to an electromagnet in order to physically realize the move on the board. The full code can be found at the GitHub link below.
CIRCUITRY: The brain of the AUTOcheckers board was the Arduino Mega, paired with three Nema 17 motors and the stepper motor driver to precisely move the head of the AUTOchecker board. On the head of the AUTOchecker board was an electromagnet controlled with a transistor and the Mega allowing for specific magnetic checker pieces to be moved to specific targets on the board. Also present was a hall effect sensor that measured the magnetic field from the checker pieces allowing the AUTOchecker board to know where both its and the player's pieces are. In addition, switches were placed on the x and y rails to allow for it to home and then move to certain tiles.
MECHANICAL DESIGN: The mechanical design of the board consists mainly of an acrylic game board and a 2d linear movement system. The 2d linear movement system consists of 2 sets of parallel rods with belt-driven carriages that move along them. The carriages were designed in SolidWorks and constructed using custom 3D printed parts. This system exists to move the electromagnet to any spot on the board.
Challenges we ran into
By far the most challenging aspects of this project were getting reliable readings from the Hall Effect Sensor and constructing the project housing. Constructing the housing was a very expected challenge, but a satisfying one to fulfill nonetheless. The issues with the Hall Effect Sensor were less anticipated. The sensor we planned to use originally ended up not being sensitive enough for our application, so we had to borrow a more adequate one from the organizers and then figure out how to retrofit it into our system. Regardless, we were able to make the new sensor fit our needs perfectly.
Accomplishments that we're proud of
We are most proud of the fluidity of the final product. Watching the board take its turn is much like watching a friend take theirs.