Arduino To control the oscillator for essential tremor








- Slides: 8

Arduino ● To control the oscillator for essential tremor vibration (2 D plane) ● To control the servo motors for hand to mouth motion ● To collect 3 D axis data and essential tremor data We plan to use an Arduino and BNO 055 sensor to track motion. The sensor will be attached to the hand. There is an BNO 055 library available to control the motor chip.

Sample code and output

IMU Data Analysis (with 19043) ● 6 datasets per IMU ○ Three axis translational (cm/s) & rotational (rad/s) ○ 2 IMUs: Hand Wrist ● Signal Analysis ○ Integrate translational data ○ Find a trendline and filter data ○ Standard deviation of filtered data is tremor amplitude

Oscillator has a counterweight attached to the shaft to cause vibration in the 2 D axis. The oscillator will be attached on the forearm area. Essential tremor can be controlled by frequency. Higher frequency means more higher RPM to cause stronger vibrations.

Oscillator Testing

Oscillator Testing

Servo motor ● 3 motors: wrist rotation, wrist flexion, and arm flexion Adafruit motor shield will be connected to Arduino. Servo motor will be connected to Adafruit motor shield. Wrist rotation code causes motor to rotate 90 degrees, wait a second, and rotate another 90 degrees. Rotation resets after 180 degrees (human arm goes from -90 to 90 degrees)

Electronic Assembly ● ● ● Detailed schematic of entire electronic assembly, including motor and sensor interface with Arduino uno. Built in Arduino library will detect and assign all servo motors Arduino source code is easily integrated to operate motor/sensor feedback Servo shield can handle current draw to elbow joint motor with supplemental 470 uf capacitor to be installed which is distributed to all four channels All components and wiring configurations were established for optimal operation