otHELLO_WORLD

otHELLO_WORLD

otHELLO_WORLD

otHELLO_WORLD

 

otHELLO_WORLD is an interactive board game that allows you to play the classic game, othello, against an artificially intelligent player. Each piece has a small magnet, and every square of the board has a magnetic sensor to then tell the AI player where the human player moved. The computer would then display the human’s player piece on the board and then the AI would move on the computer screen. I then acted as a proxy for the computer and played a piece on the board in the exact location that the AI player moved.

This required A LOT of wires:

wireswires2wires3

The magnetic sensor had three pins that had to be soldered to three separate wires. For each row of eight, I daisy-chained ground (black wires) and power (red wires) together and then down each side I daisy-chained the eight lose wires (one wire for each row). I then attached the final power and ground wires with alligator clips to my breadboard which was hooked with power and ground. The third pin was a digital output stating whether a magnet was present or not (blue wires). Each of these wires had to be individually connected to a breadboard. I had four breadboards, each with a multiplexor so that I could read the output of 64 digital sensors from a single microcontroller. I made a simple spreadsheet to keep track of which sensor went to which pin of which multiplexor:

sensor_chart

This also required a lot of code. The AI player was a previous project from undergrad. It required only a few tweaks to go from pure Java to Processing. I then wrote a simple Processing sketch to visualize the output of the code (the original code arranged 0s, 1s, and xs to display each iteration of the board). Finally I added in the Arduino code and used serial communication to have Arduino and Processing talk to each other. The Git repo can be found here.

 

Quick demo from the Winter Show:

Music – There for ya by Birocratic (http://birocratic.bandcamp.com/)