akcelerometr i czujnik swiatla

Dependencies:   MAG3110 MMA8451Q SLCD- TSI USBDevice mbed

Committer:
zochmen
Date:
Wed Apr 16 12:20:13 2014 +0000
Revision:
0:9f7e045dcaa5
akcelerometr; czujnika swiatla;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zochmen 0:9f7e045dcaa5 1 //USB Academy - Lab2 rev 00
zochmen 0:9f7e045dcaa5 2 //_____________________________________________________________//
zochmen 0:9f7e045dcaa5 3 //======== INCLUDES ===========================================//
zochmen 0:9f7e045dcaa5 4 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯//
zochmen 0:9f7e045dcaa5 5 #include "mbed.h"
zochmen 0:9f7e045dcaa5 6 #include "MMA8451Q.h"
zochmen 0:9f7e045dcaa5 7 //#include "MAG3110.h"
zochmen 0:9f7e045dcaa5 8 //#include "SLCD.h"
zochmen 0:9f7e045dcaa5 9 //#include "TSISensor.h"
zochmen 0:9f7e045dcaa5 10
zochmen 0:9f7e045dcaa5 11 //#include "USBMouse.h" //Lab1-Hid
zochmen 0:9f7e045dcaa5 12 //#include "USBSerial.h" //Lab2-cdc
zochmen 0:9f7e045dcaa5 13 //#include "USBHostMSD.h" //Lab3-Msd
zochmen 0:9f7e045dcaa5 14
zochmen 0:9f7e045dcaa5 15
zochmen 0:9f7e045dcaa5 16
zochmen 0:9f7e045dcaa5 17
zochmen 0:9f7e045dcaa5 18
zochmen 0:9f7e045dcaa5 19 //_____________________________________________________________//
zochmen 0:9f7e045dcaa5 20 //======== DEFINES & VARIABLES ================================//
zochmen 0:9f7e045dcaa5 21 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯//
zochmen 0:9f7e045dcaa5 22 #define LED_ON 0 //outON, pwmON
zochmen 0:9f7e045dcaa5 23 #define LED_OFF 1 //outOFF,pwmOFF
zochmen 0:9f7e045dcaa5 24 DigitalOut gLED(LED_GREEN); //PTD5
zochmen 0:9f7e045dcaa5 25
zochmen 0:9f7e045dcaa5 26 #define rLEDperiod 150 //[ms]
zochmen 0:9f7e045dcaa5 27 PwmOut rLED(LED_RED); //PTE29
zochmen 0:9f7e045dcaa5 28
zochmen 0:9f7e045dcaa5 29 #define PRESS_ON 0
zochmen 0:9f7e045dcaa5 30 #define PRESS_OFF 1
zochmen 0:9f7e045dcaa5 31 DigitalIn sw1(PTC3); //if(sw1) Release else Press
zochmen 0:9f7e045dcaa5 32 DigitalIn sw3(PTC12); //while(sw3); wait for Press
zochmen 0:9f7e045dcaa5 33
zochmen 0:9f7e045dcaa5 34 #define MMA8451_I2C_ADDRESS (0x1d<<1)
zochmen 0:9f7e045dcaa5 35 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
zochmen 0:9f7e045dcaa5 36
zochmen 0:9f7e045dcaa5 37 struct KL46_SENSOR_DATA {
zochmen 0:9f7e045dcaa5 38 int sw1State;
zochmen 0:9f7e045dcaa5 39 int sw3State;
zochmen 0:9f7e045dcaa5 40 float accValX;
zochmen 0:9f7e045dcaa5 41 float accValY;
zochmen 0:9f7e045dcaa5 42 float accValZ;
zochmen 0:9f7e045dcaa5 43 } sensorData;
zochmen 0:9f7e045dcaa5 44 #define sD sensorData
zochmen 0:9f7e045dcaa5 45
zochmen 0:9f7e045dcaa5 46
zochmen 0:9f7e045dcaa5 47
zochmen 0:9f7e045dcaa5 48
zochmen 0:9f7e045dcaa5 49 //_____________________________________________________________//
zochmen 0:9f7e045dcaa5 50 //======== MAIN() =============================================//
zochmen 0:9f7e045dcaa5 51 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯//
zochmen 0:9f7e045dcaa5 52 int main(void)
zochmen 0:9f7e045dcaa5 53 {
zochmen 0:9f7e045dcaa5 54 //---- MAIN/Inits -----------------------------------------//
zochmen 0:9f7e045dcaa5 55
zochmen 0:9f7e045dcaa5 56 sw1.mode(PullUp);
zochmen 0:9f7e045dcaa5 57 sw3.mode(PullUp);
zochmen 0:9f7e045dcaa5 58
zochmen 0:9f7e045dcaa5 59 gLED = LED_ON; //Green LED ON to indicate running/writing
zochmen 0:9f7e045dcaa5 60 rLED = LED_OFF; //Red LED OFF
zochmen 0:9f7e045dcaa5 61 rLED.period(rLEDperiod); //Red LED (rLED) tsi/accZ/mag
zochmen 0:9f7e045dcaa5 62
zochmen 0:9f7e045dcaa5 63 //---- MAIN/Inits (Wait4SW1) -> Start! --------------------//
zochmen 0:9f7e045dcaa5 64
zochmen 0:9f7e045dcaa5 65 //---- MAIN/Inits Interface -------------------------------//
zochmen 0:9f7e045dcaa5 66
zochmen 0:9f7e045dcaa5 67 //---- MAIN/Inits Labs ------------------------------------//
zochmen 0:9f7e045dcaa5 68
zochmen 0:9f7e045dcaa5 69 //---- MAIN/Inits (Wait4SW1) -> Calib. eCompass -----------//
zochmen 0:9f7e045dcaa5 70
zochmen 0:9f7e045dcaa5 71 //---- MAIN/Inits Done! (Wait4SW1) -> MANI/Loop -----------//
zochmen 0:9f7e045dcaa5 72
zochmen 0:9f7e045dcaa5 73 gLED = LED_OFF; //Inits are done
zochmen 0:9f7e045dcaa5 74
zochmen 0:9f7e045dcaa5 75 //---- MAIN/Loop -----------------------------------------//
zochmen 0:9f7e045dcaa5 76 while (1) {
zochmen 0:9f7e045dcaa5 77
zochmen 0:9f7e045dcaa5 78 // MAIN/Loop/Sensing and Storing data -----------------//
zochmen 0:9f7e045dcaa5 79 sD.sw1State = sw1; sD.sw3State = sw3;
zochmen 0:9f7e045dcaa5 80 sD.accValX = acc.getAccX(); //accX[-1..1]->mouse (Lab1)
zochmen 0:9f7e045dcaa5 81 sD.accValY = acc.getAccY(); //accY[-1..1]->mouse (Lab1)
zochmen 0:9f7e045dcaa5 82 sD.accValZ = acc.getAccZ(); //accZ[-1..1]->rLED
zochmen 0:9f7e045dcaa5 83
zochmen 0:9f7e045dcaa5 84 // MAIN/Loop/Processing and Actions -------------------//
zochmen 0:9f7e045dcaa5 85
zochmen 0:9f7e045dcaa5 86 //acc: z-axis 1g min-blinking//acc: z-axis 1g min-blinking
zochmen 0:9f7e045dcaa5 87 rLED = abs(sD.accValZ);
zochmen 0:9f7e045dcaa5 88
zochmen 0:9f7e045dcaa5 89 wait(0.05); //wait 50ms
zochmen 0:9f7e045dcaa5 90 }
zochmen 0:9f7e045dcaa5 91 }
zochmen 0:9f7e045dcaa5 92
zochmen 0:9f7e045dcaa5 93
zochmen 0:9f7e045dcaa5 94
zochmen 0:9f7e045dcaa5 95
zochmen 0:9f7e045dcaa5 96
zochmen 0:9f7e045dcaa5 97 //_____________________________________________________________//
zochmen 0:9f7e045dcaa5 98 //======== FUNC() =============================================//
zochmen 0:9f7e045dcaa5 99 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯//
zochmen 0:9f7e045dcaa5 100