Logs analog data

Dependencies:   SDFileSystem mbed

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?

UserRevisionLine numberNew 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 }