tried out the sensor board by mbed

Dependencies:   MAG3110 MMA8451Q MMA8491Q MPL3115A2 TSI TextLCD mbed

Committer:
jppang
Date:
Thu Oct 10 02:48:03 2013 +0000
Revision:
1:561b57bbbdcc
Parent:
0:3add2fd1bf66
Child:
2:1b93ae1eac4b
modified MPL3115A2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jppang 0:3add2fd1bf66 1
jppang 0:3add2fd1bf66 2 #include "mbed.h"
jppang 0:3add2fd1bf66 3 #include "TSISensor.h"
jppang 0:3add2fd1bf66 4 #include "MMA8451Q.h"
jppang 0:3add2fd1bf66 5 #include "MMA8491Q.h"
jppang 0:3add2fd1bf66 6 #include "MAG3110.h"
jppang 0:3add2fd1bf66 7 #include "MPL3115A2.h"
jppang 0:3add2fd1bf66 8 #include <cstdlib>
jppang 0:3add2fd1bf66 9 #include <iostream>
jppang 0:3add2fd1bf66 10
jppang 0:3add2fd1bf66 11 //#define MMA8451_I2C_ADDRESS (0x1d<<1)
jppang 0:3add2fd1bf66 12 //#define MMA8491_I2C_ADDRESS (0x55<<1)
jppang 0:3add2fd1bf66 13 //#define MPL3115A2_I2C_ADDRESS (0x60<<1)
jppang 0:3add2fd1bf66 14 //#define MAG3110_I2C_ADDRESS (0x0E<<1)
jppang 0:3add2fd1bf66 15
jppang 0:3add2fd1bf66 16 Serial pc(USBTX, USBRX);
jppang 0:3add2fd1bf66 17
jppang 0:3add2fd1bf66 18 TSISensor tsi;
jppang 0:3add2fd1bf66 19 MMA8451Q acc51(PTE25, PTE24, 0x1D<<1);
jppang 0:3add2fd1bf66 20 MMA8491Q acc91(PTE0, PTE1, 0x55<<1);
jppang 0:3add2fd1bf66 21 MAG3110 mag(PTE0, PTE1, 0x0E<<1);
jppang 0:3add2fd1bf66 22 MPL3115A2 mpl(PTE0, PTE1, 0x60<<1);
jppang 0:3add2fd1bf66 23
jppang 0:3add2fd1bf66 24 PwmOut rled(LED_RED);
jppang 0:3add2fd1bf66 25 PwmOut gled(LED_GREEN);
jppang 0:3add2fd1bf66 26 PwmOut bled(LED_BLUE);
jppang 0:3add2fd1bf66 27
jppang 0:3add2fd1bf66 28 DigitalOut enMMA8491(PTA13);
jppang 0:3add2fd1bf66 29
jppang 0:3add2fd1bf66 30 InterruptIn intMPL3115(PTD3);
jppang 0:3add2fd1bf66 31 InterruptIn intMAG3110(PTD1);
jppang 0:3add2fd1bf66 32
jppang 0:3add2fd1bf66 33 DigitalIn acc91X(PTD2);
jppang 0:3add2fd1bf66 34 DigitalIn acc91Y(PTD0);
jppang 0:3add2fd1bf66 35 DigitalIn acc91Z(PTD5);
jppang 0:3add2fd1bf66 36
jppang 0:3add2fd1bf66 37
jppang 0:3add2fd1bf66 38 int main()
jppang 0:3add2fd1bf66 39 {
jppang 0:3add2fd1bf66 40 using namespace std;
jppang 0:3add2fd1bf66 41
jppang 0:3add2fd1bf66 42 float onTime = 1.0;
jppang 0:3add2fd1bf66 43 float offTime = 0.0;
jppang 0:3add2fd1bf66 44 float holdTime = 1.0;
jppang 0:3add2fd1bf66 45 bool on = true;
jppang 0:3add2fd1bf66 46 bool off = false;
jppang 0:3add2fd1bf66 47 int magX = 0, magY = 0, magZ = 0;
jppang 1:561b57bbbdcc 48 float mplAlt = .0, mplPres = .0, mplTemp = .0;
jppang 0:3add2fd1bf66 49 mpl.Altimeter_Mode();
jppang 0:3add2fd1bf66 50
jppang 0:3add2fd1bf66 51 while(true) {
jppang 0:3add2fd1bf66 52 enMMA8491 = on;
jppang 1:561b57bbbdcc 53
jppang 0:3add2fd1bf66 54 rled = onTime - abs(acc51.getAccX());
jppang 0:3add2fd1bf66 55 gled = onTime - abs(acc51.getAccY());
jppang 0:3add2fd1bf66 56 bled = onTime - abs(acc51.getAccZ());
jppang 0:3add2fd1bf66 57 mag.getValues(&magX, &magY, &magZ);
jppang 1:561b57bbbdcc 58 mplAlt = mpl.getAltimeter();
jppang 1:561b57bbbdcc 59 mplTemp = mpl.getTemperature();
jppang 0:3add2fd1bf66 60
jppang 0:3add2fd1bf66 61 cout << "MMA8451: " << acc51.getAccX() << "\t" << acc51.getAccY() << "\t" << acc51.getAccZ() << "\n\r" << endl;
jppang 0:3add2fd1bf66 62 cout << "MMA8491: " << acc91X << "\t" << acc91Y << "\t" << acc91Z << "\n\r" << endl;
jppang 0:3add2fd1bf66 63 cout << "MMA8491: " << acc91.getAccX() << "\t" << acc91.getAccY() << "\t" << acc91.getAccZ() << "\n\r" << endl;
jppang 0:3add2fd1bf66 64 cout << "MAG3110: " << magX << "\t" << magY << "\t" << magZ << "\n\r" << endl;
jppang 1:561b57bbbdcc 65 mpl.Barometric_Mode();
jppang 0:3add2fd1bf66 66 wait(holdTime);
jppang 0:3add2fd1bf66 67
jppang 0:3add2fd1bf66 68 enMMA8491 = off;
jppang 1:561b57bbbdcc 69
jppang 0:3add2fd1bf66 70 rled = onTime - tsi.readPercentage();
jppang 0:3add2fd1bf66 71 gled = onTime - tsi.readPercentage();
jppang 0:3add2fd1bf66 72 bled = onTime - tsi.readPercentage();
jppang 1:561b57bbbdcc 73 mplPres = mpl.getPressure();
jppang 0:3add2fd1bf66 74
jppang 0:3add2fd1bf66 75 cout << "Touch: " << tsi.readPercentage() << "\n\r" << endl;
jppang 1:561b57bbbdcc 76 cout << "MPL3115: " << mplAlt << "\t" << mplPres << "\t" << mplTemp << "\n\r" << endl;
jppang 1:561b57bbbdcc 77 mpl.Altimeter_Mode();
jppang 0:3add2fd1bf66 78 wait(holdTime);
jppang 0:3add2fd1bf66 79 }
jppang 0:3add2fd1bf66 80 return 0;
jppang 0:3add2fd1bf66 81 }