Arduino-based Toothbrush Data Monitor

704

3

2

This Arduino-based toothbrush allows you to monitor patterns using 3-axial acceleration data.

Step 1: Step 1: Materials

Toothbrush

Arduino Nano

MPU-6050 3-axis IMU

6ft (1.8m) USB mini-B cable

Step 2: Step 2: Wiring

Connect MPU-6050 and Arduino Nano using wire soldering. See the above picture for detail.

Step 3: Step 3: Programming Arduino

#include <Wire.h>

const int MPU=0x68;//MPU6050 I2C address

int AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;

void get6050();

void setup()

{

Wire.begin();

Wire.beginTransmission(MPU);

Wire.write(0x6B);

Wire.write(0);

Wire.endTransmission(true);

Serial.begin(9600);

}

void loop()
{

get6050();

Serial.print(AcX);

Serial.print(" ");

Serial.print(AcY);

Serial.print(" ");

Serial.print(AcZ);

Serial.println();

delay(15);

}

void get6050()

{
Wire.beginTransmission(MPU);

Wire.write(0x3B);

Wire.endTransmission(false);

Wire.requestFrom(MPU,14,true);

AcX=Wire.read()<<8|Wire.read();

AcY=Wire.read()<<8|Wire.read();

AcZ=Wire.read()<<8|Wire.read();

Tmp=Wire.read()<<8|Wire.read();

GyX=Wire.read()<<8|Wire.read();

GyY=Wire.read()<<8|Wire.read();

GyZ=Wire.read()<<8|Wire.read();

}

Step 4: Step 4: Hit the Serial Plotter and See the Graph

Go to Tools - Serial Plotter (or Ctrl + Shift + L), and you will see the real-time graph with 3-axial acceleration from MPU-6050

Shake toothbrush and see the difference.

for more information: please visit

blog.naver.com/roboholic84

Share

    Recommendations

    • Epilog X Contest

      Epilog X Contest
    • Safe and Secure Challenge

      Safe and Secure Challenge
    • PCB Contest

      PCB Contest

    2 Discussions

    0
    None
    Matlek

    1 year ago

    Interesting project! Can you develop about what you do with the data? What kind of information do you get?

    0
    None
    Swansong

    1 year ago

    That could be really interesting to see the differences in the way everyone does it!