Short description Key concepts: prosthetics, physiological sensors, robotics Duration: 3 hour
Make a simple cyborg limb controlled directly by the electrical impulses in your arm.

Modern hobbyist sensors provide for many fascinating projects around physiological sensing. Here we suggest the use of the popular Myoware sensor together with a simple microcontoller and servo motors for the creation of a demo bionic arm.

Firstly, the students are introduced to the inspired-by-nature "tendon driven robots". By using a set of strings one can put the heavy bulky motors far away from the fine precise end-actuators, providing for both finesse and miniaturization (similar to how there are no muscles in our fingers, rather they are driven by tendons connected to muscles far away above the wrist).

After the students build the mechanical side of their cardboard "tendon driven robots" we continue to the use of servos and microcontrollers. Given the importance of making only small, debugable modifications, we start by simply adding a servo that moves in a continuous loop, hence testing only the mechanical side of our contraption. When all of the mechanics and electrical connections are tested, we proceed by making the servo motor controllable through some input of the microcontroler. This introduces the important idea of a control loop, where an input is given to the processing unit (the microcontroller), the input is intelligently processed and transformed into a useful output (namely, the motion of the servo motor).

Finally, when the entire control pipeline is tested, we can introduce the EMG sensor, by simply switching the microcontroller input source. This showcases the power in abstraction: given that we have a general control loop architecture, we did not need to change the entire system, rather we just added a new input source.

Most of these steps are detailed in the code files provided with the project. One would need the free Arduino IDE to upload these files to the Arduino microcontroller.


Resources
Bionic Limbs
code_1_sweep.ino
code_2_control_with_pot.ino
code_3_control_with_sensor.ino