Mark
HOME
PROJECTS
MUSIC
RESUME

Not Bop-It


Description

A summary of the project description was that we wanted to make a thing that took in inputs and produced outputs given to those inputs. All it really needed was an actuator and at least 5 sensors. Originally we thought our idea of Bop-It was simple enough, but turns out at least 2 other groups did it as well... So we decided to make it a little different. Rather than the classic Bop-It, we wanted to change up how the game worked, mainly to make it seem more complex than it actually was.

Hardware

Microbit

The hardware we used was the nRF52833 on the Microbit. The device itself already included three buttons, including a reset button and an LED grid matrix on the surface. It also included a build in accelerometer. We added a potentiometer, a capacitive touch sensor, a light sensor, and a water sensor. All of these sensors were connected to the device through the GPIO pins that we wired together on a breadboard.


The premise of the game of our device was like Bop-It, there would be a UI that told the player what to do. Our options were listed as follows:

  • Button: Press a button
  • Flip: Flip the device
  • Light: Cover the light sensor
  • Touch: Touch the capacitive touch sensor
  • Twist: Twist the potentiometer
  • Water: Put the device in water
  • Game Logic

    However, the logic behind the game was a little different. For each round, the user would be prompted to do one of the tasks and be given a certain amount of time to complete it. Except that the player would not only have to do the new task that was on the board, but they would also have to complete all previous tasks, in order, by memory, within the time limit for each task.


    This time limit decreased by 5% each round. If the player failed to do it in time, they would lose and it would show a losing screen with the final score. Otherwise, it would continue to the next round where they need to do a new task along with all previous ones. There was no penalty for doing the wrong task, just that you had to do the correct one before the time limit. The highest score we saw was 14 rounds.


    Originally we wanted to add a speaker element that would read out pre-recorded instructions, but we weren't able to implement clean audio. So we just got our terminal to display text text:

    Task

    New Task Screen

    Completed Task

    Repeat Task Screen

    Losing Screen

    Losing Screen

    I am not an artist.

    Or maybe I am.

    Your call.

    Software

    All the software for our project is located in this Github repo


    After the game logic, we needed a way to read sensor inputs. The Microbit communicated with the sensors through I2C, and we used the GPIO pins to read the inputs. The inputs themselves were just raw voltage values from 0 - 3.3 V. We did a little logic to determine what was enough for each of the sensors.


    For example, when the water sensor read a value greater than 2.5 V, we would consider it as being in water. Similarly, when the potentiometer was turned about 45 degrees, or about 0.5 V, we would consider it as twisted. For the rest of the sensors, we followed some similar logic.

    Final Product

    So now we had to build the actual device. We assembled our sensors across two breadboards and intended it to be a two-player game, with each player holding one breadboard with different sensors on each one.

    Not Bop-It

    Sensors in order as you see them from left to right: touch, button, flip, light, twist, water