This is a bit of a mess, but itThe next step is to connect it all to the Arduino and start tweaking the program to work interface with the chess engine.
After about 18 hours of drilling, soldering, and gluing, I have completed the majority of the wiring for the chess board. There are 64 Hall sensors, one for each chess square. Thankfully the Hall sensors can share a common power and ground, which reduces the number of wires. After testing each individual sensor, I liberally smothered the solder points in hot glue to prevent jostling from causing anything to break loose.
The next step is to wire up the multiplexing chips and figure out how to turn the sensing into chess moves. I'm not looking forward to wiring up all the multiplexers. Thankfully, I have the 3rd season of Walking Dead on Netflix to keep me company. Devin and I made a LEGO trebuchet for his monthly science project. I thought I'd share. The two videos show the first and second incarnation of the trebuchet as explained by Devin. In the second incarnation, we put a hinge on the counterweight and properly attached the sling. Tonight I installed the hall sensors to the underboard for my robotic chess board and began wiring. I ran the ground wires and soldered all the resistors between the Vcc and the output pins on the hall sensors. Good thing there were some people around HackPittsburgh to keep my company. Enjoy the pictures.
I wanted to post a quick update about the chessboard. I have tested using several Hall sensors simultaneously using a multiplexer (MUX). The multiplexing chip I chose allows for the controlling of 16 sensors while using only 7 pins on the Arduino. Since there are 64 squares on a chessboard, I will need 4 MUX chips. Adding additional chips only requires 5 additional pins per MUX, bringing the grand total to 22 pins, 20 of which needs to need to be I/O. This is approaching the number of pins on my Arduino UNO and I still have to drive three motors to move the chess pieces. I have two simple options at this point, buy an Arduino Mega, which has a near infinite number of pins (54 digital I/O and 16 analog inputs) compared to the UNO (14 I/O, 6 analog), or I can use a fifth MUX to offload some of the pins. Thankfully, the MUX chips I bought are I/O and therefore will allow me to switch through the 16 pins on each of the other 4 chips. Since I already have 5 MUX chips and I don't want to spend the $60 on the Mega, I'll give this a try first. I might try offloading the sensor work to the Raspberry Pi and use the Arduino for only motor control in the end. I haven't tried using sensors with the Pi yet so I don't know how well that will work. Anyway, I made a little video where I'm driving four Hall sensors with the Arduino through a MUX. Everything seems to be working fine. I didn't do all 16 because it would have been a wiring mess on the tiny breadboard and the sensors would be close enough to for multiple to be tripped a once when the magnet is near by. On the chessboard, they will be far enough to avoid magnetic bleeding (a term that might not describe what I mean, but I like it enough to keep it) away and there will be more space to wire everything correctly. The next step is to start wiring together the sensor array, which I will work on this weekend.
|