![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Move a limb and read its position with a flex sensor.
Dependencies: C12832_lcd LCD_fonts Servo USBDevice mbed
I wanted to create the simplest limb as part of a course. It involves a limb that moves driven by a stepper motor. The angle of the limb is read by using a flex sensor.
The first time it worked:
https://www.dropbox.com/s/9l5ynsjg8zdynk8/Video%20Dec%2003%2C%209%2048%2034%20AM.mov
Schematic:
https://www.dropbox.com/s/szzpks89ne8evxe/simple%20limb%20schematic.png
Revision 0:1fc648cdc764, committed 2013-12-13
- Comitter:
- ned
- Date:
- Fri Dec 13 02:10:53 2013 +0000
- Commit message:
- First working version that reads the sensor and moves the "limb".
Changed in this revision
diff -r 000000000000 -r 1fc648cdc764 C12832_lcd.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/C12832_lcd.lib Fri Dec 13 02:10:53 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/dreschpe/code/C12832_lcd/#8f86576007d6
diff -r 000000000000 -r 1fc648cdc764 LCD_fonts.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LCD_fonts.lib Fri Dec 13 02:10:53 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/dreschpe/code/LCD_fonts/#d0b7d7bf1f56
diff -r 000000000000 -r 1fc648cdc764 Servo.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Servo.lib Fri Dec 13 02:10:53 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/Servo/#36b69a7ced07
diff -r 000000000000 -r 1fc648cdc764 USBDevice.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/USBDevice.lib Fri Dec 13 02:10:53 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/USBDevice/#849c0c0f2769
diff -r 000000000000 -r 1fc648cdc764 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Dec 13 02:10:53 2013 +0000 @@ -0,0 +1,42 @@ +#include "mbed.h" +#include "USBSerial.h" +#include "Servo.h" +#include "C12832_lcd.h" + +void FlexSensorReport( void ); + +C12832_LCD lcd; +//USBSerial serial; +//Serial pc( USBTX, USBRX ); +AnalogIn flex( p19 ); +Servo myservo( p22 ); + +int main() +{ + while(1) + { + for(float i=0; i<100; i++) + { + myservo = i/100.0; + FlexSensorReport(); + wait(0.1); + } + for(float i=100.0; i>0; i--) + { + myservo = i/100.0; + FlexSensorReport(); + wait(0.1); + } + + } +} + + +void FlexSensorReport( void ) +{ + float f = flex.read(); + lcd.cls(); + lcd.locate( 0, 3 ); + lcd.printf( "%02f %02f %02f", f, f*10.0, f*100.0 ); + //serial.printf( "f = %02f %02f %02f \r\n", f, f*10.0, f*100.0 ); +} \ No newline at end of file
diff -r 000000000000 -r 1fc648cdc764 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Dec 13 02:10:53 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f \ No newline at end of file