Maze Craze Weekly Log
Contents
Week of 1/23/17
- We formulated our team and brainstormed ideas for our project. Then, we decided on our maze game idea and began writing a simple project proposal.
Week of 1/30/17
- We wrote a starting proposal for Maze Craze including a Gantt chart and budget. After meeting with our TA Natalie, we solidified our proposal and overall project idea.
- Once the project proposal is approved, we will design our game board and layout for the maze so that we can order parts to begin construction.
- In addition, we seem to have a clear schedule of when we will be able to work on the project individually and together.
Week of 2/6/17
- We started designing a layout for our game board with possible dimensions that may be subject to change depending on the parts we ultimately use.
- Revisions were made to the project proposal by editing the project description, budget, objectives and challenges. The budget still needs a few prices to be confirmed as we finalize our decisions on a few parts such as the amount of wood we will need which will depend on the final dimensions we choose for our board.
Week of 2/13/17
- This week we had serious problems with our budget. We had to overhaul almost everything on it in order to stay under $150. All of the items below have been added to our budget:
- We found a new website to order the LED RGB strips.
- We reduced our order of hall effect sensors to 27 as we only require 25 but want to have a couple extra.
- We found cheaper spray paint for $3.87 rather than $8.00.
- We are now ordering a 5V 10 Amp Power Supply rather than using battery packs to power the Arduino.
- We found cheaper screws that will still suffice to keep our box together.
- We also found out that we needed 10K Resistors in order to use the hall effect sensors properly.
- Instead of using LEDs for the number displays we will be using cheaper analog number displays.
- We found a cheaper breadboard that should achieve our needs.
- We also need a female DC power adapter to connect the power supply to the Arduino.
- We will also be upgrading our Arduino to a Mega Arduino.
Week of 2/20/17
- This week we ordered:
- All the Sparkfun items (Lights, Hall Effect Sensors, Resistors, and Switch)
- Breadboards
- We visited Home Depot to get our wood, screws, paint, etc.
- Jason mocked up a basic version of the game in Java. The two versions we mocked up were:
- A version that generates a random maze every move
- A version that cycles between two mazes with every move
- Jason also tested how probability that each wall it lit affects the solvability of a maze by altering the probability and playing through several mazes at different probabilities.
- We discussed the "maze generating" algorithm and how each maze will be created. We mocked this up in We decided:
- Not every maze has to be solvable
- The mazes cannot be generated completely randomly because they will generally be unsolvable
- Every time a game starts, a completely new set of mazes will be generated
- A possible way of controlling difficulty is generate random numbers for each wall and altering the likelihood of a wall to be green (~60% green is a fairly easy game, while a 40% is much more difficult and likely impossible)
- The two walls bordering the entrance and the two bordering the exit must always stay on
- Liz mocked up the basic wall/sensor code on an Arduino. It:
- Models a set of walls (with LEDs)
- Responds to a user's button presses by lighting a different set of walls (modeled by LEDs)
- Does not respond if a user doesn't move but just "sets their piece back down" (modeled by buttons)
- Waits for a player to set their piece in the "start" position to begin the game
Week of 2/27/17
- This week, the following parts arrived:
- The 1k and 10k resistors
- The 3 solderless breadboards
- The 3 strips of LED lights
- The 27 Hall Effect Sensors
- The on/off switch
- Liz got a Hall Effect sensor wired up to an Arduino Uno properly and is getting proper readings with test magnets
- We figured out our Hall Effect sensors are "latching", meaning that they return a '0' until a magnet is sensed, then a '1' until the magnet is sensed again. This changes they way we will go about coding how a player's game piece is registered, but we have a good idea about how to handle this involving an array of "last states" and "current states" of each Hall Effect sensor
- Our 10k resistors worked with the Hall Effect sensors
- Jason sketched up a 1:2 scale drawing of the top of the game board. This is pictured below.
- We began looking into the coding of the addressable LED strips
- We found a library that other users of the same LED strips say works well. This code is quite over our head, so we are planning to seek help from Natalie, our TA, with the controls of the lights. This library is linked: Adafruit NeoPixel Library
- We discovered that our RGB lights do not have adhesive backing and are also more expensive than the other RGB strips. We are considering returning the current LEDs and ordering the LEDs with the adhesive backing.
- We were having problems wiring up the LED strips. We hope to get help from Natalie to figure how to wire the LEDs up.
- We began strategizing MegaArduino pin distribution.
- 25 digital pins will be used for Hall Effect sensing
- 8 pins (unclear whether analog or digital as of yet) will be used to control each strand of RGB LED strips
- 1 pin will be used for the on/off switch
- Up to 20 pins could be used for number displays (this is in the air at this point, as we don't know whether we'll have time or funding for this feature)
- We updated our "Challenges" portion of our project wiki to reflect the currently projected issues.