This week, my primary focus was on the software component of our project, where I completed a significant feature: updating the game state based on the detection of new pieces by the hall effect sensors on the physical board. I achieved this through a two-step process involving a Django API, which is activated by our Flask server that handles the movements of the gantry system and monitors the sensors. When a new piece is detected, the API logs an event in our local SQLite database with a ‘consumed=false’ flag. On the front end, AJAX is used to periodically check for these unconsumed records, ensuring that the game state is updated with minimal latency.
This implementation confirms the completion of all major software components, although some minor UI issues remain. These will be addressed next week as we refine the interface for our final demonstration.
In terms of new knowledge acquisition, I found that thoroughly reading electronic component specifications and watching YouTube tutorials on stepper motors were extremely beneficial. This approach not only ensured that our hardware was assembled correctly but also facilitated a quicker practical application of theoretical knowledge.