Fidget Spinners are little toys in the hands of many students and kids these days. They are built around a centered bearing and weight in typically three arms. The weight in the arms helps to spin the toy with up to 600-900 RPMs, or even more (max. we measured as of today was 1.500 RPM).
Now the challenge starts - how can you improve the speed of your spinner? You could do an upgrade of the bearing from ABEC7 to ABEC9 or higher. But will it run faster?
What might be your challenges - add yours in the comments!
- most silent
- highest rpm
- longest run time
- less vibration
As the Fidget Spinner are in hands of many students and kids, it was the idea to combine it with an interesting project to learn about coding and building sensors for #IoT.
All said - jumpstarted to build a sensor. The IR Photo Interrupter - GP1A57HRJ00F was after some tests the best choice, as we needed a sensor that can trigger without bouncing a clean signal for an interrupt on the ESP8266, as we want to catch each spin. There are other sensor as well which will work great see FAQ.
The breakout board does all the wiring for you - just use an 220 Ohm resistor and connect it in the case to GPIO4 of the ESP8266. Connect the Power (VCC, and GND) to your ESP8266 source which is typically 3.3V.
In this project we use the #IoT OCTOPUS badge which is a nice hackable board. A simple grove connector cable with make it a snap to connect the sensor to the board!
BlynkAs we needed an APP to show the spin performance, we selected Blynk to do this job. All you need is to download the App from your store - get a KEY and store it in the sketch. You're all set!
In the Blynk APP, connect your graph with the virtual PIN 5, you will see the RPM.
Have fun tuning your Fidget Spinner, get the fastest long running spinner, play the game!
Update
thrilled to see this reworked version of my project by K. Gollmer using Ardublock and a IR reflection sensor:
Now we added an Adafruit Charlie Wing LED matrix display and switches to 2xAAA battery (on the back of the board) mode:
Happy to hear your feedback - btw now it is easy to build a high-score for all "connected" Fidget Spinners ;-)
For those who want to take it further - good reading: "Want to Know How Long a Fidget Spinner Spins? Get a Laser and Some Physics" via external link (www.wired.com).
Now have fun with physics with Walter Lewin:
FAQ- can I measure a Fidget Spinner which is just a disc (no arms)? - YES, just use the CNY70 relefex (so similar), make one point on the disc reflective (black surface and a white sticker) - that will be your point to measure, remove the divider "3" in the code.
- the Sparkfun Interrupt Sensor is too tight for my spinner! - Just go with the CNY70 or QRD1114 (Sparkfun), you can achieve good results with up to 1 cm distance.
- do I need the Blynk App? - No you can read the results from the Arduino Debug output or add an Adafruit display wing like the OLED or our favored Charlie Matrix.
- are the holes in the arm a problem during measurement (most Fidget Spinner have bearings as weight in their arms)? Just find a good position for the sensor outside the bearings, close to the edge of the arms is perfect.
- Why #IoT? With having a link to the Internet you can share your high score or capture spin data for further processing. Have seen folks using FFT to capture perfectly each rotation (in case you measure noise like from the bearing holes). Just kick off your ideas.
Comments