(Note: the uploaded .zip file only contains the code for the bin module itself)
We were unsure of exactly where to start, so we took out an NFC shield from the Hardware lab and used it as a starting point. We then thought of using an NFC based game where you could scan an identifier by recycling points to try and outdo your colleagues, friends and teammates.
What it does and how I built it
The device scans an NFC card and takes its UID. It the using an Arduino Mega with an NFC shield. It then uses this to check whether the card is on the list of players, and then alert the user (through an LED matrix) before incrementing the player's score in our database using an API over HTTP in Python (the increments will vary based on the kind of recycling but this will be set on the individual units). The database can then be accessed through a webpage with a (secure) login and account function which uses PHP to generate leaderboards etc.
Challenges I ran into
We initially planned to use an Android app to interface with the database and scan on the NFC shield, however we later realised that did not seem possible with the NFC hardware we had, as it was an NFC tag scanner and HCE would not interact correctly with it.
Accomplishments that I'm proud of
-The concept -The API that we designed for interacting with the database -The communications over serial connections between the Arduino and python
What I learned
We learned a lot about communicating across technologies with serial and HTTP.
What's next for BinBattles
Ideally this would be integrated into a pre-existing employee account system, so that existing employee cards can be used, and the webpage could be streamlined based on existing AstraZenica teams. The hardware could also be reduced in size by connecting the necessary NFC hardware directly to a microcontroller via a PCB and then connecting it to an IoT board or a Raspberry Pi, as this would reduce the environmental impact of the project.