tried out the sensor board by mbed
Dependencies: MAG3110 MMA8451Q MMA8491Q MPL3115A2 TSI TextLCD mbed
main.cpp@0:3add2fd1bf66, 2013-10-10 (annotated)
- Committer:
- jppang
- Date:
- Thu Oct 10 02:23:00 2013 +0000
- Revision:
- 0:3add2fd1bf66
- Child:
- 1:561b57bbbdcc
Tried out by modifying MMA8451Q library
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:3add2fd1bf66 | 48 | mpl.Altimeter_Mode(); |
jppang | 0:3add2fd1bf66 | 49 | |
jppang | 0:3add2fd1bf66 | 50 | while(true) { |
jppang | 0:3add2fd1bf66 | 51 | enMMA8491 = on; |
jppang | 0:3add2fd1bf66 | 52 | rled = onTime - abs(acc51.getAccX()); |
jppang | 0:3add2fd1bf66 | 53 | gled = onTime - abs(acc51.getAccY()); |
jppang | 0:3add2fd1bf66 | 54 | bled = onTime - abs(acc51.getAccZ()); |
jppang | 0:3add2fd1bf66 | 55 | mag.getValues(&magX, &magY, &magZ); |
jppang | 0:3add2fd1bf66 | 56 | |
jppang | 0:3add2fd1bf66 | 57 | cout << "MMA8451: " << acc51.getAccX() << "\t" << acc51.getAccY() << "\t" << acc51.getAccZ() << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 58 | cout << "MMA8491: " << acc91X << "\t" << acc91Y << "\t" << acc91Z << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 59 | cout << "MMA8491: " << acc91.getAccX() << "\t" << acc91.getAccY() << "\t" << acc91.getAccZ() << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 60 | cout << "MAG3110: " << magX << "\t" << magY << "\t" << magZ << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 61 | wait(holdTime); |
jppang | 0:3add2fd1bf66 | 62 | |
jppang | 0:3add2fd1bf66 | 63 | enMMA8491 = off; |
jppang | 0:3add2fd1bf66 | 64 | cout << mpl.getStatus() << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 65 | rled = onTime - tsi.readPercentage(); |
jppang | 0:3add2fd1bf66 | 66 | gled = onTime - tsi.readPercentage(); |
jppang | 0:3add2fd1bf66 | 67 | bled = onTime - tsi.readPercentage(); |
jppang | 0:3add2fd1bf66 | 68 | |
jppang | 0:3add2fd1bf66 | 69 | cout << "Touch: " << tsi.readPercentage() << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 70 | cout << "MPL3115: " << mpl.getAltimeter() << "\t" << mpl.getPressure() << "\t" << mpl.getTemperature() << "\n\r" << endl; |
jppang | 0:3add2fd1bf66 | 71 | wait(holdTime); |
jppang | 0:3add2fd1bf66 | 72 | } |
jppang | 0:3add2fd1bf66 | 73 | return 0; |
jppang | 0:3add2fd1bf66 | 74 | } |