Logs analog data
Dependencies: SDFileSystem mbed
main.cpp@0:c4cf65fb17fb, 2013-02-12 (annotated)
- Committer:
- veskokaradzhov
- Date:
- Tue Feb 12 15:37:57 2013 +0000
- Revision:
- 0:c4cf65fb17fb
Code for logging analog sensors
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
veskokaradzhov | 0:c4cf65fb17fb | 1 | // ANALOG SENSORS |
veskokaradzhov | 0:c4cf65fb17fb | 2 | // Logs information from all 6 analog inputs for 5 seconds in 100msec intervals (this is adjustable) |
veskokaradzhov | 0:c4cf65fb17fb | 3 | // and writes the data to a "log.fbr" file on the SD card. |
veskokaradzhov | 0:c4cf65fb17fb | 4 | |
veskokaradzhov | 0:c4cf65fb17fb | 5 | #define INTERVAL 0.100 //100 msec interval |
veskokaradzhov | 0:c4cf65fb17fb | 6 | #define NUM_OF_READINGS 50 //number of readings to be logged |
veskokaradzhov | 0:c4cf65fb17fb | 7 | #define MAX_VOLTAGE 3.3 //Readings are normalised to values between 0 and 1, need to multiply readings by 3.3V |
veskokaradzhov | 0:c4cf65fb17fb | 8 | #include "mbed.h" |
veskokaradzhov | 0:c4cf65fb17fb | 9 | #include "SDFileSystem.h" |
veskokaradzhov | 0:c4cf65fb17fb | 10 | #include <fstream> |
veskokaradzhov | 0:c4cf65fb17fb | 11 | #include <iomanip> |
veskokaradzhov | 0:c4cf65fb17fb | 12 | |
veskokaradzhov | 0:c4cf65fb17fb | 13 | AnalogIn ain1(p15); // SENSOR PINOUTS |
veskokaradzhov | 0:c4cf65fb17fb | 14 | AnalogIn ain2(p16); |
veskokaradzhov | 0:c4cf65fb17fb | 15 | AnalogIn ain3(p17); |
veskokaradzhov | 0:c4cf65fb17fb | 16 | AnalogIn ain4(p18); |
veskokaradzhov | 0:c4cf65fb17fb | 17 | AnalogIn ain5(p19); |
veskokaradzhov | 0:c4cf65fb17fb | 18 | AnalogIn ain6(p20); |
veskokaradzhov | 0:c4cf65fb17fb | 19 | |
veskokaradzhov | 0:c4cf65fb17fb | 20 | DigitalOut led(LED1); // LED PINOUT |
veskokaradzhov | 0:c4cf65fb17fb | 21 | |
veskokaradzhov | 0:c4cf65fb17fb | 22 | SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD CARD PINOUT |
veskokaradzhov | 0:c4cf65fb17fb | 23 | |
veskokaradzhov | 0:c4cf65fb17fb | 24 | ofstream out; // define output stream |
veskokaradzhov | 0:c4cf65fb17fb | 25 | |
veskokaradzhov | 0:c4cf65fb17fb | 26 | int main() { |
veskokaradzhov | 0:c4cf65fb17fb | 27 | |
veskokaradzhov | 0:c4cf65fb17fb | 28 | out.open("/sd/log.fbr"); |
veskokaradzhov | 0:c4cf65fb17fb | 29 | out<<"START LOGGING\n"; |
veskokaradzhov | 0:c4cf65fb17fb | 30 | |
veskokaradzhov | 0:c4cf65fb17fb | 31 | for(int n=1;n<=NUM_OF_READINGS;n++) |
veskokaradzhov | 0:c4cf65fb17fb | 32 | { |
veskokaradzhov | 0:c4cf65fb17fb | 33 | out<<setw(2)<<n |
veskokaradzhov | 0:c4cf65fb17fb | 34 | <<setw(10)<<ain1*MAX_VOLTAGE |
veskokaradzhov | 0:c4cf65fb17fb | 35 | <<setw(10)<<ain2*MAX_VOLTAGE |
veskokaradzhov | 0:c4cf65fb17fb | 36 | <<setw(10)<<ain3*MAX_VOLTAGE |
veskokaradzhov | 0:c4cf65fb17fb | 37 | <<setw(10)<<ain4*MAX_VOLTAGE |
veskokaradzhov | 0:c4cf65fb17fb | 38 | <<setw(10)<<ain5*MAX_VOLTAGE |
veskokaradzhov | 0:c4cf65fb17fb | 39 | <<setw(10)<<ain6*MAX_VOLTAGE |
veskokaradzhov | 0:c4cf65fb17fb | 40 | <<endl; |
veskokaradzhov | 0:c4cf65fb17fb | 41 | |
veskokaradzhov | 0:c4cf65fb17fb | 42 | wait(INTERVAL); |
veskokaradzhov | 0:c4cf65fb17fb | 43 | } |
veskokaradzhov | 0:c4cf65fb17fb | 44 | |
veskokaradzhov | 0:c4cf65fb17fb | 45 | out<<"END LOGGING\n"; |
veskokaradzhov | 0:c4cf65fb17fb | 46 | out.close(); // close output stream |
veskokaradzhov | 0:c4cf65fb17fb | 47 | |
veskokaradzhov | 0:c4cf65fb17fb | 48 | ////////////////////////////////////////////////////////////////////////////////////////// |
veskokaradzhov | 0:c4cf65fb17fb | 49 | led=1; |
veskokaradzhov | 0:c4cf65fb17fb | 50 | wait(0.5); |
veskokaradzhov | 0:c4cf65fb17fb | 51 | led=0; // After the LED blinks, the program is done and the SD card may be removed. |
veskokaradzhov | 0:c4cf65fb17fb | 52 | ////////////////////////////////////////////////////////////////////////////////////////// |
veskokaradzhov | 0:c4cf65fb17fb | 53 | } |