tried out the sensor board by mbed

Dependencies:   MAG3110 MMA8451Q MMA8491Q MPL3115A2 TSI TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 
00002 #include "mbed.h"
00003 #include "TSISensor.h"
00004 #include "MMA8451Q.h"
00005 #include "MMA8491Q.h"
00006 #include "MAG3110.h"
00007 #include "MPL3115A2.h"
00008 #include <cstdlib>
00009 #include <iostream>
00010 
00011 //#define MMA8451_I2C_ADDRESS (0x1d<<1)
00012 //#define MMA8491_I2C_ADDRESS (0x55<<1)
00013 //#define MPL3115A2_I2C_ADDRESS (0x60<<1)
00014 //#define MAG3110_I2C_ADDRESS (0x0E<<1)
00015 
00016 Serial pc(USBTX, USBRX);
00017 
00018 TSISensor tsi;
00019 MMA8451Q acc51(PTE25, PTE24, 0x1D<<1);
00020 MMA8491Q acc91(PTE0, PTE1, 0x55<<1);
00021 MAG3110 mag(PTE0, PTE1, 0x0E<<1);
00022 MPL3115A2 mpl(PTE0, PTE1, 0x60<<1);
00023 
00024 PwmOut rled(LED_RED);
00025 PwmOut gled(LED_GREEN);
00026 PwmOut bled(LED_BLUE);
00027 
00028 DigitalOut enMMA8491(PTA13);
00029 
00030 InterruptIn intMPL3115(PTD3);
00031 InterruptIn intMAG3110(PTD1);
00032 
00033 DigitalIn acc91X(PTD2);
00034 DigitalIn acc91Y(PTD0);
00035 DigitalIn acc91Z(PTD5);
00036 
00037 
00038 int main()
00039 {
00040     using namespace std;
00041     
00042     float onTime = 1.0;
00043     float offTime = 0.0;
00044     float holdTime = 1.0;
00045     bool on = true;
00046     bool off = false;
00047     int magX = 0, magY = 0, magZ = 0;
00048     float mplAlt = .0, mplPres = .0, mplTemp = .0;
00049     mpl.Altimeter_Mode();
00050     
00051     while(true) {
00052         enMMA8491 = on;
00053                 
00054         rled = onTime - abs(acc51.getAccX());
00055         gled = onTime - abs(acc51.getAccY());
00056         bled = onTime - abs(acc51.getAccZ());
00057         mag.getValues(&magX, &magY, &magZ);
00058         mplAlt = mpl.getAltimeter();
00059         mplTemp = mpl.getTemperature();
00060         
00061         cout << "MMA8451: " << acc51.getAccX() << "\t" << acc51.getAccY() << "\t" << acc51.getAccZ() << "\n\r" << endl;
00062         cout << "MMA8491: " << acc91X << "\t" << acc91Y << "\t" << acc91Z << "\n\r" << endl;
00063         cout << "MMA8491: " << acc91.getAccX() << "\t" << acc91.getAccY() << "\t" << acc91.getAccZ() << "\n\r" << endl;
00064         cout << "MAG3110: " << magX << "\t" << magY << "\t" << magZ << "\n\r" << endl;
00065         mpl.Barometric_Mode();
00066         wait(holdTime);
00067 
00068         enMMA8491 = off;
00069         
00070         rled = tsi.readPercentage();
00071         gled = tsi.readPercentage();
00072         bled = tsi.readPercentage();
00073         mplPres = mpl.getPressure();
00074         
00075         cout << "Touch: " << tsi.readPercentage() << "\n\r" << endl;
00076         cout << "MPL3115: " << mplAlt << "\t" << mplPres << "\t" << mplTemp << "\n\r" << endl;
00077         mpl.Altimeter_Mode();
00078         wait(holdTime);
00079     }
00080     return 0;
00081 }