I plan on using my mbed to capture some raw acceleration data from a rocket that I plan to launch soon. What I have build is a little program that records data from an accelerometer. When you flip the switch, the program automatically starts recording all x,y, and z values to a cvs file which can later be opened in excel to produce a graph. I have also added a mobile lcd screen to output the results.
Revision 0:e43a1f11a90b, committed 2010-11-02
- Comitter:
- vcazan
- Date:
- Tue Nov 02 00:16:20 2010 +0000
- Commit message:
- Inital revision
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r e43a1f11a90b main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Nov 02 00:16:20 2010 +0000 @@ -0,0 +1,61 @@ +#include "mbed.h" +#include "MobileLCD.h" + +AnalogIn x1(p18); +AnalogIn y1(p19); +AnalogIn z1(p20); +DigitalOut led(LED1); + +DigitalIn start(p21); +Serial pc(USBTX, USBRX); // tx, rx +LocalFileSystem local("local"); // Create the local filesystem under the name "local" + +MobileLCD lcd(p5, p6, p7, p8, p9); + +int count=0; + +int main() { + lcd.background(0x0000FF); + lcd.cls(); + + + lcd.printf("Waiting for start..."); + for (int i=0; i<130; i++) { + lcd.pixel(i, 80 + sin((float)i / 5.0)*10, 0x000000); + } + while (1) { + + pc.printf("%d",start.read()); + if (start) { + remove("/local/out.csv"); + FILE *fp = fopen("/local/out.csv", "w"); // Open "out.txt" on the local file system for writing + lcd.background(0x0000FF); + lcd.cls(); + while (start) { + + pc.printf("XValue %.4f , YValue %.4f , ZValue %.4f\n",x1.read(),y1.read(),z1.read()); + fprintf(fp," %f , %f , %f\n",x1.read(),y1.read(),z1.read()); + + lcd.locate(0,3); + lcd.printf("X:"); + lcd.locate(0,6); + lcd.printf("Y:"); + lcd.locate(0,8); + lcd.printf("Z:"); + lcd.pixel(count++, -10 +x1.read()*100, 0x000000); + lcd.pixel(count, 10+x1.read()*100, 0x000000); + lcd.pixel(count,30+x1.read()*100, 0x000000); + if (count == 120 ) { + count = 0; + lcd.cls(); + } + + } + fclose(fp); + } + + + + + } +} \ No newline at end of file
diff -r 000000000000 -r e43a1f11a90b mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Nov 02 00:16:20 2010 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e