ANALOG READ AND STORE IN FILE Simple example program to read 100 analog samples at half second intervals and store them in a local file.
Revision 0:11245efb9ab9, committed 2010-07-14
- Comitter:
- YouTahDoug
- Date:
- Wed Jul 14 15:55:12 2010 +0000
- Commit message:
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 11245efb9ab9 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Jul 14 15:55:12 2010 +0000 @@ -0,0 +1,55 @@ +//----------------------------------------------------------------------------- +// EXAMPLE: ANALOG READ AND STORE IN FILE +// Simple example program to read 100 analog samples at half second intervals. +// The program stores all 100 values and marks each sample as either +// "above" or "below" the chosen threshold of 0.6. The values are +// stored in text file analog.txt in the MBED folder. The samples are +// also written out to stdout (TeraTerm). +// LED 1 turns ON when the sample goes above 0.6, and OFF when it +// falls below 0.6. LED2 toggles ON/OFF to show program activity. +// +// D. Wendelboe 14 July 2010 - Submitted "as is". No guarantees implied. +//----------------------------------------------------------------------------- + +#include "mbed.h" + +#define ON 1 +#define OFF 0 + +LocalFileSystem local("local"); +AnalogIn myinput(p20); +DigitalOut myled(p5); +DigitalOut led1(LED1); +DigitalOut led2(LED2); + +float analog_value; +int count = 0; + +int main() { + printf("Read and store 100 analog sample at 0.5 sec interval\r\n"); + + FILE *fp = fopen("/local/analog.txt","w"); // Open a file to save samples + printf("File analog.txt is open.\r\n"); + + while (count < 100) { + analog_value = myinput.read(); // Read analog (range 0.0 to 1.0) + if (analog_value > 0.6) // If value is above 0.6, then store + { // it as an "above" value. + fprintf (fp, "%3i: %f [above]\r\n", count+1, analog_value); + led1 = ON; // Turn LED ON if sample was stored. + + } else { // Below 0.6, store it as a "below" value. + fprintf (fp, "%3i: %f [below]\r\n", count+1, analog_value); + led1 = OFF; // Turn OFF if sample was not stored. + } + printf ("%3i: %f\r\n", count+1, analog_value); + count++; // Increment sample counter. + led2 = ON; // LED2 ON. + wait_ms(250); // Wait 0.25 second + led2 = OFF; // LED2 OFF. + wait_ms(250); // Wait 0.25 second + } + fclose(fp); // Close the sampe file after 100 samples read. + printf("File analog.txt closed.\r\n"); + printf("Finished. 100 samples taken. Bye!\r\n"); +}
diff -r 000000000000 -r 11245efb9ab9 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Jul 14 15:55:12 2010 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/9114680c05da