Things used in this project

Hardware components:
Hexiwear docking bd
NXP Hexiwear
×1
Software apps and online services:
Workbench client evothings
Evothings Studio
ARM mbed OS 5
Hand tools and fabrication machines:
Armmbedlogo
ARM mbed mbed

Schematics

Vibration Analyzer Evothings App
The Evothings App helps with the decision-making process after the Racket Vibration data has been acquired.
Img 0580

Code

Racket Decision Making AppHTML
Evothings App used in conjunction with the Vibration Analyzer to select a racket.
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, user-scalable=no,
    shrink-to-fit=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
 <title>VibrAnalyzer</title>
 <style>@import 'ui/css/evothings-app.css';</style>
 <script>
 // Redirect console.log to Evothings Workbench.
 if (window.hyper && window.hyper.log) { console.log = hyper.log }
 function displayResults() {
   var vibs = document.getElementById("Vibrations");
   var heal = document.getElementById("Health");
   var rack = document.getElementById("Racket");
   var reco = document.getElementById("Recommendation");
   var recoTxt = '<p>';
   if ('LT10' === vibs.value) {
     recoTxt += '<br/>Very few vibrations were detected!';
     if ('Poor' === heal.value || 'Fair' === heal.value) {
         recoTxt += '<br/>Try dampeners to reduce vibrations even more';
     }
     if ('Heavy' === rack.value) {
         recoTxt += '<br/>Try a lighter racket with similar attributes for comparison';
     } else if ('Light' === rack.value) {
         recoTxt += '<br/>Try a heavier racket with similar attributes for comparison';
     } else {
         recoTxt += '<br/>You might have found your ideal racket!';
     }
   } else if ('LT60' === vibs.value) {
     recoTxt += '<br/>Significant vibrations were detected. Try others before making a decision.';
     if ('Poor' === heal.value || 'Fair' === heal.value) {
         recoTxt += '<br/>This may not be the one for you.';
     }
     if ('Right' === rack.value) {
         recoTxt += '<br/>Try a different brand with similar attributes.';
     }
   } else {
     recoTxt += '<br/>The vibrations are too much to be healthy. Try others.';
   }
   recoTxt += '</p>';

   reco.innerHTML = recoTxt;
 }
 </script>
 <script src="cordova.js"></script>
 <script src="libs/evothings/evothings.js"></script>
 <script src="libs/evothings/ui/ui.js"></script>
 <!-- TODO: Add libraries that you need -->
 <script src="libs/smoothie/smoothie.js"></script>
 <script src="libs/mqttws/mqttws.js"></script>
</head>
<body ontouchstart=""><!-- ontouchstart="" enables low-delay CSS transitions. -->
<header>
<button class="back" onclick="history.back()">
<img src="ui/images/arrow-left.svg">
</button>
</header>
<h1 class="green">Vibration Analyzer</h1>
 <div class="AppBox">
 Vibrations/min:
 <select id="Vibrations">
 <option value="LT10">&lt; 10</option>
 <option value="LT60">&lt; 60</option>
 <option value="GT60">&gt; 60</option>
 </select>
 <br/>
 Playing arm health: 
 <select id="Health">
 <option value="Good">Good</option>
 <option value="Fair">Fair</option>
 <option value="Poor">Poor</option>
 </select>
 <br/>
 Racket Feels: 
 <select id="Racket">
 <option value="Heavy">Heavy</option>
 <option value="Light">Light</option>
 <option value="Right">Just Right</option>
 </select>
 <br/>
 <button class="green" onclick="displayResults();">Recommendations</button>
 <br/>
 <p>Status: <span id="Recommendation"> </span></p>
 </div>
</body>
</html>
Racket_VibrAnalyzer
This is an ARM mbed project that analyzes the vibrations traveling from the racket into the arm of the player and gives its verdict on suitability.

Credits

E3c29473e2179f1c1a02344f50648c08
Anand Vaidyanathan

Developer interested in IoT, Streaming Data, Automotive technology

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

JuicyBoard: Modular Robotics Platform
Intermediate
  • 563
  • 4

Open source hardware that makes it flexible to build 3D printers, CNC, routers and more.

NXP FRDM-K82F Repair - Bricked by FlexIO
Intermediate
  • 8
  • 0

Protip

I bricked my FRDM-K82F while working on a new FlexIO peripheral. Here's guidance to avoid it, and if you bricked, here is how to repair it.

Sketch Drive Car
Intermediate
  • 1,972
  • 45

Full instructions

This project aims at controlling a car through a trajectory traced by the user on a screen running windows or android

Kinetis FlexIO Ultrasonic Radar
Intermediate
  • 1,007
  • 20

Full instructions

360° Ultrasonic Radar for DIY applications, with self written FlexIO driver.

Agricultural flow estimator
Intermediate
  • 275
  • 10

Hey you, small farmer! I Have these camera based sensor to control how much fertilizer is deposited in your plantation

Build an Air Mouse with NXP K82F and FlexIO
Intermediate
  • 555
  • 11

Full instructions

Build next-gen gesture pointing device ideal for 3D CAD design or SmartTV control. Compatible with anything that accepts a USB mouse.

ProjectsCommunitiesContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login
Respect project
Feedback