Introduction: The Task Giving Arduino Machine (aka: Making Your Own Bop-it!)
For the study I am currently following I got the assignment to make something with an Arduino. I had gotten myself a standard issue assembly of materials from the school and thought up something that would work around those, with minimal outside materials. My first thought was a Bop-it!. A Bop-it! Is a toy with many variants, but it boils down to this: a voice from the toy says a task a person has to follow (like the namesake “bop it” which means one has to push a big button), after which the player has to do the task correctly after a timer has gone off in order to progress.
What this project specifically does is as follows:
1. A task is given to the player with the sound of a speaker
2. A beep can be heard and the first LED lights up.
3. A second beep can be heard and the second LED lights up.
4. A third, longer beep can be heard and the third LED lights up. During this beep the player is supposed to do the task given to them at the start.
For every fullfilled task the time in which the above sequence is run through becomes faster, until a cap is reached.
When the lightsensor is covered, the time in which the sequence is covered is extended bij 1 second. This lightsensor is meant to be placed beneath the place where the player is going to rest their arm in order to reach the squeeze task, so it notices wether the player is standing or sitting while playing, and thus wether a player isn't or is covering the sensor with their arm.
Step 1: Electronic Materials
Materials used for the creation of the Task Giving Arduino Machine are as followed:
1x Arduino Uno
1x DFPlayer Mini MP3 Player Module For Arduino
1x Breadboard (a long one or 2 would probably be easier on you)
1x Force sensor
1x Potentio meter
1x Sound sensor (I used the KY-038 Microphone Sound Sensor Module)
2x Small buttons
x3 LED light
(1x Soldering board)
Just a heads up: these are a lot of sensors. You should try using less of them and focus on making those work well, be finished and be nicely packaged. Something I should have done myself in hindsight.
Step 2: Wire Assembly
Your wiring should look like the following pictures for each sensor. You might want to check one by one through test code if they work properply.
Step 3: Code
Download the attached .ino file for the code.
This code uses the DFRobotDFPlayerMini library, which can be found here:
Don't forget to put MP3-files that give the tasks into you SD-card (which you put inside the MP3 shield). The code will tell you at the start under //Tasks which tasks should be recorded.
Step 4: Lasercutting/casing
WARNING: this box is flawed, and the plans should mostly be used to convey the general positioning of the sensors. Try making your own box, or edit this one. The least you should do is make the box higher, so the wiring fits beter.
For this project I used a lasercutter. If you want to make it another way that's fine, but anyhow, the .dxf files with which to make this are attached as files if you do want to. I used perspex as the material for my casing, which isn't very pretty because you see my shoddy soldering+wiring through it.
The Big surface at the bottom-left is the top of the box.
The small square at the top left of this surface is the hole for the pins of the Force sensor.
Beneath it, the red circle (which is to be a relief) with the square inside it is for the Photosensor to fit in snugly. Change the red circle according to your Photosensor's size.
The big square in the top-middle of this surface is meant for the speaker.
The small circle beneath it bottom-middle is the hole in which you place the Microphone of the Sound sensor module. Change it if you use a different sound sensor.
The two equally sized circles are for a Small button and a Potentio meter, which you put larger, self-made buttons on top of. The top-right one I used for the Small button, the other for the Potentio meter. The diameter of these circles is 40mm.
The surface next to the top surface, the bottom-right surface, the one with the square on it, is the left side of the box. The square is for the cable jack of the Arduino to go through.
The top-right surface is the right side of the box. The circle is for a handle to fit inside that pushes a Small button beneath it. It is not a good, structurally sound idea, because the perspex has thin points which will break, and the handle cannot be properly lifted higher than the box is high, which is 3 centimeters. Maybe make a handle somewhere on the top of the box instead that hits a button on the side. The hole is 22mm.
Step 5: Soldering and Casing
Solder the sensors and its wires onto your Soldering board so the sensors can be put at the right spots for the two 40mm buttons to go through the casing and onto the Potentio meter and the Small button and that the handle can reach the Small button that's connected to digital input 7. It's a good idea (something I didn't do which messed with my wiring) to use small (sawn off) pieces of Soldering board for the two Small buttons and the Potentio meter. Keep those in place with pins inside the box, and the pressure put onto those sensors won't go through to your Soldering board with the rest of the electronics on it.
The Force sensor and the Photosensor should be put through their holes of the top surface of the box first before being soldered.
The casing, in case it is Perspex or another kind of acrylic, should be glued with appropiate glue like Acrifix one-component glue.